我在 Jboss AS 7 上使用 JSF 2。我想使用一些代码来决定显示哪个主页 (/)。我有一个 servlet (/homePage) 可以呈现正确的页面,所以如果我去 /homePage/ 它工作得很好,但我希望能够在 / url 上做到这一点。如何将欢迎页面设置为使用 servlet 而不是页面?
我尝试构建一个侦听所有请求的 servlet,并在请求是 (/) 时呈现正确的页面,但 JSF 似乎试图在 servlet 之前解析欢迎文件。
我意识到我可以从主页 (index.xhtml) 重新定向到 /homePage,但这会增加浏览器的往返次数,并使 URL 看起来很难看。
谢谢你的帮助!
更新....这是一个从未调用过的 servlet
@WebServlet("/homePage")
public class HomePageServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("----------HOME PAGE SERVLET CALLED");
RequestDispatcher dispatcher = null;
dispatcher = request.getRequestDispatcher(HOME_PAGE1);
dispatcher.forward(request, response);
}
}
这是我的 web.xml 欢迎文件列表
<welcome-file-list>
<welcome-file>/homePage</welcome-file>
</welcome-file-list>
浏览器收到 404 并且永远不会打印“---------HOME PAGE SERVLET CALLED”。