更新时间:2023-01-29 来源:黑马程序员 浏览量:

当客户端访问Web服务器中的JSP页面时,会通过请求消息头传递一些信息,例如请求消息头中的“User-Agent”字段可以告诉服务器浏览器的类型。为了获取请求消息头中的信息,EL表达式提供了两个隐式对象header和headerValues,接下来,针对这两个对象进行详细讲解,具体如下。
header对象用于获取请求头字段的某个值,具体示例如下。
${header["user- agent"]} ${headerValues["Accept- language"] [0]}如果一个请求头字段有多个值,可以使用headerValues对象,该对象用于返回请求头字符的所有值组成的数组,如果要获取某个请求头字段的第一个值,可以使用如下代码。
为了让大家更好地学习这两个隐式对象,接下来通过一个案例来演示header和headerValues隐式对象如何获取请求参数的值,如例7-8所示。
例7-8 header.jsp
<%@page language="java" contentType="text/html;charset=utf-8"
pageEncoding="utf-8" import="java.util.*"%>
<html>
<head></head>
<body>
header.host:${Headers.host}
headerValues["Accept-Language"]:${headerValues["Accept-Language"] [0]}
headerValues["Accept-Language"]:${headerValues["Accept-Language"] [1]}
</body>
</html> 由于请求消息头中Accept-Language头字段的格式为zh-cn,zh;q=0,8,en-us;q=0.5,en;q=0.3,因此,使用headerValues对象只能获取到一个值zh-cn,假设将Accept-Language头字段赋予多个值,具体代码如下。
GET/chapter07/header.jsp HTTP/1.1 Host:localhost:8080 Accept-language:zh-cn Accept-language:en-us
此时,使用headerValues对象便可以获取Accept-Language头字段的多个值,获取到的结果如下。
header.host:localhost:8080 headerValues["Accept-Language"]:zh-cn headerValues["Accept-Language"]:en-us
需要注意的是,如果一个请求头字段有多个值,那么在使用header获取请求参数时,则返回请求头字段的第一个值。
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27