博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet请求参数编码处理(POST & GET)
阅读量:6149 次
发布时间:2019-06-21

本文共 1691 字,大约阅读时间需要 5 分钟。

小巧,但在中文语境下,还是要注意的。

以下是关键语句,注意转码的先后顺序,这源于GET是HTTP服务器处理,而POST是WEB容器处理:

String name = request.getParameter("nameGet");

name = new String(name.getBytes("ISO-8859-1"), "gb2312");

================================

request.setCharacterEncoding("gb2312");

String name = request.getParameter("namePost");

 

package cc.openhome;import java.io.IOException;import java.io.BufferedReader;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/encoding")public class EncodingServlet extends HttpServlet{  protected void doGet(HttpServletRequest request,                      HttpServletResponse response)                      throws ServletException, IOException {    String name = request.getParameter("nameGet");    name = new String(name.getBytes("ISO-8859-1"), "gb2312");    System.out.println("GET: " + name);  }  protected void doPost(HttpServletRequest request,                      HttpServletResponse response)                      throws ServletException, IOException {    request.setCharacterEncoding("gb2312");    String name = request.getParameter("namePost");    System.out.println("POST: " + name);    String body = readBody(request);    System.out.println("Body: " + body);                      }    private String readBody(HttpServletRequest request)                        throws IOException{    BufferedReader reader = request.getReader();    String input = null;    String requestBody = "";    while((input = reader.readLine()) != null) {      requestBody += input;    }    return requestBody;                        }}

转载地址:http://oumya.baihongyu.com/

你可能感兴趣的文章
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
RAC表决磁盘管理和维护
查看>>
Apache通过mod_php5支持PHP
查看>>
发布一个TCP 吞吐性能测试小工具
查看>>
java学习:jdbc连接示例
查看>>
PHP执行批量mysql语句
查看>>
Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块
查看>>
Silverlight 如何手动打包xap
查看>>
建筑电气暖通给排水协作流程
查看>>
JavaScript面向对象编程深入分析(2)
查看>>
linux 编码转换
查看>>
POJ-2287 Tian Ji -- The Horse Racing 贪心规则在动态规划中的应用 Or 纯贪心
查看>>
Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月7日-1月14日)
查看>>
关于C#导出 文本文件
查看>>
使用native 查询时,对特殊字符的处理。
查看>>
maclean liu的oracle学习经历--长篇连载
查看>>
ECSHOP调用指定分类的文章列表
查看>>
分享:动态库的链接和链接选项-L,-rpath-link,-rpath
查看>>
Javascript一些小细节
查看>>