您当前的位置:首页 > 计算机 > 编程开发 > Java

JSP request对象,处理客户端请求

时间:10-11来源:作者:点击数:

当浏览器请求一个网页时,会附带一个 HTTP 请求的报头,它包含了很多重要信息,例如Cookie、字符接、URL、端口号等,可以通过 response 对象的方法来读取。

下面列出了 HTTP 请求报头包含的部分重要信息:

报头 说明
Accept 指定浏览器或其他客户端支持的 MIME 类型,例如常见的 "image/png" 和 "image/jpeg",表示可以显示 png 和 jpg 图片。
Accept-Charset 指定浏览器支持的字符集,例如 ISO-8859-1。
Accept-Encoding 指定浏览器支持的编码类型,即文件压缩格式,常用的有 compress、gzip 等。
Accept-Language 指定客户端的首选语言,如果 Servlet 支持多国语言,会优先返回由该语言构成的页面,例如 en、en-us、ru 等。
Authorization 在访问需要认证的页面时,浏览器会把用户输入的用户名和密码保存到 Authorization 字段发送给服务器,让服务器进行校验。
Connection 指定客户端是否支持持久的HTTP连接。持久连接是指浏览器或其他客户端使用同一个连接请求多个资源,不需要多次TCP握手,可以减轻服务器压力,提高响应速度,例如,可以使用持久连接请求页面上的多个图片。Keep-Alive 表示使用持久连接。
Content-Length 只适用于 POST 请求,指出传送的内容的大小(以字节计)。
Cookie 将浏览器的 cookie 信息发送到服务器。
Host 指定请求的页面的RUL和端口。
If-Modified-Since 浏览器请求图片、CSS、JavaScript 等资源时一般会附带该字段,如果该资源的修改日期晚于指定日期,那么将该资源返回,否则返回 304 状态码,表示该资源没有被修改,不需要返回新的。
If-Unmodified-Since If-Unmodified-Since 与 If-Modified-Since 相反,请求资源的修改日期早于指定日期才返回。
Referer 指定来路页面。例如在a页面上点击链接跳转到b页面,那么 Referer 的值就是a页面的url。 
User-Agent 指定客户端信息,包括浏览器类型、版本、操作系统、内核等,服务器可以根据不同的客户端返回不同的内容,提高兼容性。

request 对象

request 是JSP内置对象,可以直接使用,无需声明,它是 javax.servlet.http.HttpServletRequest 类的一个实例。

每次请求页面,JSP引擎都会创建一个新的 request 对象来表示当前请求。

request 对象提供了很多方法,用于获取HTTP报头信息,包括用户在 <form> 表单输入的数据、cookie、请求方式(GET/POST)等。

下面列举了 request 对象的部分方法:

序号 方法和返回值 说明
1 Cookie[] getCookies() 获取浏览器发送的 cookie,并以数组的形式返回。
3 Enumeration getHeaderNames() 返回一个枚举类型,包含了HTTP请求报头的所有字段的名称。
4 Enumeration getParameterNames() 返回 get/post 请求的所有参数的名称。
5 HttpSession getSession() 返回当前用户的 session 信息,如果 session 不存在,则创建新的 session。
6 HttpSession getSession(boolean create) 返回当前用户的 session 信息,如果 session 不存在并且 create 参数为 true,则创建新的 session,为 false 则不创建。
7 Locale getLocale() 返回客户端的首选区域设置,即HTTP报头中 Accept-Language 字段的值。
8 Object getAttribute(String name) 返回名称为 name 的属性的值,如果属性不存在,返回 null。
9 ServletInputStream getInputStream() 以二进制流的方式获取表单数据。如果需要上传图片或文件,必须将 <form> 表单的 enctype 属性设置为 multipart/form-data,然后调用 getInputStream() 方法以二进制流的方式读取文件数据。
10 String getAuthType() 返回用于保护Servlet的认证模式的名字,例如 BASIC、SSL 或 null(没有保护)。
12 String getContentType() 返回请求的 MIME 类型,如果没有则返回 null。
13 String getContextPath() 返回HTTP请求中指示请求上下文的部分。
14 String getHeader(String name) 返回HTTP报头中指定字段的值。
15 String getMethod() 返回HTTP请求方式,例如 GET、POST 等。
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门