2011-03-28 126 views
1

我试图用JSF制作HellowWorld应用程序。我制作Dynamic web proj,选择JSF v 2.0进行配置,然后禁用库配置。然后我将jsf-api.jar,jsf-impl.jar,jstl-api.jar和jstl-impl.jar添加到我的lib文件夹中。然后创建简单的jsp,当试图启动它时,我得到The requested resource() is not available.我认为这是在web.xml中映射Faces Servlet的东西。JSF HelloWorld请求的资源()不可用

回答

2

您需要确保FacesServletweb.xml和请求URL(出现在浏览器地址栏中)映射匹配FacesServlet<url-pattern>

例如,如果你在web内容有simple.jsp文件和FacesServlet被映射在*.jsf<url-pattern>,那么你需要通过http://localhost:8080/contextname/simple.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> 

无关到具体的问题:为什么你会永远喜欢旧版/气馁JSP在其现代后继的Facelets这是标准视图技术,因为JSF 2.0吗?

1

这里的问题是jsp文件不应该存在于WEB-INF文件夹内,将它移动到web内容下。 这将解决您的问题。