调用:

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. Javascript数据模型

    本文主要描述Javascript的数据模型,即对Javascript所支持的数据类型的一个全局概缆.文章比较的理论化,非常深入,因此不易理解,但务必对数据模型有一个映象,因为他是理解Javascrip ...

  2. 清除数据库表、外键、存储过程SQL

    1.删除所有外键 )    begin         exec(@c1)        fetchnextfrom c1 into@c1    endclose c1deallocate c1 2. ...

  3. Odoo(OpenERP)配置文件openerp-server.conf详解

    原文地址:http://blog.csdn.net/wangnan537/article/details/42283465 [options] ; addons模块的查找路径 addons_path ...

  4. C#中的Hashtable

    richTextBox1.Text = ""; Hashtable ht = new Hashtable(); ht.Add("); ht.Add("); ht ...

  5. 【linux】linux查看资源任务管理器,使用top命令 + 查看java进程下的线程数量【两种方式】

    ================================ 详解:https://blog.csdn.net/achenyuan/article/details/77867661 ======= ...

  6. Unity中的内存泄漏

    在对内存泄漏有一个基本印象之后,我们再来看一下在特定环境——Unity下的内存泄漏.大家都知道,游戏程序由代码和资源两部分组成,Unity下的内存泄漏也主要分为代码侧的泄漏和资源侧的泄漏,当然,资源侧 ...

  7. UnityEngine.Time类属性解析

    UnityEngine.Time类包含的属性: public static int captureFramerate { get; set; } public static float deltaTi ...

  8. 你真的懂Handler.postDelayed()的原理吗?

    转载自http://www.dss886.com/2016/08/17/01/   阅读之前先问大家一个问题:Handler.postDelayed()是先delay一定的时间,然后再放入messag ...

  9. linux 调用栈打印

    NDK开发的代码打印方式 #include <utils/CallStack.h> extern "C" void dumping_callstack(void);vo ...

  10. [Web 前端] 你不知道的 React Router 4

    cp from https://segmentfault.com/a/1190000010718620 几个月前,React Router 4 发布,我能清晰地感觉到来自 Twitter 大家对新版本 ...