使用Servlet接受服务器端请求信息
HTTP请求包括请求行、请求头、消息体以及分割请求头和消息体的一个空行。
客户端的HTTP请求通过HttpServletRequest对象代表。HttpServletRequest对象只要用于获取由客户端发送过来的请求头、
参数、文件、数据等。Servlet规范中对此对象进行了增强,使其还可以与Web应用程序交互。例如,会话管理、Servlet之
间的请求转发等。Servlet存在的真正任务就是处理请求。

GET/POST提交方法
当下列任何一条事件发生的时候。浏览器都会向Web服务器发送HTTP请求:
用户在网页上点击一个超链接;
用户提交网页填写好的表单;
用户在浏览器地址栏输入URL地址并回车;
默认情况下,上述事件都是使用HTTP协议的GET方法提交请求。然而,我们也可以使用不同的HTTP请求方法来定制浏览器行为。
如果在HTML中没有具体指定"method"属性,浏览器将缺省使用GET方法。如果使用POST请求,必须在表单中指定"method='post'"。
特征: GET POST

提交数据类型 文本 文本,二进制流
提交数据长度 不超过255个字符 没有限制
提交数据可见性 作为URL地址的一部分显示在浏览器地址栏 作为请求的消息体,不可见
提交数据缓存 缓存在浏览器URL历史状态中 不会被浏览缓存



通过上述,我们可以概括出在什么时候用GET/POST方法:
请求一个静态页面或图形文件时使用GET方法,因为仅仅需要发送文件名;
发送大数据的时候,使用POST方法;
发送用户名,密码或其它保密信息的时候使用POST方法

HTTP请求方法与HttpServlet方法对应关系:



HTTP请求方法类型                HttpServlet处理方法
GET                             doGet()
HEAD   doHead()
POST   doPost()
PUT   doPut()
DELETE   doDelete()
OPTIONS                      doOptions()
TRACE                           doTrace()
          
HttpServlet提供了这些方法的实现,在我们编写的Servlet中只需要覆盖这些方法就可以了。根据Servlet生命周期,
这些方法的调用过程如下:
1)容器调用service(ServletRequest,ServletResponse)方法;
2)service(ServletRequest,ServletResponse)方法在调用用一个类中的service(HttpServletRequest,
HttpServletResponse);
3)service(ServletRequest,ServletResponse)方法将分析HTTP请求,找到请求方法类型然后调用相应的处理方法。

如果在自定义的Servlet类中覆盖service方法。doXXX方法将不会自动调用。在绝大多数的情况下,我们只需要关心
GET/POST方法方法就行了。