论坛首页 Java企业应用论坛

服务器端如何修改http请求头的内容?

浏览 5629 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-08-30  
现在有一个问题,我想在服务器端响应请求前修改http请求头(不是响应头)中的内容,如用filter,但好像没有这样的api来完成工作,response有setHeader方法,request没有,望达人指点。
   发表时间:2006-08-30  
不知道这个东西么?                                  

   javax.servlet.http.HttpServletRequestWrapper


  public void doFilter(ServletRequest request, ServletResponse response,
                       FilterChain filterChain); {
    try {
      javax.servlet.http.HttpServletRequestWrapper reqw = new javax.servlet.
          http.HttpServletRequestWrapper(
              (HttpServletRequest); request
          ); {
        public String getHeader(String name); {
          if ("user-agent".equalsIgnoreCase(name);); {
            return "Firefox"; //一律当作firefox
          }
          return super.getHeader(name);;
        }
      };
      filterChain.doFilter(request, response);;
    }
    catch (ServletException sx); {
      filterConfig.getServletContext();.log(sx.getMessage(););;
    }
    catch (IOException iox); {
      filterConfig.getServletContext();.log(iox.getMessage(););;
    }

0 请登录后投票
   发表时间:2006-08-30  
谢谢!我试了一下,这样做在
request.getRequestDispatcher().forward() 时可以,但是在
response.sendRedirect() 时就不行了,我的想法是写入 httphead 后,再跳转到另一个应用去,不知道有没有什么办法。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics