如何为HelloWorld JSF配置web.xml

时间:2013-02-18 23:25:23

标签: jsf web.xml

我在使用JSF

的简单HelloWorld项目时遇到了麻烦

我猜这个问题存在于我的web.xml文件(下面)中,除了welcome-file-list标签和子项外,所有内容都是自动生成的。

我的主要问题是:
1)我如何知道url将启动用户导航web-app的过程?
2)如何在运行应用程序时更改默认URL(我注意到在web.xml中更改了display-name标签阻止它显示为/ Hello /)?
3)我是否需要在welcome-file-list中的web.xml中注册jsps? 4)我是否需要在其他地方注册?

#######Behavior########

当我右键单击项目(名为Hello) - >运行as->运行在服务器上 - >选择JBoss7 我被定向到localhost:8080 / Hello /页面并收到404错误

我希望能够导航到localhost:8080 / faces / HelloWorld.jsp页面来查看该文件,但这样做会导致404错误

我可以通过导航到localhost获得500错误:8080 / Hello / HelloWorld.jsp

$ JBossHome / standalone / deployments中有Hello.war和Hello.war.deployed,而不是Hello.war.failed

#####Notes######

*项目中没有其他jsp,没有导航规则(我假设我不需要/只需要一个jsp) *我正在使用JBoss7和Eclipse,除了JSF之外,我没有添加任何“项目方面” *该项目是一个“动态网络项目” *我正在使用JSF 2.1.6 Mojarra

我确定我需要发布其他信息/日志文件等。请告诉我

#################################
##########HelloWorld.jsp#########
###note this is within body tag##
###all autogenerated stuff I ####
#####didn't bother to post#######

<f:view>
    <h:form>
        Hello, World!
    </h:form>
</f:view>




#################################
#############web.xml#############
#################################

    <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>Hello</display-name>
  <context-param>
    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
  </context-param>
  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>resources.application</param-value>
  </context-param>
  <listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  </listener>
  <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> 
    <welcome-file-list>
        <welcome-file>/HelloWorld.jsp</welcome-file>
    </welcome-file-list>
</web-app>

0 个答案:

没有答案