`
chimpp55
  • 浏览: 21845 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

request.getReader()乱码问题

 
阅读更多
第一种方法
web.xml
CharEncodingFilter
param-value>Windows-31J</param-value>
这个改为UTF-8


第二种方法
追加
request.setCharacterEncoding("utf8");  



import java.io.BufferedReader;  
import java.io.IOException;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import com.alibaba.fastjson.JSON;  
import com.paic.mhis.api.common.define.ConstantName;  
  
public class httpUtil {  
    public static void printWriter(HttpServletRequest request,  
        HttpServletResponse response, Object object) throws IOException {  
        response.setContentType(ConstantName.JSON_CONTENT_TYPE);          
        response.getWriter().print(JSON.toJSON(object));  
        response.getWriter().flush();  
        response.getWriter().close();  
    }  
  
    public static StringBuffer getRequestContent(HttpServletRequest request)  
            throws IOException {  
        request.setCharacterEncoding("utf8");  
        StringBuffer content = new StringBuffer("");  
          
        String line = null;  
        BufferedReader br = request.getReader();  
        while( (line = br.readLine()) != null){  
            //line = new String(line.getBytes(), "utf-8");  
            content.append(line);   
        }  
        return content;  
    }     
  
} 


常量类
public interface ConstantName {  
    public String JSON_CONTENT_TYPE = "application/json; charset=UTF-8";  
      
    public String STATUS_EXPRESS = "status";  
    public String STATUS_SCUESS = "01";  
    public String STATUS_FAILURE = "02";  
    public String PARAM_FAILURE = "03";  
    public String BUSINESS_FAILURE = "04";  
      
    public Boolean STATUS_SUCCESS = true;  
      
    public Boolean STATUS_FAIL = false;  
}





发送post请求
[java] view plain copy 在CODE上查看代码片派生到我的代码片
public static String submitPost(String url, String params) {  
    String response = null;       
    HttpClient client = new HttpClient();  
    HttpMethod method = getPostMethod(url, params);  
    method.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8");  
    try {  
        client.executeMethod(method);  
        System.out.println("submitPost===="+method.getResponseBodyAsString());  
        if (method.getStatusCode() == HttpStatus.SC_OK) {  
            response = method.getResponseBodyAsString();  
        }  
    } catch (IOException e) {  
        e.printStackTrace();  
    } finally {  
        method.releaseConnection();  
    }  
  
    return response;  
}  


@SuppressWarnings("deprecation")  
private static HttpMethod getPostMethod(String url, String inputData) {  
    PostMethod put = new PostMethod(url);  
    //put.setRequestHeader(new Header("Content-Type", "application/json;charset=utf-8"));  
    put.setRequestBody(inputData);  
    //put.setParameter(Constants.INPUT_DATA, inputData);  
    return put;  
}  




request.getParameter()
request.getInputStream()
request.getReader()
分享到:
评论

相关推荐

    JS操作本地网页串口源码

    const reader = port.readable.getReader(); reader.read().then(result =&gt; { if (!result.done) { console.log('接收到的数据:', new TextDecoder().decode(result.value)); } }); // 监听数据、错误和关闭...

    对Servlet 中 request.setEncoding("utf-8")的分析

    如果`usingReader`为`true`,则意味着已经调用了`getReader()`方法,这时再设置编码是无效的,因为`getReader()`已经创建了一个`BufferedReader`,它会根据之前的编码进行读取,所以此时会抛出`...

    Android客户端与服务端(jsp)之间json的传输与解析例子源码

    可以通过`request.getParameter()`或`request.getReader()`获取JSON字符串。 - **解析JSON**:JSP可以使用`javax.json`库来解析JSON。例如: ```java JsonObject jsonObject = Json.createReader(request....

    poi ExcelUtils demo下载

    【标题解析】 "poi ExcelUtils demo下载" 这个标题表明我们关注的是一个与Apache POI相关的工具,名为ExcelUtils。Apache POI是Java库,用于读写Microsoft Office格式的文件,特别是Excel(.xlsx 和 .xls)文件。...

    poi excel导入导出

    poi-3.14-20160307.jar poi-3.17.jar poi-3.8-20120326.jar poi-ooxml-schemas-3.8-20120326.jar poi-examples-3.14-20160307.jar poi-excelant-3.14-20160307.jar poi-ooxml-3.14-20160307.jar ...

    获取request的参数

    MyRequestObject obj = mapper.readValue(request.getReader(), MyRequestObject.class); // 使用obj处理请求... } ``` 在Python的Django框架中,`HttpRequest`对象提供了类似的方法: ```python from django....

    JSP request(return String)用法详例

    在实际开发中,`request`对象还提供其他功能,如获取请求参数(`request.getParameter()`),读取请求体数据(`request.getInputStream()`或`request.getReader()`),检查请求是否是安全的(`request.isSecure()`)...

    javaWEB总结(5):GET与POST请求

    // 或者使用request.getReader()读取请求体中的JSON、XML等数据 } } ``` 在这个例子中,`doGet()`和`doPost()`分别处理GET和POST请求,通过`request.getParameter()`获取请求参数。需要注意的是,对于POST请求,...

    使用MySQL和Servlet编写Android接口样例(服务器端代码)

    例如,我们可以使用`request.getParameter`或`request.getReader`来获取JSON字符串,然后使用`org.json`库解析JSON数据。 ```java String json = request.getReader().lines().collect(Collectors.joining(System....

    MySerialPort.js工具类

    read---port.readable.getReader()的读取字节数组方法 write---port.writable.getWriter()的写入方法 ———————————————— 版权声明:本文为CSDN博主「ZhangY1217」的原创文章,遵循CC 4.0 BY-SA版权...

    JSP九大内置对象详解

    | 14 | `BufferedReader getReader()` | 获取已解码的请求体 | | 15 | `String getRemoteAddr()` | 返回发送此请求的客户端IP地址 | | 16 | `String getRemoteHost()` | 返回发送此请求的客户端主机名 | | 17 | `...

    java filter打印请求返回参数

    4. **解决乱码问题**:通过设置响应输出流的字符集编码来避免乱码。 #### 三、具体实现细节 ##### 1. 封装`HttpServletRequest` - 实现`HttpServletRequestWrapper`子类,重写`getReader()`和`getInputStream()`...

    JSP对象及使用方法(带例子)

    JSP提供了多种内置对象来帮助开发者处理各种常见的Web应用问题。本文将详细介绍其中的一些常用内置对象——特别是`request`对象——及其使用方法,并通过具体的示例代码进行说明。 #### 二、JSP内置对象简介 JSP...

    c# post发送到servlet

    注意,`getParameter`只适用于URL编码的查询字符串或表单数据,如果数据格式是JSON或XML,需要使用`request.getReader()`读取并解析。 8. **异常处理与错误反馈**: 在发送和接收过程中,可能遇到网络问题、格式...

    JAVA Web 用过滤器和包装器消除乱码

    本文将深入探讨如何使用JAVA Web的过滤器和包装器来消除乱码问题。 首先,我们来看过滤器(Filter)。在JAVA Web中,过滤器是Servlet规范的一部分,它允许我们在请求到达目标Servlet或JSP之前对请求进行预处理,也...

    jsp9大内置对象

    - `BufferedReader getReader()`:获取用于读取请求数据的`BufferedReader`对象。 - `String getRemoteAddr()`:获取客户端IP地址。 - `String getRemoteHost()`:获取客户端的主机名。 - `void setAttribute...

    JSP的Request对象练习源代码

    6. **读取请求体内容**:对于POST请求,如果数据在请求体中,可以使用`getInputStream()`或`getReader()`来读取。 7. **分发请求**:`RequestDispatcher`接口的`forward()`和`include()`方法允许我们在服务器端将...

    okhttp通信框架和java后台的交互,客户端,服务端代码对接

    response.request().url(), (t2 - t1) / 1e6d, response.headers()); return response; } private void log(String format, Object... args) { // 实现日志记录 } }) .build(); ``` 总之,OkHttp提供了一...

    java 获取request中的请求参数代码详解

    在 Java 中,我们可以使用 `getInputStream()` 方法或 `getReader()` 方法来获取 Request Body 中的数据。 ```java public String getRequestData(HttpServletRequest httpServletRequest) { ...

    第20章 Request和Response.pdf

    5. **处理乱码问题**: - `setCharacterEncoding(String encoding)`:设置请求体的字符编码,防止中文乱码。 二、Response对象 `Response`对象代表HTTP响应报文,用于向客户端发送响应。其主要功能包括: 1. **...

Global site tag (gtag.js) - Google Analytics