JavaWeb chapter 4 Servlet处理HTTP请求

1、  GET/POST提交方法:

  • 用户在网页上点击一个超链接;(get)
  • 用户提交在网页上提交表单;(post或者get)
  • 用户在浏览器地址栏输入URL地址并回车(get)

2、  默认情况下都是使用HTTP协议的GET方法提交请求。

3、  get方法:

提交数据类型:文本;

提交数据长度:不超过255个字符;

提交数据可见性:作为URL地址的一部分显示在浏览器地址栏;

提交数据缓存:缓存在浏览器URL历史状态中。

post方法:

提交数据类型:文本、二进制数据;

提交数据长度:没有限制;

提交数据可见性:作为请求的消息体,不可见;

提交数据缓存:不会被浏览器缓存。

4、

  • 请求一个静态页面或图形文件时使用GET方法,因为仅仅需要发送文件名;
  • 传送大数据、保密信息、上传文件等时候使用POST方法。

5、获取HTTP请求行和请求头:

         getMethod():获取HTTP请求方法;

         getRequestURI();获取请求的URL资源;

         getProtocol();获取HTTP协议版本。

         getHeader(name);返回指定的请求头的值

         getHeaders();返回所有请求头的所有值

         getHeaderNames();特定请求中接受到所有请求头的名称

6、获取请求消息体:

         消息体可以是普通文本也可以是二进制数据;

         getParameter(parameterName)通过表单参数名获得参数值,参数名区分大小写,只能获取文本数据(string)。

         getInputStream()或者getReader()方法获取二进制数据。

         HttpServletRequest对象中最常用的方法是获取请求参数的方法:getParameter()和getParameterValues()。

        

7、请求转发和重定向的区别:

  • 重定向是客户端浏览器来完成,而请求转发是服务器完成;
  • 重定向后浏览器URL地址会改变,而请求转发不会改变;
  • 重定向有两次请求/响应,而请求转发只有一次请求/响应;

8、RequestDispatcher对象提供两种方法:forward(),include();

9、请求范围:变量可以保存在请求范围中,在请求范围之外就不能进行访问了。

         forrward()方法意味着把请求和响应派发给别的资源后,就不会再去做任何处理了。

         include()方法意味着请求别人帮助处理请求,但这并不是完全移交,只是暂时地把控制权交给别人。

         HttpServletRequest可以把一个对象用名字绑定在请求范围内,并进行访问和删除。

原文地址:https://www.cnblogs.com/littlejava/p/5598968.html