我正在制作一个简单的应用程序来测试JSF框架。
这实际上是web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<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>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.jsp</welcome-file>
</welcome-file-list>
</web-app>
和faces.config.xml:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<!-- =========== FULL CONFIGURATION FILE ================================== -->
<faces-config>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>avanti</from-outcome>
<to-view-id>/pagina1.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>utente</managed-bean-name>
<managed-bean-class>myPack.user</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
但不幸的是它不起作用: 错误404 description所请求的资源(/ JSFTutorial /)不可用。
当然我的网页是: 源包/ myPack / user.java Web Pages / index.jsp和Web Pages / pagina1.jsp
有什么想法吗?我错了什么?再见
答案 0 :(得分:1)
在这里,
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
您已将FacesServlet
配置为挂钩与url-pattern
*.faces
匹配的请求。因此,要打开例如index.jsp
,您必须按http://example.com/context/index.faces打开它。
在这里,
<welcome-file-list>
<welcome-file>faces/index.jsp</welcome-file>
</welcome-file-list>
您已将欢迎页面配置为侦听错误的网址。设为/index.faces
。
顺便说一句,*.jsf
是一种更常见的网址格式。我还建议查找针对JSF 2.0的最新教程/书籍。 JSF 1.1已经超过6年了,事情发生了很大变化。