zoukankan      html  css  js  c++  java
  • 获取sevlet response值

    调用:

    PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8"));
    SimpleWrapper wrapper = new SimpleWrapper(response);
    /* サーブレットから出力される HTML を取得 */
    String outHtml = wrapper.toString();

    System.out.println("=" + outHtml);

    try {
    wrapper.finalize();
    } catch (Throwable e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    实现:

    ------------------------------------------------------------------------

    SimpleWrapper.java

    package com.autocredit.web.filter;

    import java.io.CharArrayWriter;
    import java.io.PrintWriter;

    import javax.servlet.ServletOutputStream;
    import javax.servlet.WriteListener;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpServletResponseWrapper;

    public class SimpleWrapper extends HttpServletResponseWrapper {

    private CharArrayWriter caw = null;

    public SimpleWrapper(HttpServletResponse response) {
    super(response);
    caw = new CharArrayWriter();
    }

    public String toString() {
    /* CharArrayWriter の toString を呼び出します */
    return caw.toString();
    }

    public PrintWriter getWriter() {
    /* CharArrayWriter で PrintWriter を返却します。 */
    return new PrintWriter(caw);
    }

    public ServletOutputStream getOutputStream() {
    /* SampleServletOutputStream を返却します。 */
    return new SampleServletOutputStream(caw);
    }

    class SampleServletOutputStream extends ServletOutputStream {

    private CharArrayWriter buffer = null;

    public SampleServletOutputStream(CharArrayWriter charArrayWriter) {
    super();
    buffer = charArrayWriter;
    }

    public void write(int c) {
    buffer.write(c);
    }

    @Override
    public boolean isReady() {
    // TODO Auto-generated method stub
    return false;
    }

    @Override
    public void setWriteListener(WriteListener writeListener) {
    // TODO Auto-generated method stub

    }
    }
    }

  • 相关阅读:
    golang模板语法简明教程(后面有福利哦)
    C#实现jQuery的方法连缀
    静态构造函数
    MVC4 中使用 Area 和 注意的地方
    APS.NET MVC4生成解析二维码简单Demo
    net mvc 利用NPOI导入导出excel
    Ambari DataNode Start Failure
    Java的三种代理模式
    清理ambari安装的hadoop集群
    【小型系统】简单的刷票系统(突破IP限制进行投票)
  • 原文地址:https://www.cnblogs.com/adolfmc/p/5130416.html
Copyright © 2011-2022 走看看