0

[如果它有帮助,我正在阅读 Core JavaServer Faces (3rd edition) 这本书,并且在第 12 页左右。]

我正在尝试使用 GlassFish 启动 JSF 应用程序,但遇到了我无法识别的问题。我可以正确启动 GlassFish 并看到书中描述的屏幕,所以看起来没问题。然后,我将创建并放置在包含此项目的 src 和 web 目录的目录中的文件 login.war 复制到 GlassFish 的 domain/domain1/autodeploy 目录中。

在 Chrome 中转到http://localhost:8080显示正确的屏幕;但是http://localhost:8080/login,正如书中所述,对应于我创建的 login.xhtml 页面,它只返回一个 HTTP 404 错误,告诉我“请求的资源 () 不可用”。

我的 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/javee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/nx/javaee
    http://java.sun.com/xml/ns/javaee/we-app_2_5.xsd"
version="2.5">
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-patter>/faces/*</url-patter>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
</context-param>
</web-app>

任何人都可以提供任何帮助吗?我正在使用 Eclipse IDE,我的 GlassFish 版本,如上述错误页面中所述,是 3.1.2.2。如果还有更多有用的信息,例如目录结构,请向我索取。

谢谢,康纳。

4

1 回答 1

1

如果您context-root需要login使用http://localhost:8080/login. 有几种方法可以做到这一点,例如检查这个Glassfish 技巧或在 Eclipse IDE 中,在项目属性中单击 Web 项目设置并输入应用程序的新上下文根。这不是一个错误,因此在您将在服务器上运行多个应用程序之前,如果您愿意,您可以保持这种方式。

于 2013-05-28T15:26:42.753 回答