java_web学习(六) request对象中的get和post差异
1.get与post的区别
Get和Post方法都是对服务器的请求方式,只是他们传输表单的方式不一样。
下面我们就以传输一个表单的数据为例,来分析get与Post的区别
1.1 get方法 jsp中的代码form表单代码

1.2 action包中servlet的doGet方法中的代码
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gbk");//设置响应正文的mime类型
request.setCharacterEncoding("gbk");//设置请求的编码格式
response.setCharacterEncoding("gbk"); String username = request.getParameter("userName");//
String password = request.getParameter("password");
String sex = request.getParameter("sex");
String classes = request.getParameter("class");
String hobby[] = request.getParameterValues("hobby");// 获取checkbox的数据保存到hobby数组中 PrintWriter out = response.getWriter(); if (hobby != null) {
for (String x: hobby) {
out.println("doGet被调用");
out.println("name:"+username+"password:"+password+"sex"+sex+"classes"+classes);
out.println("hobby:" + x);
}
}else{
out.println("此人没爱好!");
}
}
注意:action包中servlet命名与form表单action的名字相同:

2.运行结果
2.1 输入数据

2.2 打印出数据

3.post方法
只需要将table表单中method改为post:

servlet中有这样的一行代码:

同样能打印出:只是出现了乱码

4.对比
4.1 在输出页面按下F12查看


post跟get的差异,优先选post
post的缺点:

更新web版本可以避免错误
servlet代码分析

5.分析
servlet作为控制器是不应该输出内容的,我们应该把要打印的内容放到jsp文件中
本人还是初学者,高手大神请指教,
java_web学习(六) request对象中的get和post差异的更多相关文章
- C#多线程学习(六) 互斥对象
如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类. 我们可以把Mutex看作一个出租车,乘客看作线程.乘客首先 ...
- 关于从request对象中获取路径的问题
从request对象中获取路径的问题:例如: 项目名为:tmall_web 请求的servlet名为:loginServlet 示例代码如下: @Override protected void ...
- 重温Servlet学习笔记--request对象
request和response是一对搭档,一个负责请求一个负责响应,都是Servlet.service()方法的参数,response的知识点前面梳理过了,这里只说一下request,在客户端发出每 ...
- django 修改 request 对象中的请求参数, 并重新赋值给 request 对象
直接上代码, 实现流程看代码及注释 def your_view(self, request): method = request.method if method == "GET" ...
- Scala学习(六)---Scala对象
Scala中的对象 摘要: 在本篇中,你将会学到何时使用Scala的object语法结构.在你需要某个类的单个实例时,或者想为其他值或函数找一个可以挂靠的地方时,你就会用到它.本篇的要点包括: 1. ...
- java_web学习(十) 显示mysql中的数据
一.建立数据库 create database animal; create table animal( sno int, name varchar(20), weight varcahr(20), ...
- 如何将Request对象中的参数列表打印出来
Map<String, String[]> map = request.getParameterMap(); Set<Map.Entry<String, String[]> ...
- request对象学习
import java.io.IOException; import java.util.Enumeration; import javax.servlet.ServletException; imp ...
- JSP内置对象之request对象【学习笔记】
request对象是JSP中重要的对象,每个request对象封装着一次用户的请求,并且所有的请求参数都被封装在request对象中,因此request对象是获取请求参数的重要途径. 一.获取请求头与 ...
随机推荐
- python中对象、类型和元类之间的关系
在python中对象.类型和元类构成了一个微妙的世界. 他们有在这个世界里和平共处,相辅相成.它们遵循着几条亘古不变的定律: 1.python中无处不对象 2.所有对象都有三种特性:id.类型.值 3 ...
- Pseudo-devices On GNU/Linux
先分享一则有意思Q&A,来自The FreeBSD Funnies 17.4 . Where does data written to* /dev/null* go? It goes in ...
- Lua中使用状态机FSM简单例子
FSM 有限状态机: 一个有限状态机是一个设备,或者是一个设备模型,具有有限数量的状态,它可以在任何给定的时间根据输入进行操作,使得一个状态变换到另一个状态,或者是使一个输入或者一种行为的发生.一个有 ...
- iOS支付宝支付相关问题
支付宝实现以及相关问题:http://www.jianshu.com/p/f81578954974 1.支付宝支付流程 1.用户点击支付2.客户端请求服务器用户支付3.服务器接收请求生成金额订单等要给 ...
- bzoj 4446: [Scoi2015]小凸玩密室
Description 小凸和小方相约玩密室逃脱,这个密室是一棵有n个节点的完全二叉树,每个节点有一个灯泡.点亮所有灯 泡即可逃出密室.每个灯泡有个权值Ai,每条边也有个权值bi.点亮第1个灯泡不需要 ...
- js知识点记录
1.for...in:用于遍历数组或对象的属性. for(var prop in obj){console.log(obj[prop])}; 该循环遍历对于对象属性是无序的,可能是因为obj本来就是无 ...
- AJAX结合PHP整理复习
Ajax主要的功能是实现了浏览器端 异步 访问服务器:通过浏览器的XMLHttpRequest对象发出小部分数据,与服务端进行交互,服务端返回小部分数据,然后更新客户端的部分页面. 下图是一次请求成功 ...
- JQ trigger函数无法触发a标签的两种解决方法
起因:点击icon图标后要触发a标签的链接转跳动作,但是用 JQ 的 $('#a').trigger('click') 居然不起作用,遂百度之,总结两种方法如下: (原因:JQ 的 trigger() ...
- 快速搭建vsftp 服务器并配置指定目录
1 搭建vsftp 服务器 前期准备: 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...
- Java中对List<E>按E的属性排序的简单方法
这是LeetCode上的题目56. Merge Intervals中需要用到的, 简单来说,定义了E为 /** * Definition for an interval. * public class ...