1

我在 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”。

4

1 回答 1

0

您可以只设置<welcome-file>一个 servlet URL。

例如

<welcome-file>/index</welcome-file>

@WebServlet("/index")
于 2013-05-31T12:18:42.143 回答