我有一个JSF2应用程序 我可以访问我的申请@ http://tvmteleshopping.com/faces/ui/manageProfile.xhtml
但是当我使用http://tvmteleshopping.com/ui/manageProfile.xhtml时(没有/ faces /) 这个请求由Apache而不是tomcat提供。只呈现任何静态HTML内容。
我使用Apache来提供静态HTML文件和tomcat来提供* .xhtml文件
我的Servlet映射很好: 的的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>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
我的 cp_jkmount.conf 将jsp和jsf文件重定向到tocat服务器。
<IfModule mod_jk.c>
JkMount /*.jsp ajp13
JKMount /*.do ajp13
JKMount /servlet/* ajp13
JKMount /servlets/* ajp13
JKMount /*.xhtml ajp13
JKMount /ui/* ajp13
JKMount /ui/*.xhtml ajp13
JKMount /faces/* ajp13
JKMount /*.jsf ajp13
</IfModule>
我有两个 cp_jkmount.conf ,一个在/usr/local/apache/conf/userdata/std/1/myuser/mysite.com/cp_jkmount.conf
和一个 的/ usr /本地/ Apache / CONF /用户数据/ STD / 2 /myuser/mysite.com/cp_jkmount.conf
我的两个cp_jkmount都是一样的。 我不知道为什么我在两个不同的目录中有两个cp_jkmount.conf。
P.S:我的应用程序适用于那些位于根文件夹中的.xhtml文件 http://tvmteleshopping.com/index.xhtml
为此我认为我的cp_jkmout.conf工作正常。但对于'ui'文件夹后面的那些.xhtml文件,它不起作用。
答案 0 :(得分:2)
为什么不使用
http://tvmteleshopping.com/manageProfile.jsf
而不是
http://tvmteleshopping.com/ui/manageProfile.xhml
或其他任何超链接?
让框架为您找到页面,而不是明确提到路径。