在这里学习Servlet和JSP post
>> Servlet&JSP的那些事儿学习
>> servleturl
【书籍】spa
孙鑫的《Servlet/JSP深刻详解:基于Tomcat的Web开发》.net
林信良的《JSP&Servlet学习笔记(第二版)》线程
Servlet容器处理请求的过程orm
在开始正文以前,让咱们复习并细化一下Servlet容器处理请求的过程。对象
1)用户点击一个连接,指向了一个servlet而不是一个静态页面。blog
2)容器“看出”这个请求是一个Servlet,因此它建立了两个对象HttpServletRequest和HttpServletResponse。ci
3)容器根据请求中的URL找到正确的Servlet,为这个请求建立或分配一个线程,并把请求和响应对象传递给这个Servlet线程。
4)容器调用Servlet的service()方法。根据请求的不一样类型,service()方法会调用doGet()或doPost()方法。这里假设调用doGet()方法。
5)doGet()方法生成动态页面,并把这个页面“塞到”响应对象里,须要注意的是,容器还有响应对象的一个引用!
6)线程结束,容器把响应对象转换为一个HTTP响应,并把它发回给客户,而后删除请求和响应对象。
那么问题来了:doGet()和doPost()的区别?
1.doGet和doPost的区别,在何时调用,为何有时doPost中套用doGet
2.提交的form method=Post就执行DOPOST,不然执行GOGET 套用是无论method是post仍是get都执行dopost方法
3.get:你能够经过URL传参数。http://www.csdn.net/index.asp?user=1234 , Post不行 4.你的表单提交都有方法的,若是提交为get就调用get方法,用post就调用post方法. get显示你传过去的参数,post则不显示. 5.一般的写法:先用doGet(),而后在doPost()中调用doGet(),这样就万无一失了 6. 简单的说,get是经过http header来传输数据,有数量限制,而post则是经过http body来传输数据,没有数量限制。 7.还有一点:get和post提交的数据量是不同的. get好像最多只能在url后跟64K(?具体多少忘记了), post好像没这个限制,至少我post过5M以上的文本 还有url刷新时get好像能够不用重复提交原来提交的数据, 而post则会说内容已提交,想刷新请再提交.