java request对象的区别_java web学习_浅谈request对象中get和post的差异

阅读目录(Content)

•1.get与post的区别

•1.1 get方法 jsp中的代码form表单代码

•1.2 action包中servlet的doGet方法中的代码

•2.运行结果

•2.1 输入数据

•2.2 打印出数据

•3.post方法

•4.对比

•4.1 在输出页面按下F12查看

•5.分析

1.get与post的区别

Get和Post方法都是对服务器的请求方式,只是他们传输表单的方式不一样。

下面我们就以传输一个表单的数据为例,来分析get与Post的区别

1.1 get方法  jsp中的代码form表单代码

8ddeeabd8426c3ba21852743c7b52eed.png

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的名字相同:

15e858e69d98219e4982a21a0b28ccbb.png

2.运行结果  2.1 输入数据

b00fcaf81bb93ee32caafdbfb30cf9f5.png

2.2 打印出数据

ec63411a8b863bab1c8067e775a849df.png

3.post方法

只需要将table表单中method改为post:

2d254225ccc37a20ec345bb5cb67b796.png

servlet中有这样的一行代码:

bb694423d84afd0195174a4593b88d9a.png

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

6b75e9159f26e84f299ffdc15aed0ceb.png

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

8a028745d4a788fb1b0f17c3495c4dc7.png

f93e78ad0d075b7e111d0f1d021884bd.png

post跟get的差异,优先选post

post的缺点:

f34aebc26b575cd4fe67777b1e334565.png

更新web版本可以避免错误

servlet代码分析

0f4461e9e8427f3f561f8900ea902223.png

5.分析

servlet作为控制器是不应该输出内容的,我们应该把要打印的内容放到jsp文件中

以上这篇java web学习_浅谈request对象中get和post的差异就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值