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 ...
随机推荐
- Spring MVC 使用介绍(三)—— Controller接口控制器
一.概述 Controller接口类图如下,其中,BaseCommandController已从Spring 4移除 基于继承Controller接口的方式已经不推荐使用,仅供学习参考 二.基于Con ...
- Navicat MySQL 自动备份
1 新建批处理作业 2 设定(多个库,就轮流选择不同库,然后步骤2) 最后记得保存 3 计划 4 设计批处理作业->设置计划任务 5 输入账号和密码 服务器登录名 服务器密码 6 你可以修改备份 ...
- Pearls POJ - 1260 dp
题意:有n种不同的珍珠 每种珍珠的价格不同 现在给出一个采购单 标注了需要不同等级的珍珠和相对于的个数(输入按价格升序排列) 其中 价格为 (当前种类价格+10)*购买数量 这样就有一种诡异的 ...
- CH2601 电路维修(算竞进阶习题)
01边bfs 这题很容易想到的就是根据符号的情况建图,把每个点方格的对角线看成图的节点,有线相连就是边权就是0,没有就是1 然后跑最短路,但是最短路用的优先队列维护是有logn的代价的 这题还有一个更 ...
- linux下执行sh脚本,提示Command not found解决办法
1.确保用户对文件有读写及执行权限 oracle@linux-106:~/RMAN/bin> chmod a+x test.sh 2.然后修改文件格式(如果是从winodws搬过来的会显示dos ...
- Python里的赋值 拷贝 深拷贝
import copy a = [1, 2, 3, 4, ['a', 'b']] #原始对象 b = a #赋值,传对象的引用 c = copy.copy(a) #对象拷贝,浅拷贝 d = copy. ...
- [ZJOI2007]仓库建设(斜率优化)
L公司有N个工厂,由高到底分布在一座山上. 工厂1在山顶,工厂N在山脚. 由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用. 突然有一天,L公司的总裁L先生接到气象部 ...
- Shiro中的Rememberme后出现浏览器500错误
问题详述:在Shiro中添加Remember me功能后,只要勾选Remember me选项为true的时候,浏览器就会跳转到一个不可达页面,并且在Chrome中显示HTTP 500错误. 问题追踪: ...
- java实现sftp客户端上传文件以及文件夹的功能
1.依赖的jar文件 jsch-0.1.53.jar 2.登录方式有密码登录,和密匙登录 代码: 主函数: import java.util.Properties; import com.cloudp ...
- springAop 使用@Around,@After等注解时,代码运行两边的问题
springAop使用@Around,@After等注解时,代码运行两边的问题 将@Component注解删掉就好了