JSP中get和post请求方式的区别及乱码解决方法

JSP中get和post请求方式的区别及乱码解决方法


get提交方式:默认method=“get” 和 地址栏、超链接请求方式默认都属于get提交方式
form表单的method属性:提交服务器的http方法,一般为post和get
get与post请求方式的区别:

  1. get方式 在地址栏显示请求信息 密码等个人信息显示在地址栏,不安全 ,并且地址栏能够容纳的信息有限,如果请求的数据中有大的文件,如图片,音频,视频等,会出现地址栏无法容纳全部数据,产生错误。
    post方式 不显示提交信息,较安全
  2. 文件上传操作(提交作业,提交文件),必须是post
  3. 在表单的请求方式中,推荐使用post方式

get和post请求方式出现乱码的解决方法:

  1. get请求方式
    如果使用tomcat7,默认的编码方式是ISO-8859-1,JSP的编码方式是UTF-8,就会出现乱码,使用get方式解决乱码的方式有两种修改方式:
  • 这种解决方式很麻烦(不推荐):将变量一个一个的修改编码方式
    name = new String (name.getBytes("iso-8859-1"),"utf-8");
  • 修改server.xml(这种方法只对get请求方式有效),直接修改tomcat默认get请求的编码方式:
    添加上:URIEncoding="UTF-8"

在这里插入图片描述

  1. post请求方式编码出现乱码的解决方式:

直接添加java代码,设置编码方式:

//设置post编码
request.setCharacterEncoding("utf-8");

get与post请求方式的区别:

1. 使用get请求方式:

在这里插入图片描述

get方式:在地址栏显示提交信息
在这里插入图片描述

2. 使用post请求方式:

在这里插入图片描述

post方式:在地址栏不显示提交信息
在这里插入图片描述


具体代码如下:
register.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="show.jsp" method="post">用户名:<input type="text" name="uname" /><br/>密码:<input type="password" name="upwd" /><br/>年龄:<input type="text" name="uage" /><br/>性别:<input type="text" name="ugender" /><br/>爱好:<br/><input type="checkbox" name="uhobbies" value="足球"/>足球、<input type="checkbox" name="uhobbies" value="篮球"/>篮球、<input type="checkbox" name="uhobbies" value="乒乓球"/>乒乓球<br/><input type="submit" value="注册" /></form>
</body>
</html>

show.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><%//设置post编码request.setCharacterEncoding("utf-8");String name = request.getParameter("uname");String pwd = request.getParameter("upwd");int age = Integer.parseInt(request.getParameter("uage"));String gender = request.getParameter("ugender");String[] hobbies = request.getParameterValues("uhobbies");%>注册成功,信息如下:<br/>姓名:<%=name %><br/>密码:<%=pwd %><br/>年龄:<%=age %><br/>性别:<%=gender %><br/>爱好:<%if(hobbies != null ){for(String hobby:hobbies){out.print(hobby + "&nbsp");}}%>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RISC-V有何特别之处?

作者&#xff1a;Erik Engheim译者&#xff1a;冬雨整理&#xff1a;陈思20 世纪 90 年代末&#xff0c;RISC 和 CISC 爆发了一场大战&#xff0c;自那以后&#xff0c;大家却说 RISC 和 CISC 的区别没那么重要了了。许多人表示&#xff0c;指令集也就那么回事&#xff0c;对 C…

【剑指offer】面试题21:调整数组顺序使奇数位于偶数前面

题目&#xff1a;&#xff1a;输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有奇数位于数组的前半部分&#xff0c;所有偶数位于数组的后半部分。 代码&#xff1a; package offer; public class ti21 { public static void main…

数据库存取BLOB类型音乐文件的过程及常见错误

数据库存取BLOB类型音乐文件的过程及常见错误 数据库端的准备工作&#xff1a; 新建表&#xff0c;用来存放音乐文件&#xff1a;mymusic 第一列&#xff1a;id 类型&#xff1a;int 第二列&#xff1a;music 类型&#xff1a;blob 将音乐文件存入数据库 /*** */ package cn…

Trie可持久化Trie

WARNING&#xff1a;以下代码未经测试&#xff0c;若发现错误&#xff0c;欢迎指出qwq~ Trie树&#xff08;字典树&#xff09; 一种简单的数据结构&#xff0c;可存储大量字符串&#xff0c;可在$O(len)$的时间内完成插入&#xff0c;删除&#xff0c;查找等操作。 下面是一个…

视觉的目的是什么?从监督学习到对比学习,回顾CV发展史

来源&#xff1a;AI科技评论作者&#xff1a; 周纵苇知乎摘要&#xff1a;视觉&#xff0c;对于人类或动物来说&#xff0c;似乎是一件稀松平常的事情&#xff0c;我们甚至都不需要去有意识地训练自己&#xff0c;就可以天赋一般地认识世界。对于机器而言&#xff0c;理解图片却…

【剑指offer】面试题22:链表中倒数第 K 个节点

题目&#xff1a; 输入一个链表&#xff0c;输出该链表中倒数第k哥结点。为了符合大多数人的习惯&#xff0c;本题从1开始计数&#xff0c;即链表的尾结点是倒数第1个结点。例如一个链表有6个结点&#xff0c;从头结点开始它们的值依次是1&#xff0c;2&#xff0c;3&#xff0…

day7——集合,深浅copy

数据类型的补充 # s1 中国    # b1 s1.encode(utf-8)    # # print(b1)-------------->b\xe4\xb8\xad\xe5\x9b\xbd utf-8 bytes --->gbk bytes    # s2 b1.decode(utf-8)    # # print(s2)---------------中国    # b2 s2.encode(gbk)    #…

MVC原理及案例分析

MVC原理及案例分析 关于MVC MVC全名是Model View Controller&#xff0c;是模型(model)&#xff0d;视图(view)&#xff0d;控制器(controller)的缩写&#xff0c;一种软件设计典范&#xff0c;用一种业务逻辑、数据、界面显示分离的方法组织代码&#xff0c;将业务逻辑聚集到…

人工智能的鱼与熊掌:精度与可解释性

来源&#xff1a;陈德旺科学网博客链接地址&#xff1a;http://blog.sciencenet.cn/blog-57940-1270913.html 人工智能自1956年诞生之日&#xff0c;就肩负用计算机程序模拟人类&#xff08;或生物体&#xff09;智能的初心与使命&#xff0c;从而理解智能的工作原理与运作机制…

MVC与三层架构的联系及三层架构实现学生注册功能

MVC与三层架构的联系及三层架构实现学生注册功能 三层架构的逻辑关系&#xff1a; MVC和三层架构的联系&#xff1a; 三层架构实现学生注册功能的逻辑&#xff1a; 学生注册页面&#xff1a; 输入学生信息&#xff1a; 完成学生注册: 代码实现&#xff1a; add.jsp <% …

【剑指offer】面试题23:链表中环的入口节点

一个链表中包含环&#xff0c;请找出该链表的环的入口结点 代码&#xff1a; package offer; class Node3 { int val; Node3 next null; Node3(int val) { this.val val; } } public class ti23 { public static Node3 FindInterNode(Node…

(4.14)向上取整、向下取整、四舍五入取整的实例

Sql Server 里的向上取整、向下取整、四舍五入取整的实例&#xff01; 2012年12月31日 07:33:43 阅读数&#xff1a;102170 【四舍五入取整截取】select round(54.56,0) 【向下取整截取】 SELECT FLOOR(54.56) 【向上取整截取】 SELECT CEILING(13.15)以下转自&#xff1a;…

MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用

MVC5EF6 入门完整教程11--细说MVC中仓储模式的应用 原文:MVC5EF6 入门完整教程11--细说MVC中仓储模式的应用摘要&#xff1a; 第一阶段1~10篇已经覆盖了MVC开发必要的基本知识。 第二阶段11&#xff5e;20篇将会侧重于专题的讲解&#xff0c;一篇文章解决一个实际问题。 根据…

Java Web实现信息管理

Java Web实现信息管理 前言&#xff1a; 大二上学期刚学完Oracle&#xff0c;老师就要求用Java语言操作Oracle&#xff0c;当时真的是懵了。回顾自己前两年的生活&#xff0c;大一上学期学习C语言&#xff0c;下学期学习Java&#xff0c;当时教课老师是学硬件的。课上讲一些理…

【剑指offer】面试题25:合并两个排序的链表(Java 实现)

题目&#xff1a;输入两个递增排序的链表&#xff0c;合并这两个链表并使新链表中的结点仍然是按照递增排序的。 代码&#xff1a; package offer; class Node5 { int val; Node5 next null; Node5(int val) { this.val val; } } public class…

计算机科学界至今未解决的四大难题

作者&#xff1a;Shalitha Suranga译者&#xff1a;弯月 责编&#xff1a;张文出品&#xff1a;CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;在现实生活中&#xff0c;很多难题的解决方案都用到了计算机科学的基础理论。例如&#xff0c; Git 分布式版本控制系统建立…

PHP正则匹配到2个字符串之间的内容,匹配HTML便签内容

PHP正则匹配到2个字符串之间的内容 $preg /xue[\s\S]*?om/i; preg_match_all($preg,"学并思网址xuebingsi.com",$res); var_dump($res[0][0]); 匹配HTML便签内容 假如需要匹配下面HTML字符串里面的第三个<img> 把它替换掉,或者删除掉这样个需求 $string <p…

【剑指offer】面试题24:反转链表(Java 实现)

输入一个链表&#xff0c;反转链表后&#xff0c;输出新链表的表头。 代码&#xff1a; package offer; class Node4 { int val; Node4 next null; Node4(int val) { this.val val; } } public class ti24 { public static Node4 ReverseL…

按字编址与按字节编址

按字编址与按字节编址 要清楚按字编址和按字节编址的区别&#xff0c;先要知道 比特(bit)&#xff0c;字节(byte)&#xff0c;字(word) 之间的关系。 在计算机系统中&#xff0c;总线以固定大小的一块数据进行传输&#xff0c;这一块的数据也称为字(word)&#xff0c;如今的计…

2021年AI关键趋势,AI芯片初创公司可能发生并购

来源&#xff1a;雷锋网作者&#xff1a;包永刚编译&#xff1a;雷锋网人工智能&#xff08;AI&#xff09;和机器学习仍然是技术决策者、行业人士和投资者关注的重点。标普全球市场财智&#xff08;S&P Intelligence&#xff09;2020 7月发布的调查显示&#xff0c;有58%的…