Guest User

Untitled

a guest
Aug 15th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. Servlets and JSPs. A simple request?
  2. request.getRequestDispatcher("/WEB-INF/content" + request.getPathInfo()).forward(request, response);
  3.  
  4. <filter>
  5. <filter-name>ProcessFilter</filter-name>
  6. <filter-class>my.filter.ProcessFilter</filter-class>
  7. </filter>
  8.  
  9. <!-- Map all ".jsp" that should go through the filter-->
  10. <filter-mapping>
  11. <filter-name>ProcessFilter</filter-name>
  12. <url-pattern>/content/*.jsp</url-pattern>
  13. </filter-mapping>
  14.  
  15. <!-- If you have Any servlets that needs to go through ProcessFilter -->
  16. <filter-mapping>
  17. <filter-name>ProcessFilter</filter-name>
  18. <servlet-name>MyServlet</servlet-name>
  19. </filter-mapping>
  20.  
  21. public class ProcessFilter extends Filter {
  22.  
  23. public final void doFilter(ServletRequest request, ServletResponse response,
  24. FilterChain filterChain)
  25. throws ServletException, IOException {
  26.  
  27. if (!(request instanceof HttpServletRequest) ||
  28. !(response instanceof HttpServletResponse)) {
  29. throw new ServletException("OncePerRequestFilter just supports HTTP requests");
  30. }
  31. HttpServletRequest httpRequest = (HttpServletRequest) request;
  32. HttpServletResponse httpResponse = (HttpServletResponse) response;
  33.  
  34. String alreadyFilteredAttributeName = "ALREADY_PROCESSED_BY_PROCESS_FILTER";
  35. if (request.getAttribute(alreadyFilteredAttributeName) != null) {
  36. // Proceed without invoking this filter...
  37. filterChain.doFilter(request, response);
  38. }
  39. else {
  40. // Do invoke this filter...
  41. request.setAttribute(alreadyFilteredAttributeName, Boolean.TRUE);
  42. try {
  43. doFilterInternal(httpRequest, httpResponse, filterChain);
  44. }
  45. finally {
  46. // Remove the "already filtered" request attribute for this request.
  47. request.removeAttribute(alreadyFilteredAttributeName);
  48. }
  49. }
  50. }
  51.  
  52. protected void doFilterInternal(
  53. HttpServletRequest request, HttpServletResponse response,
  54. FilterChain filterChain) {
  55. throws ServletException, IOException
  56. /*
  57. *
  58. *
  59. * Put your processing logic here
  60. *
  61. *
  62. */
  63. }
  64.  
  65. }
Add Comment
Please, Sign In to add comment