Java开发中的编码分析__GET&POST
GET方式提交参数分析

code.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/doget" method="get">
<input type="text" name="name">
<input type="submit" value="提交">
</form>
</body>
</html>
DoGetServlet
1 <Connector connectionTimeout="20000" port="88" protocol="HTTP/1.1" redirectPort="8443">
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//URL的组成
//域名:端口/contextPath/servletPath/pathInfo?queryString //1.不加处理获得的请求参数,获得的结果为"ISO-8859-1"解码后的参数
String name1 = request.getParameter("name");
System.out.println(name1); //name1 = ååå //2.先用"ISO-8859-1"进行编码,再用"UTF-8"进行解码
String name2 = URLEncoder.encode(request.getParameter("name"), "iso-8859-1");
name2 = URLDecoder.decode(name2, "utf-8");
System.out.println(name2); //name2 = 啊啊啊 //3.用String的构造函数对获得的请求参数进行处理,
//通过使用指定的 charset 解码指定的 byte 数组,
//构造一个新的 String。
String name3 =
new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");
System.out.println(name3); //name3 = 啊啊啊 }
<Connector connectionTimeout="20000" port="88" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//URL的组成
//域名:端口/contextPath/servletPath/pathInfo?queryString //1.不加处理获得的请求参数,获得的结果为"ISO-8859-1"解码后的参数
String name1 = request.getParameter("name");
System.out.println(name1); //name1 = 啊啊啊 //2.先用"ISO-8859-1"进行编码,再用"UTF-8"进行解码
String name2 = URLEncoder.encode(request.getParameter("name"), "iso-8859-1");
name2 = URLDecoder.decode(name2, "utf-8");
System.out.println(name2); //name2 = ??? //3.用String的构造函数对获得的请求参数进行处理,
//通过使用指定的 charset 解码指定的 byte 数组,
//构造一个新的 String。
String name3 =
new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");
System.out.println(name3); //name3 = ??? }
POST方式提交参数分析

code.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/doget" method="post">
<input type="text" name="name">
<input type="submit" value="提交">
</form>
</body>
</html>
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { //1.不加处理获得的请求参数,获得的结果为"ISO-8859-1"解码后的参数
String name1 = request.getParameter("name");
System.out.println(name1); //name1 = ååå }
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { //2.设置请求参数为"UTF-8",获得结果为"UTF-8"解码后的参数
request.setCharacterEncoding("utf-8");
String name2 = request.getParameter("name");
System.out.println(name2); //name1 = 啊啊啊
}
Java开发中的编码分析__GET&POST的更多相关文章
- JAVA WEB 中的编码分析
JAVA WEB 中的编码分析 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src {background-co ...
- 编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则)
编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则) 目录 建议1: 不要在常量和变量中出现易混淆的字母 建议2: 莫让常量蜕变成变量 建议3: 三元操作符的类型务 ...
- 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- Java开发中常见的危险信号(上)
本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/common-red-flags-in-java-1 Dustin Ma ...
- Java web中常见编码乱码问题(二)
根据上篇记录Java web中常见编码乱码问题(一), 接着记录乱码案例: 案例分析: 2.输出流写入内容或者输入流读取内容时乱码(内容中有中文) 原因分析: a. 如果是按字节写入或读取时乱码, ...
- Java应用中的编码问题(转载)
第三篇:JAVA字符编码系列三:Java应用中的编码问题这部分采用重用机制,引用一篇文章来完整本部分目标.来源: Eceel东西在线 问题研究--字符集编码 地址:http://china.ecee ...
- [ 转载 ] Java开发中的23种设计模式详解(转)
Java开发中的23种设计模式详解(转) 设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类 ...
- Java开发中代码规范有哪些?
Java开发中所要遵守的编码规范大体上有如下7点.命名规范.注释规范.缩进排版规范.文件名规范.声明规范.语句规范以及编程规范. 1.命名规范 (1)所有的标示符都只能用ASCⅡ字母(A-Z或a-z) ...
- Java开发中常用jar包整理及使用
本文整理了我自己在Java开发中常用的jar包以及常用的API记录. <!-- https://mvnrepository.com/artifact/org.apache.commons/com ...
随机推荐
- 使用coobird Thumbnailator生成缩略图
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- 前端nginx+Java后台ftp处理页面图片上传踩坑
今天,将前端代码部署到服务器nginx上,在测试多图片上传时,报错413请求体空间太大,请求都没到后台,直接被nginx拦截,调整后又报错504. 整体而言,前端存在两处问题: 413 错误 :Req ...
- BZOJ2275[Coci2010]HRPA——斐波那契博弈
题目描述 N个石子,A和B轮流取,A先.每个人每次最少取一个,最多不超过上一个人的个数的2倍.取到最后一个石子的人胜出,如果A要有必胜策略,第一次他至少要取多少个. 输入 第一行给出数字N,N< ...
- [洛谷P1730] 最小密度路径
类型:Floyd 传送门:>Here< 题意:定义一条路径密度 = 该路径长度 / 边数.给出一张$DAG$,现有$Q$次询问,每次给出$X,Y$,问$X,Y$的最小密度路径($N \le ...
- 「AC自动机」学习笔记
AC自动机(Aho-Corasick Automaton),虽然不能够帮你自动AC,但是真的还是非常神奇的一个数据结构.AC自动机用来处理多模式串匹配问题,可以看做是KMP(单模式串匹配问题)的升级版 ...
- Python代码编写规范
Python代码编写规范 编码: a) 如无特殊情况,文件一律使用UTF-8编码 b) 如无需特殊情况,文件头部必须加入#-*-coding:utf-8-*- 缩进 a) 统一 ...
- Codeforces Round #541 (Div. 2) D(并查集+拓扑排序) F (并查集)
D. Gourmet choice 链接:http://codeforces.com/contest/1131/problem/D 思路: = 的情况我们用并查集把他们扔到一个集合,然后根据 > ...
- (转)最短路径算法-Dijkstra算法分析及实践
原地址:http://www.wutianqi.com/?p=1890 这篇博客写的非常简洁易懂,其中各个函数的定义也很清晰,配合图表很容易理解这里只选取了 其中一部分(插不来图片). Dijkstr ...
- MT【304】反射路径长度比
(高考压轴题改编)如图,长方体$ABCD-A_1B_1C_1D_1$中,$AB=11,AD=7,AA_1=12.$一质点从顶点$A$设向$E(4,3,12)$遇到长方体的面反射(服从光的反射原理),将 ...
- Hdoj 2109.Fighting for HDU 题解
Problem Description 在上一回,我们让你猜测海东集团用地的形状,你猜对了吗?不管结果如何,都没关系,下面我继续向大家讲解海东集团的发展情况: 在最初的两年里,HDU发展非常迅速,综合 ...