HttpServlet的doGet()和doPost()方法取一个HttpServletRequest和一个HttpServletResponse作为参数。
service()方法根据HTTP请求的HTTP方法(Get、Post等)来确定运行doGet()还是doPost()。
POST请求有一个体;GET请求没有。不过GET请求可以把请求参数追加到请求URL的后面(或称“查询串”)
GET请求本质上讲(根据HTTP规范)是幂等的。它们应当能多次运行而不会对服务器产生任何副作用。GET请求不应该修改服务器上的任何东西,但是可以写一个非幂等的doGet()方法(糟糕做法)
POST本质上讲不是幂等的,所以要适当设计和编写代码,如果客户错误地把一个请求发送了两次,你也能正确地加以处理。
如果HTML表单没有明确地指出“method=POST”,请求就会作为一个GET请求发送,而不是POST请求。如果你的servlet中没有doGet(),这个请求就会失败。
可以用getParameter("parametername")方法从请求得到参数。返回值总是一个String。
如果对应一个给定的参数名有多个参数值,要使用getParameterValues("parametername")方法返回一个String数组。
从请求对象还可以得到其他东西,包括首部、cookie、回话、查询串和输入流。
[img]http://benlee.iteye.com/upload/picture/pic/36277/0a97feb6-d567-3943-bab4-e07d458abe52.jpg[/img]
service()方法根据HTTP请求的HTTP方法(Get、Post等)来确定运行doGet()还是doPost()。
POST请求有一个体;GET请求没有。不过GET请求可以把请求参数追加到请求URL的后面(或称“查询串”)
GET请求本质上讲(根据HTTP规范)是幂等的。它们应当能多次运行而不会对服务器产生任何副作用。GET请求不应该修改服务器上的任何东西,但是可以写一个非幂等的doGet()方法(糟糕做法)
POST本质上讲不是幂等的,所以要适当设计和编写代码,如果客户错误地把一个请求发送了两次,你也能正确地加以处理。
如果HTML表单没有明确地指出“method=POST”,请求就会作为一个GET请求发送,而不是POST请求。如果你的servlet中没有doGet(),这个请求就会失败。
可以用getParameter("parametername")方法从请求得到参数。返回值总是一个String。
如果对应一个给定的参数名有多个参数值,要使用getParameterValues("parametername")方法返回一个String数组。
从请求对象还可以得到其他东西,包括首部、cookie、回话、查询串和输入流。
[img]http://benlee.iteye.com/upload/picture/pic/36277/0a97feb6-d567-3943-bab4-e07d458abe52.jpg[/img]