当前位置: 首页 > 知识库问答 >
问题:

JSF项目可以在不使用servlet的情况下运行吗?

盛琪
2023-03-14

HttpServletRequest请求,HttpServletResponse响应

但是在典型的JSF项目中,我根本没有看到这些类的使用,相反,我看到的只是托管bean和Facelet页面。

但是,在web.xml中,我看到:

<servlet>
   <servlet-name>Faces Servlet</servlet-name>
   <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
   <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>

共有1个答案

张昊穹
2023-03-14

正如其他人所指出的,JSF本身的实现与Servlet技术有着重要的联系。Faces Servlet本身就是一个Servlet。

请注意,您所展示的web.xml中的映射对于运行在Java EE6(特别是Servlet3)容器上的JSF2.1实现是可选的。在这种情况下,扩展.jsf.Faces以及路径Faces\*将自动映射到Faces Servlet,从而映射到页面。

JSF本身确实尝试从Servlet技术中抽象出来。例如,ExternalContext类型从“其包含的应用程序环境的性质”中抽象出来。实际上,这意味着它兼容servlet和portlet。但是,在当前版本中至少需要这两个环境中的一个。

 类似资料:
  • 问题内容: 有没有一种方法可以只运行一个页面,以便我可以看到生成的html(和css),就像它对用户的外观一样,即使它实际上是无法正常工作的呢?独立的JSF页面。我想回顾一下我是如何设置表单的,以便在对表单的字段进行实际编码之前,从用户角度看它们是否有意义。我正在使用maven和netbeans,但不确定后者是否相关。 问题答案: 如果使用的是JSF2 Facelets,则可以仅使用纯HTML设计

  • 问题内容: 我喜欢javascript,所以当我听说基于V8的Javascript运行时Node.js时,我感到非常兴奋。我更喜欢用Javascript编写外壳脚本。我的问题是:如何在不调用的情况下运行脚本?在我编写完脚本之后,它会尝试作为bash脚本而不是Node.js javascript运行。 问题答案: 使您当前的外壳开始bash的原因是您当前的外壳(bash?)不知道如何处理file.j

  • 我已经用php artisan serve创建了一个laravel 5.0项目,现在我需要知道如何在不启动php artisan serve的情况下运行laravel 5.0项目,我已经浏览了很多网站,没有人帮我。。

  • 问题内容: 我找不到一个提交不使用不推荐使用的类的Hadoop作业的示例。 尚未弃用的,仍然仅支持带有参数的方法。 有人可以给我指出一个Java代码示例,该示例仅使用类(而不是)提交Hadoop map / reduce作业,而不是使用包吗? 问题答案: 希望对您有所帮助

  • 问题内容: 是否可以在不实现Comparable类的情况下使用Comparator?例如,如果我有以下内容: 然后可以使用comp比较两个对象吗?如果是这样,我将如何去做? 谢谢… 问题答案: 你不用。您使用。 是由对象实现的接口,用于指定它们与相同类型的其他对象的排序顺序。 是一个通用接口,只需要两个对象并告诉您它们的排序顺序。因此,您可以执行以下操作: 与: 和: