Servlet请求参数编码处理(POST & GET)
2016-05-06 14:22
399 查看
小巧,但在中文语境下,还是要注意的。
以下是关键语句,注意转码的先后顺序,这源于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");
以下是关键语句,注意转码的先后顺序,这源于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; } }
![](https://images2015.cnblogs.com/blog/465438/201605/465438-20160506142017544-359514262.png)
相关文章推荐
- 电压控制三极管放大倍数
- grep简单常用的语法介绍
- JSONP原理及实现
- 一些精妙SQL语句
- dshow来控制摄像头旋转
- C++ 概念总结(基于 C++11)
- Linux基础篇三——链接文件知多少
- trie树(字典树)java实现
- Android 手势检测实战 打造支持缩放平移的图片预览效果(上)
- [swift学习之五]类练习
- 网页迁移方案
- QTreeView三态checkbox代码
- android开发设置Dialog出现消失动画
- div中图片居中超出后隐藏,center image in div with overflow hidden
- 添加附件,通过文件管理器
- Picasso创建圆形图像
- ECLIPSE 设置 UTF8
- JS报错,但是语法没有写错
- setContentView()调用SurfaceView布局文件出错的解决方法
- fragment及fragment的通信