1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
package com.prylos.yapps.helper;
import java.io.IOException;
import javax.faces.webapp.FacesServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CustomFacesServlet extends HttpServlet {
private static final String INIT_PARAM_ERROR_PAGE = "errorPage";
private FacesServlet delegate;
private String errorPage;
public void init(ServletConfig servletConfig) throws ServletException {
delegate = new FacesServlet();
delegate.init(servletConfig);
errorPage = servletConfig.getInitParameter(INIT_PARAM_ERROR_PAGE);
}
public void destroy() {
delegate.destroy();
}
public ServletConfig getServletConfig() {
return delegate.getServletConfig();
}
public String getServletInfo() {
return delegate.getServletInfo();
}
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
try {
delegate.service(request,response);
}
catch(Throwable e) {
redirectToErrorPage((HttpServletRequest) request, (HttpServletResponse) response);
}
}
private void redirectToErrorPage(HttpServletRequest request, HttpServletResponse response) throws IOException {
if (!"".equals(errorPage)) {
response.sendRedirect(request.getContextPath() + errorPage);
}
}
} |
Partager