我正在尝试在运行动态Web项目后显示欢迎页面。 谷歌搜索我发现了很多教程,但我找不到解决方案。 我分享:
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_3_0.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID"
version="3.0">
<display-name>HiSpring</display-name>
<welcome-file-list>
<welcome-file>welcome.xhtml</welcome-file>
</welcome-file-list>
<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>
</web-app>
点击HiSpring > Run As > Run on Server
后,我应该有
这个网址:http://localhost:8080/HiSpring/faces/welcome.xhtml
。但是,我得到了http://localhost:8080/HiSpring/
。
答案 0 :(得分:0)
根据你的web.xml,tomcat会查找/welcome.xhtml
并且不知道这可能在/faces/welcome.xhtml
中。网址很好(如果welcome.xhtml在/
)
可能有一个更优雅的JSF版本(我不是一个JSF人) - 我想到的一些可能的解决方案将是
*.xhtml
从路径中删除/faces/
部分(判断这是否是正确的JSF - 如果不是则发表评论,我将删除此部分)index.html
声明为另一个欢迎文件),如下例所示:<html>
<head><title>Redirection</title>
<meta http-equiv="refresh" content="2;URL=/faces/">
<!-- 2 means 2 seconds delay. Change as you like -->
</head>
<body>
<p>redirecting to application. <a href="/faces/">Click here if it doesn't work</a></p>
</body>
</html>