【发布时间】:2015-06-20 15:16:59
【问题描述】:
我最近尝试使用 WildFly 而不是 TomEE 作为我的基于 JSF 的 Web 应用程序的容器。这是一个基本的应用程序,提供一个页面,其中有几个可以保存到数据库的字段。
它在 TomEE 中运行良好,但自从我尝试使用 Maven 构建并部署到 WildFly 后,我运气不佳。
当我尝试导航到第一页 (http://localhost:8080/firstflight-0.0.1-SNAPSHOT/firstflight/hello.jsf) 时,WildFly 只是返回一个空白页,并打印出以下文本:
/firstflight-0.0.1-SNAPSHOT/firstflight/hello.jsp
当然,人们注意到的第一件事是它似乎找到了该页面,因为扩展名是jsp,而不是用于请求该页面的jsf。请求一个不存在的页面也会产生 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/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_2_5.xsd" id="WebApp_ID" version="2.5">
<welcome-file-list>
<welcome-file>/hello.xhtml</welcome-file>
</welcome-file-list>
<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>*.jsf</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>xhtml</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
</web-app>
【问题讨论】:
-
你能发布你的整个 web.xml 吗?
-
如果你创建一个 3.0 的 web.xml 而不是 2.5 的呢?