调用:

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

}
}
}

获取sevlet response值的更多相关文章

  1. C#获取存储过程返回值和输出参数值的方法

    //转自网络,先留个底 1.获取Return返回值 //存储过程 //Create PROCEDURE MYSQL // @a int, // @b int //AS // return @a + @ ...

  2. Ksoap2 获取webservice返回值的getResponse() 出现的问题

    今天写了一个判断记录重复的webservcie 返回布尔类型 // 判断序列号在数据库是否重复 public static boolean isSerialNumExist(String serial ...

  3. 根据Excel列类型获取列的值

    using System.Data; using System.IO; using System.Text; using System.Web; using NPOI.SS.UserModel; us ...

  4. asp 获取url 返回值 和 对json 返回值的处理

    Function GetHttpPage(HttpUrl,endoce) If endoce = "" Then endoce = "GB2312" If Is ...

  5. jquery 获取cookie的值 中文乱码的问题

    1.说明 测试环境asp.net mvc4,前台获取cookie的值需要引用js文件:  <script src="JS/jquery.cookie.js"></ ...

  6. ASP.NET中图片验证码与js获取验证码的值

    现在的程序中,为了防止用户恶意点击,我们一般都会加上验证,现在比较普遍的是加上图片验证码或者手机短信验证.验证码一般都是防机器不防人,有效的防止了恶意点击. 那么在webform中如何生成动态的图片验 ...

  7. 在spring的业务层获取request,response

    1.直接通过controller层获取到传输到业务层2.SpringMVC提供的RequestContextHolder可以直接获取代码: RequestAttributes requestAttri ...

  8. grails项目获取前后台的值

    grails项目中前台传值给后台: 加入我有a.gsp这个页面,a.gsp中有如下代码: 姓名:<input type="text" name="xing" ...

  9. 在java中获取attr的值

    首先说如何获取已经在style里面定义好的attr的值,以colorPrimary为例: TypedValue value = new TypedValue(); mContext.getTheme( ...

随机推荐

  1. STM32F103 TIM3定时器初始化程序

    //TIM3 分频 #define TIM3_DIV1 (1-1) #define TIM3_DIV18 (18-1) #define TIM3_DIV72 (72-1) //************ ...

  2. AngularJS如何编译和呈现页面

    AngularJS如何编译和呈现页面? 页面加载,首先加载静态DOM,AngularJS随即加载,并寻找在页面的ng-app,然后开始编译所有moudlue内的所有service, controlle ...

  3. utf-8与utf-8(无BOM)的区别

    BOM——Byte Order Mark,就是字节序标记   在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF.而FFFE ...

  4. 转:iOS应用程序生命周期(前后台切换,应用的各种状态)详解

    iOS应用程序生命周期(前后台切换,应用的各种状态)详解 分类: iOS开发进阶2012-10-08 15:35 42691人阅读 评论(30) 收藏 举报 iosapplication任务anima ...

  5. 应收事物处理删除 SQL 语句

    /* Formatted on 2018/3/15 10:07:48 (QP5 v5.256.13226.35538) */ --组织表 SELECT * FROM hr_organization_u ...

  6. 设计原则:多使用Specialized Types

    使用Specialized Types的好处: 可以服用:验证.计算. 更高的编程层次. 容易在UI层封装组件.

  7. Linux内核:分析coredump文件 - 内核代码崩溃

    转自:http://blog.csdn.net/guowenyan001/article/details/12975221 一.分析Core文件 1.1 找到core文件目录,启动mycrash:my ...

  8. EditText中文文档

    感谢农民伯伯的翻译文:http://www.cnblogs.com/over140/archive/2010/09/02/1815439.html 属性名称 描述 android:autoLink 设 ...

  9. [Hook] 免root,自己进程内,startActivity hook的几种姿势

    首先关于startActivity 我们平时会经常使用到 在activity内 直接startActivity(intent) 其实这里还有一种start方式 我们可能没怎么用过 getApplica ...

  10. Visual Studio Code compile error - launch.json must be configured...

    一.在最初使用VS Code创建控制台应用时, 使用VS Code调试工具默认会跑出异常: launch: program 'launch: launch.json must be configure ...