转发来自筛选器的请求
我需要从http转发我的请求(到jsp,但我认为这无关紧要)。筛选原始请求的 URI 是否通过我的筛选器运行的某些验证。
我发现这个页面面临类似的任务
我仍然需要弄清楚以下几点:
我如何在方法中获取ServletContext(为了调用转发API)不重新对齐
doFilter()
getServletContext()
我是否必须在前锋之前,之后向前还是根本不进行?此外,如果我的验证通过或仅在验证失败时才调用(因为在这种情况下,我不会继续转发我的页面)?
call chain.doFilter()
chain.doFilter()
这个问题实际上延续了这个线程,更明显,代码可能是这样的:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if (request instanceof HttpServletRequest) {
HttpServletRequest httpServletRequest = ((HttpServletRequest)request);
String requestURI = httpServletRequest.getRequestURI();
String contextPath = httpServletRequest.getContextPath();
if (<this is my implementation of the validation of this filter>){
getServletContext().getRequestDispatcher(
"MySpecific.jsp").forward(request,response);
}
}
chain.doFilter(request,response);
}