下面小编就为大家带来一篇java web学习_浅谈request对象中get和post的差异。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
阅读目录(Content)
•1.get与post的区别
•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表单代码
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文件中
Atas ialah kandungan terperinci 简单介绍关于java中request对象中的get和post的差异(图). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!