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的更多相关文章

  1. JAVA WEB 中的编码分析

    JAVA WEB 中的编码分析 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src {background-co ...

  2. 编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则)

    编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则) 目录 建议1: 不要在常量和变量中出现易混淆的字母 建议2: 莫让常量蜕变成变量 建议3: 三元操作符的类型务 ...

  3. 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题

    这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...

  4. Java开发中常见的危险信号(上)

    本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/common-red-flags-in-java-1 Dustin Ma ...

  5. Java web中常见编码乱码问题(二)

    根据上篇记录Java web中常见编码乱码问题(一), 接着记录乱码案例: 案例分析:   2.输出流写入内容或者输入流读取内容时乱码(内容中有中文) 原因分析: a. 如果是按字节写入或读取时乱码, ...

  6. Java应用中的编码问题(转载)

    第三篇:JAVA字符编码系列三:Java应用中的编码问题这部分采用重用机制,引用一篇文章来完整本部分目标.来源:  Eceel东西在线 问题研究--字符集编码 地址:http://china.ecee ...

  7. [ 转载 ] Java开发中的23种设计模式详解(转)

    Java开发中的23种设计模式详解(转)   设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类 ...

  8. Java开发中代码规范有哪些?

    Java开发中所要遵守的编码规范大体上有如下7点.命名规范.注释规范.缩进排版规范.文件名规范.声明规范.语句规范以及编程规范. 1.命名规范 (1)所有的标示符都只能用ASCⅡ字母(A-Z或a-z) ...

  9. Java开发中常用jar包整理及使用

    本文整理了我自己在Java开发中常用的jar包以及常用的API记录. <!-- https://mvnrepository.com/artifact/org.apache.commons/com ...

随机推荐

  1. 轻量级浏览器Midori

    导读 这是一个对再次回归的轻量级.快速.开源的 Web 浏览器 Midori 的快速回顾. 如果你正在寻找一款轻量级网络浏览器替代品,请试试 Midori. Midori是一款开源的网络浏览器,它更注 ...

  2. 通过流量清理防御DDoS

    导读 在2018年2月,世界上最大的分布式拒绝服务(DDoS)攻击在发起20分钟内得到控制,这主要得益于事先部署的DDoS防护服务. 这次攻击是针对GitHub–数百万开发人员使用的主流在线代码管理服 ...

  3. Ubuntu开发用新机安装流程

    1.SSH安装 Ubuntu缺省已安装客户端,此处安装服务端 sudo apt-get install openssh-server 确认sshserver是否启动 netstat -tlp | gr ...

  4. P1200 你的飞碟在这儿

    P1200 题目描述 众所周知,在每一个彗星后都有一只UFO.这些UFO时常来收集地球上的忠诚支持者.不幸的是,他们的飞碟每次出行都只能带上一组支持者. 因此,他们要用一种聪明的方案让这些小组提前知道 ...

  5. 为什么Elasticsearch查询变得这么慢了?

    参考内容:https://mp.weixin.qq.com/s/RTpBaFpNELQCO6VE0KMfsw

  6. Codeforces Round #514 (Div. 2) C. Sequence Transformation 思维构造

    题意 给出一个1-n的集合   gcd 集合里面的所有数  得到的 一个 数   然后自己选择删去一个数   要使得到的数 构成的数列 的字典序最大 思路: gcd所有数 那gcd得到的数肯定要小于数 ...

  7. The Unique MST POJ - 1679 次小生成树prim

    求次小生成树思路: 先把最小生成树求出来  用一个Max[i][j] 数组把  i点到j 点的道路中 权值最大的那个记录下来 used数组记录该条边有没有被最小生成树使用过   把没有使用过的一条边加 ...

  8. 【题解】 bzoj2982: combination (Lucas定理)

    题面戳我 Solution 板子题 Code //It is coded by ning_mew on 7.25 #include<bits/stdc++.h> #define LL lo ...

  9. Educational Codeforces Round 33 (Rated for Div. 2) F. Subtree Minimum Query(主席树合并)

    题意 给定一棵 \(n\) 个点的带点权树,以 \(1\) 为根, \(m\) 次询问,每次询问给出两个值 \(p, k\) ,求以下值: \(p\) 的子树中距离 \(p \le k\) 的所有点权 ...

  10. 06 Zabbix4.0系统CISCO交换机告警模板规划信息(基础)

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 06 Zabbix4.0系统CISCO交换机告警模板规划信息(基础) 1. Host groups ...