java web中,重写response应答体(响应体)
/*** * Send http request * * @param response * @param bytes :字节数组 * @param contentType :if is null,default value is "application/json" * @param encoding : 编码方式 * @throws IOException */ public static void sendRequestWriter(HttpServletResponse response, byte[] bytes, String contentType,String encoding) throws IOException { response.setContentLength(bytes.length); if (contentType == null) { contentType = "application/json"; } response.setContentType(contentType); PrintWriter printer = response.getWriter(); printer.println(new String(bytes,encoding)); printer.flush(); printer.close(); } /*** * * @param response * @param sendData :<code>String</code> * @param contentType * @param encoding : such as GBK/utf-8 * @throws IOException */ public static void sendRequestWriter(HttpServletResponse response, String sendData, String contentType,String encoding) throws IOException { // response.setContentLength(sendData.getBytes(encoding).length); byte[]bytes=sendData.getBytes(encoding); sendRequestWriter(response, bytes, contentType, encoding); }
以上方法都是使用PrintWriter来写入response的。
下面的方式是使用流的方式写入response:
/*** * test ok * @param response * @param bytes * @param contentType * @param encoding * @throws IOException */ public static void sendRequestStream(HttpServletResponse response, byte[] bytes, String contentType) throws IOException { response.setContentLength(bytes.length); if (contentType == null) { contentType = "application/json"; } response.setContentType(contentType); ServletOutputStream sos = response.getOutputStream(); sos.write(bytes, 0, bytes.length); sos.flush(); sos.close(); }
应用:用于在网关中进行请求转发和响应。
见附件中的类com.common.util.SystemUtil
相关推荐
在这个压缩包“servlet_filter.rar”中,我们聚焦于Servlet Filter的重写以及如何利用它来解决乱码问题和过滤敏感字符。 首先,让我们深入理解Servlet Filter的工作原理。Servlet Filter是一个实现了`javax.servlet...
在JavaWeb开发中,URL重写和Filter是两个非常重要的概念。URL重写常用于实现友好的URL结构,提升用户体验,而Filter则是JavaWeb中的一种拦截机制,可以对请求进行预处理或后处理。本篇将详细讲解如何在JavaWeb中使用...
在 Java 中,有多种方式可以实现 URL 重写,包括使用 WEB 服务器自身提供的组件和使用开源项目 UrlRewrite Filter。 UrlRewrite Filter 是一个基于 Java 的开源项目,它提供了一种灵活的方式来实现 URL 重写。它...
在JSP环境下,URL重写通常通过在Web应用的`web.xml`配置文件中定义过滤器(Filter)来实现。具体而言,通过使用特定的过滤器,如Tuckey的`UrlRewriteFilter`,可以对传入的请求URL进行解析和修改,使其符合预设的...
下面我们将详细探讨如何在Struts2框架中实现URL重写。 首先,了解URL重写的基本概念。URL重写是通过改变HTTP请求URL的外观,而不会改变其实际的行为。这通常涉及到在URL中添加或修改查询字符串,或者将路径信息改写...
本文将详细介绍如何利用Ajax重写方法配合后台Filter来实现这种情况下的状态检测和跳转。 一、Ajax重写方法 在前端,我们需要重写Ajax请求以处理特定的HTTP状态码。通常,当我们发送一个Ajax请求时,我们关注的是...
3. **配置Filter**:在`web.xml`中配置自定义的Filter,确保其在请求处理链中执行。 4. **解决乱码问题**:通过设置响应输出流的字符集编码来避免乱码。 #### 三、具体实现细节 ##### 1. 封装`HttpServletRequest...
在这个场景中,我们将深入探讨如何使用`URL Rewrite Filter`来重写Struts2的Action。 首先,让我们理解`URL Rewrite Filter`的基本概念。这个工具提供了一种方式,通过配置XML文件(如`urlrewrite.xml`)来定义一...
在Java Web开发中,URL重写是一种常见的技术,它能够帮助我们优化应用程序的用户体验和搜索引擎优化(SEO)。URL重写的主要目的是将复杂的、带有多个参数的URL转化为更加友好、易于理解的形式。这样的URL更容易被...
- **Filter参数**:在`web.xml`中可以通过`init-param`为Filter提供配置参数,以便在Filter中使用。 - **异步Filter**:Java Servlet 3.0及以上版本支持异步Filter,可以在`doFilter`方法中使用异步处理,提高性能。...
### Java中的Filter(过滤器)使用详解 #### 一、Filter概述 在Java Web开发中,`Filter`是一种非常实用的技术,它可以在请求到达目标资源(如Servlet或JSP页面)之前进行预处理,或者在响应返回客户端之前进行后...
Servlet Filter 是Java Servlet API中的一个重要组件,主要用于在Servlet处理请求之前或之后进行拦截处理,例如权限检查、日志记录、内容转换等。进行Servlet Filter的单元测试是确保Filter功能正确性和健壮性的重要...
5. **集成第三方库**:有时候,我们可能会使用像Tuckey的URL Rewrite Filter这样的第三方库来简化URL重写的工作。这个库提供了一套配置文件(如urlrewrite.xml)来定义URL重写规则,使得管理变得更加方便。 6. **...
在filter中获取后端服务器返回来的数据,处理完后,创建子请求转发到另外一个服务器处理,接收服务器回应数据,再发送回给客户端。 5.支持自定义变量的注册与获取,在location中解析到对应的变量时,动态获取到...
在FilterPro中,用户可以通过选择MFB滤波器类型,然后调整参数来实现特定的滤波效果。MFB滤波器设计通常涉及更多的电路级细节,但FilterPro的可视化工具和自动计算功能使得这一过程变得相对简单。 为了深入了解...
在项目的`web.xml`文件中,你需要添加一个Filter来定义处理乱码的逻辑。首先,声明一个新的过滤器,给它一个唯一的名称,例如`EncodingFilter`,并指定过滤器的实现类,如`com.filters.SetCharacterEncodingFilter`...
### Delphi资源—Filter中的模糊过滤 #### 一、模糊过滤概述 在Delphi开发环境中,数据查询与筛选是一项常见的需求。为了满足不同场景下的数据处理需求,Delphi提供了多种方式来实现数据过滤,其中模糊过滤是较为...
3. **编写Filter逻辑**:在Filter的`doFilter()`方法中,我们可以获取到`HttpServletRequest`对象,然后通过修改`HttpServletRequest`的请求路径或者创建新的`HttpServletRequest`对象来实现URL重写。 4. **传递...
在这个文档中,我们将深入探讨如何使用Filter解决中文乱码问题。 首先,我们需要创建一个自定义的Filter类,继承自`javax.servlet.Filter`接口,并实现其中的`init`和`doFilter`方法。`init`方法在Filter初始化时...