栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Apache Tomcat上运行JSF项目

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Apache Tomcat上运行JSF项目

那不是问题。这是预期的行为。您只是误解了基本Servlet
API的工作方式。您已经配置了JSF标准

FacesServlet
来侦听URL匹配,
/faces/*
并且已经配置了Apache
MyFaces专门
MyFacesServlet
侦听URls匹配
*.jsf
*.faces


要运行JSF,您必须在浏览器中通过与的映射相匹配的URL打开页面

FacesServlet
。鉴于您已经有了一个
index.jsp
文件,并且上下文路径为
Graph
并且已经在三种不同的URL模式上配置了两个JSF
servlet,您可以通过以下URL打开JSP:

  • http:// localhost:8080 / Graph / faces / index.jsp(调用
    FacesServlet
  • http:// localhost:8080 / Graph / index.jsf(调用
    MyFacesServlet
  • http:// localhost:8080 / Graph / index.faces(调用
    MyFacesServlet

也就是说,您的配置不必要地过于复杂。删除该

MyFacesServlet
条目及其所有关联的URL映射(servlet名称为
faces
)。只需遵循标准
FacesServlet
并使用其映射即可,或更改它。我个人建议使用
*.jsf

<servlet>    <servlet-name>facesServlet</servlet-name>    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>    <load-on-startup>1</load-on-startup></servlet><servlet-mapping>    <servlet-name>facesServlet</servlet-name>    <url-pattern>*.jsf</url-pattern></servlet-mapping>

然后,您可以通过http:// localhost:8080 / Graph /
index.jsf打开页面。


与具体问题无关,您

welcome-file
将无法那样工作。Tomcat会给出一个HTTP
404错误(找不到页面/资源)。您需要指定
index.jsf
为,
welcome-file
并在与相同的文件夹中提供一个具体但 空的
index.jsf
文件
index.jsp
。这样,Tomcat将通过仅调用http:// localhost:8080 /
Graph来欺骗文件存在并显示页面。


如果您担心是否可以通过

*.jsp
扩展名打开JSF页面而导致扩展名,
RuntimeException: FacesContext notfound
并且实际上没有一个JSP文件可以作为纯香草提供,那么可以通过以下安全约束来限制对JSP文件的直接访问在
web.xml

<security-constraint>    <display-name>Restrict direct access to JSP files</display-name>    <web-resource-collection>        <web-resource-name>JSP files</web-resource-name>        <url-pattern>*.jsp</url-pattern>    </web-resource-collection>    <auth-constraint /></security-constraint>

(在JSF 2.0中,不再需要这种方式,使用默认的查看技术Facelets可以映射

FacesServlet
on just
*.xhtml
,这与Facelets文件的默认扩展名相同)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412743.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号