我在Jboss AS 7上使用JSF 2.我想使用一些代码来决定显示哪个主页(/)。我有一个可以呈现正确页面的servlet(/ homePage),所以如果我去/ homePage /它运行良好,但我希望能够在/ url上做到这一点。如何设置欢迎页面以使用servlet而不是页面?
我已经尝试构建一个监听所有请求的servlet,并且呈现正确的页面是请求是(/),但JSF似乎试图在servlet之前解析welcome文件。
我意识到我可以从主页(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和&#34; ----------主页服务呼叫&#34;从未打印过。
答案 0 :(得分:0)
您只需将<welcome-file>
设置为servlet URL即可。
E.g。
<welcome-file>/index</welcome-file>
与
@WebServlet("/index")