Java 如何在Servlet过滤器中重定向到当前页面?

Java 如何在Servlet过滤器中重定向到当前页面?,java,redirect,servlet-filters,Java,Redirect,Servlet Filters,我有一个页面说:/myapp/test.jsp?queryString=Y。 筛选器需要重定向到当前页面。 它应该转到/myapp/test.jsp(不带查询字符串)。 下面的内容似乎将它带到了上下文根:/myapp。 我正在用WAS6.1跑步 public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {

我有一个页面说:/myapp/test.jsp?queryString=Y。 筛选器需要重定向到当前页面。 它应该转到/myapp/test.jsp(不带查询字符串)。 下面的内容似乎将它带到了上下文根:/myapp。 我正在用WAS6.1跑步

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpReq = (HttpServletRequest) req;
        HttpServletResponse httpResp = (HttpServletResponse) resp;
{
   boolean blnNeedToRedirect = true;
   if (blnNeedToRedirect) {
      httpResp.sendRedirect(".");
      return;
   }

   chain.doFilter(req, resp);
}
使用。这应该适合您:

httpResp.sendRedirect(httpReq.getRequestURI());
getRequestURI()为您提供servlet路径,它的工作原理如下。 要重定向到同一页面,请运行下一个命令:

((HttpServletResponse) httpResp).sendRedirect(httpResp.encodeRedirectURL(httpReq.getRequestURI()));
另一个选项是添加标题
位置
,状态代码为302,如下所示:

((HttpServletResponse) httpResp).setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); 
((HttpServletResponse) httpResp).addHeader("Location", request.getRequestURL().toString());
“请求页面”不也是“同一页面”吗?请举例说明。