1 17 18 package org.apache.geronimo.console.servlet; 19 20 import java.io.IOException ; 21 22 import javax.servlet.Filter ; 23 import javax.servlet.FilterChain ; 24 import javax.servlet.FilterConfig ; 25 import javax.servlet.ServletException ; 26 import javax.servlet.ServletRequest ; 27 import javax.servlet.ServletResponse ; 28 import javax.servlet.http.HttpServletRequest ; 29 import javax.servlet.http.HttpServletRequestWrapper ; 30 31 49 public class ForwardDispatchFilter implements Filter { 50 51 protected FilterConfig filterConfig; 52 53 public void init(FilterConfig config) throws ServletException { 54 filterConfig = config; 55 } 56 57 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException , ServletException { 58 if (request instanceof HttpServletRequest ) { 59 chain.doFilter(new ForwardRequest((HttpServletRequest )request), response); 60 } else { 61 throw new ServletException ("ServletRequest is not an instance of HttpServletRequest"); 62 } 63 } 64 65 public void destroy() {} 66 67 76 protected class ForwardRequest extends HttpServletRequestWrapper { 77 HttpServletRequest request; 78 public ForwardRequest(HttpServletRequest req) { 79 super(req); 80 request = req; 81 } 82 public String getRequestURI() { 83 return String.valueOf(request.getAttribute("javax.servlet.forward.request_uri")); 84 } 85 public String getContextPath() { 86 return String.valueOf(request.getAttribute("javax.servlet.forward.context_path")); 87 } 88 public String getServletPath() { 89 return String.valueOf(request.getAttribute("javax.servlet.forward.servlet_path")); 90 } 91 public String getPathInfo() { 92 return String.valueOf(request.getAttribute("javax.servlet.forward.path_info")); 93 } 94 public String getQueryString() { 95 return String.valueOf(request.getAttribute("javax.servlet.forward.query_string")); 96 } 97 } 98 } 99 | Popular Tags |