相关疑难解决方法(0)

捕获并记录响应正文

我有一个servlet来处理某些HTTP请求和响应.我想在发送回客户端之前记录响应正文.有没有什么办法可以在HttpServletResponse从servlet 作为对象发送之前捕获响应主体?

java servlets

29
推荐指数
2
解决办法
5万
查看次数

ServletResponse和HttpServletResponseWrapper之间的区别?

我是servlet的新手,并阅读有关过滤器和包装器的一些文本.我可以理解过滤器,但对包装器感到困惑.在书中,作者给出了一个例子:

如果没有包装:

public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain)
            throws IOException, ServletException {

        String name = request.getParameter("name").trim();

        try {
            chain.doFilter(request, response);
            PrintWriter out = response.getWriter();
            if (name.length() == 0) {
                out.println("Some message");
                out.println("</body>");
                out.println("</html>");
                out.close();
            }
        } catch (Throwable t) {
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果是包装:

 public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain)
            throws IOException, ServletException {

        String name = request.getParameter("name").trim();

        HttpServletResponse httpRes = (HttpServletResponse) response;
        HttpServletResponseWrapper resWrapper = new HttpServletResponseWrapper(httpRes);
        try {
            chain.doFilter(request, response);

            PrintWriter out = resWrapper.getWriter(); // …
Run Code Online (Sandbox Code Playgroud)

java servlets wrapper servlet-filters

13
推荐指数
2
解决办法
2万
查看次数

如何从Servlet 2.3或2.5中的响应中获取头

我知道v3.0有方法getHeader()但2.3怎么样?也许有可能从蒸汽中获得?

更新:

实际上,我需要HTTP响应头RESTful应用程序.出于某种原因,我已决定在servlet过滤器中执行此操作...但没有成功...解决方案@javax.ws.rs.core.Context HttpHeaders requestHeaders.

例如,

@javax.ws.rs.GET
public String invoceRestMethod(@Context HttpHeaders requestHeaders){
      MultivaluedMap<String, String> map = headers.getRequestHeaders();
      for (Map.Entry<String, List<String>> entry : map.entrySet()) {
      //  processing header.... 
      }     
}
Run Code Online (Sandbox Code Playgroud)

也许会帮助某人.但无论如何,对于Servlet问题仍然是开放的

java servlets java-ee servlet-filters servlet-2.5

4
推荐指数
1
解决办法
4283
查看次数

标签 统计

java ×3

servlets ×3

servlet-filters ×2

java-ee ×1

servlet-2.5 ×1

wrapper ×1