Just call as RequestDispatcher#forward()usual. All servlets intercept and sent requests. You just need to make sure that the direct path matches the map FacesServlet. Assuming you matched it on *.xhtml, this should do:
request.getRequestDispatcher("/page.xhtml").forward(request, response);
If necessary, the page can be placed in a folder /WEB-INFif you want end users to not be able to open it directly without first calling the servlet.
request.getRequestDispatcher("/WEB-INF/page.xhtml").forward(request, response);
source
share