JSP、Servlet中get请求和post请求的区别总结
在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法。前两天看《HeadFirstServlets&JSP》看到其中讲关于Servlet中get请求和post请求的区别,现总结如下:
1:请求数据的大小不同。
因为get请求的数据是要追加到URL中,而URL的数据量一般不能超过2K,所以用get请求的方法对数据的大小有限制。而post请求方法是把数据放在消息体中,所以理论上对数据量没有限制。(但是实际操作中也不能能太大)
2:安全性不一样
因为get请求的数据是追加在URL中,外部用户能很方便的看到,从这个角度上来讲不安全。而post方法因为是讲请求放在消息体中,不会直接在URL中显示所以从这个角度来说数据会比较安全。
3:书签建立
get请求可以建立书签;post请求则不能。例如:假设你有一个页面允许用户指定搜索规则。用户可能一个星期之后才回来,想要得到原来的数据,但此时服务器上已经有新的数据了。
4:方法的使用
get用于得到某些东西,只是简单的获取,不会对服务器做任何的改变。post则用户发送数据来进行处理,可以修改服务器上的数据。
5:请求是否幂等
get请求是幂等的,它只是要得到一些东西,不会修改服务器上的内容。它能执行多次,而且不会产生任何不好的副作用。而post不是幂等的,post体中的提交的数据可能用于不可逆转的事务。所以从这个角度上来看的话要慎重使用doPost()功能。
若表单中未指出method=“POST”,就会默认为HTTPGET请求。即缺省状态是调用get请求。
在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法。
(1)doGet方法:主要是处理Http中的Get请求
(2)doPost方法:主要是处理Http中的Post请求
那么Get请求和Post请求到底有什么样的区别
(1)get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串
例如,http://localhost:8888/javaweb/getServlet?name=123
(2)post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。
什么时候使用doGet和doPost方法:
1.通过表单提交到的servlet,看form的method是get还是post
2.通过链接<a href…>访问的servlet,doGet
3.直接在ie地址栏中键入的servlet地址,doGet
相关文章
- jsp和servlet区别
- jsp printwriter_java socket编程
- JSP setProperty和getProperty动作
- JSP application.getServletInfo()方法:获取servlet容器的名称和当前版本
- JSP EL表达式的基本语法及运算符(超详细)
- JSP jsp:params:多参数赋值标签
- JSP PageContext.getServletConfig()方法:获取当前页面的ServletConfig对象
- JSP JSTL <c:otherwise>标签:指定默认处理逻辑标签
- 如何使用JSP连接MySQL数据库(jsp如何连接mysql)
- 使用JSP快速连接Oracle数据库(jsp与oracle连接)
- 测试JSP连接MySQL:重塑Web应用(jsp测试mysql连接)
- 使用JSP与MySQL实现数据库连接(jsp和mysql连接)
- MySQL与JSP无缝连接——实现数据库操作(mysql连接jsp)
- JSP与MySQL的完美结合:学习如何调用数据库(jsp调用mysql)
- JSP实现Oracle数据库更新(jsp更新oracle)
- jsp源码实例5(cookie)
- jsp留言板源代码四:给jsp初学者.
- 初学jsp心得
- 如何防止IE缓存jsp文件
- JSP由浅入深(6)——JSP声明
- 在jsp中用bean和servlet联合实现用户注册、登录
- 深入剖析JSP和Servlet对中文的处理
- JSP报表打印的一种简单解决方案
- jsp简单自定义标签的forEach遍历及转义字符示例