### JSP内置对象详解及其具体方法 在Java Server Pages (JSP)技术中,内置对象是JSP页面中预定义的对象,它们提供了处理客户端请求、响应、会话管理以及访问服务器资源的功能。以下是对JSP内置对象之一——`request`对象的详细说明,包括其常用方法。 #### `request`对象 `request`对象代表了来自客户端的HTTP请求,它是`javax.servlet.http.HttpServletRequest`类的实例,提供了一系列的方法来获取请求的各种属性和数据。下面将详细介绍`request`对象的一些核心方法: 1. **`Object getAttribute(String name)`** 返回指定名称的属性值。如果没有设置该属性,则返回`null`。这通常用于在过滤器或后端Servlet中设置的属性,以便在JSP页面中使用。 2. **`Enumeration<String> getAttributeNames()`** 返回一个枚举,包含所有属性的名称。可以用于遍历所有的属性。 3. **`String getAuthType()`** 返回认证方式的字符串表示。如果请求没有经过认证,则返回`null`。 4. **`String getCharacterEncoding()`** 返回请求的字符编码。如果没有设置,则返回默认的编码或`null`。 5. **`int getContentLength()`** 返回请求体的长度,以字节为单位。如果长度未知,则返回-1。 6. **`String getContentType()`** 返回请求体的MIME类型,例如`application/x-www-form-urlencoded`。 7. **`String getContentPath()`** 此方法似乎没有直接对应的标准`HttpServletRequest`接口中的方法,可能是对`getContextPath()`的误写。`getContextPath()`返回应用上下文路径。 8. **`Cookie[] getCookies()`** 返回一个数组,包含了所有从客户端发送来的`Cookie`。如果没有`Cookie`,则返回空数组。 9. **`Enumeration<String> getHeaderNames()`** 返回一个枚举,包含所有HTTP头部字段的名称。 10. **`Enumeration<String> getHeaders(String name)`** 返回一个枚举,包含指定头部字段的所有值。 11. **`String getHeader(String name)`** 返回指定头部字段的第一个值。如果该头部字段不存在,则返回`null`。 12. **`long getDateHeader(String name)`** 返回指定头部字段的时间值,以毫秒为单位。如果该头部字段不存在,则返回-1。 13. **`int getIntHeader(String name)`** 返回指定头部字段的整数值。如果该头部字段不存在或不能解析为整数,则返回-1。 14. **`ServletInputStream getInputStream()`** 返回一个输入流,用于读取请求体的内容。 15. **`Locale getLocale()`** 返回客户端首选的语言环境。 16. **`Enumeration<Locale> getLocales()`** 返回一个枚举,包含客户端支持的所有语言环境。 17. **`String getLocalName()`** 返回服务器的本地主机名。 18. **`String getLocalAddr()`** 返回服务器的本地地址。 19. **`int getLocalPort()`** 返回服务器监听的本地端口号。 20. **`String getMethod()`** 返回请求方法的字符串表示,如`GET`、`POST`等。 21. **`String getParameter(String name)`** 返回指定名称的参数值。如果没有设置该参数,则返回`null`。 22. **`Map<String, String[]> getParameterMap()`** 返回一个映射,其中键是参数名称,值是一个字符串数组,包含该参数的所有值。 23. **`Enumeration<String> getParameterNames()`** 返回一个枚举,包含所有参数的名称。 24. **`String[] getParameterValues(String name)`** 返回指定名称参数的所有值。 25. **`String getQueryString()`** 返回查询字符串,即URL中的`?`后面的部分。 26. **`String getPathInfo()`** 返回请求路径中Servlet路径后面的任何额外路径信息。 27. **`String getPathTranslated()`** 返回`getPathInfo()`返回的路径信息的实际文件系统路径。 28. **`String getProtocol()`** 返回协议名称和版本,如`HTTP/1.1`。 29. **`BufferedReader getReader()`** 返回一个字符输入流,用于读取请求体的内容。 30. **`String getRemoteAddr()`** 返回远程客户端的IP地址。 31. **`String getRemoteHost()`** 返回远程客户端的主机名。 32. **`String getRemoteUser()`** 返回已登录用户的用户名,如果没有用户登录,则返回`null`。 33. **`int getRemotePort()`** 返回远程客户端的端口号。 34. **`String getRealPath(String path)`** 返回服务器上指定虚拟路径的实际物理路径。 35. **`RequestDispatcher getRequestDispatcher(String path)`** 返回一个`RequestDispatcher`对象,用于转发请求到指定的资源。 36. **`String getRequestedSessionId()`** 返回与请求关联的会话ID。 37. **`String getRequestURI()`** 返回请求的统一资源标识符(URI)。 38. **`StringBuffer getRequestURL()`** 返回一个`StringBuffer`,包含请求的完整URL。 39. **`String getScheme()`** 返回用于请求的方案名,如`http`、`https`或`ftp`。 40. **`String getServerName()`** 返回服务器的主机名。 41. **`String getServletPath()`** 返回请求路径中Servlet的路径。 42. **`int getServerPort()`** 返回服务器监听的端口号。 43. **`void removeAttribute(String name)`** 删除指定名称的属性。 44. **`void setAttribute(String name, Object value)`** 设置或更新指定名称的属性。 45. **`void setCharacterEncoding(String encoding)`** 设置请求的字符编码。 46. **`HttpSession getSession()`** 返回与请求关联的会话。 47. **`HttpSession getSession(boolean create)`** 如果`create`为`true`,则返回现有会话或创建一个新会话;如果`create`为`false`,则仅返回现有会话,否则返回`null`。 48. **`boolean isRequestedSessionIdFromCookie()`** 检查请求的会话ID是否通过Cookie获得。 49. **`boolean isRequestedSessionIdFromURL()`** 检查请求的会话ID是否通过URL获得。 50. **`boolean isRequestedSessionIdValid()`** 检查请求的会话ID是否有效。 这些方法为开发人员提供了丰富的工具,用于处理和分析HTTP请求,从而实现更复杂的应用逻辑和用户交互。理解和熟练掌握`request`对象及其方法是进行JSP开发的基础。
1.request对象
request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。
1 Object getAttribute(String name) 返回指定属性的属性值,该属性不存在时返回null。
2 Enumeration getAttributeNames() 返回所有可用属性名的枚举
3 String getAuthType() ;返回用来保护servlet的认证方法的名称,未受保护时返回null。
4 String getCharacterEncoding() 返回字符编码方式
5 int getContentLength() 返回请求体的长度(以字节数),不能确定长度时返回-1。
6 String getContentType() 得到请求体的MIME类型
7 String getContentPath() 返回请求的路径。
8 Cookie[] getCookies() 返回客户端所有的Cookie的数组。
9 Enumeration getHeaderNames() 返回所有HTTP头的名称的集合。
10 Enumeration getHeaders( String name ) 返回指定HTTP头的所有值的集合。
11 String getHeader( String name ) 返回指定名称的HTTP头的信息。
12 long getDateHeader( String name ) 返回指定名称的Data类型的HTTP头的信息。
13 int getIntHeader( String name ) 返回指定名称的Int类型的HTTP头的信息。
14 ServletInputStream getInputStream() 得到请求体中一行的二进制流
15 Locale getLocale() 返回当前页的Locale对象,可以在response中设定。
16 Enumeration getLocales() 返回请求中所有的Locale对象的集合。
17 String getLocalName() 获取响应请求的服务器端主机名。
18 String getLocalAddr() 获取响应请求的服务器端地址。
19 int getLocalPort() 获取响应请求的服务器端端口
20 String getMethod() 获取客户端向服务器端发送请求的方法(GET、POST)。
21 String getParameter(String name) 返回name指定参数的参数值
22 Map getParameterMap() 该方法返回包含请求中所有参数的一个Map对象。
23 Enumeration getParameterNames() 返回请求中所有参数的集合。
24 String[] getParameterValues(String name) 返回包含参数name的所有值的数组
25 String getQueryString() 返回get方法传递的参数字符串,该方法不分解出单独的参数。
26 String getPathInfo() 取出请求中处于ServletPath和QueryString之间的额外信息。
28 String getProtocol() 返回请求使用的协议。可以是HTTP1.1或者HTTP1.0。
29 BufferedReader getReader() 返回请求的输入流对应的Reader对象,该方法和getInputStream()方法在一个页面中只能调用一个。
30 String getRemoteAddr() 返回发送此请求的客户端IP地址
31 String getRemoteHost() 返回发送此请求的客户端主机名
32 String getRemoteUser() 返回经过客户端验证的用户名,未经验证返回null。
33 int getRemotePort() 返回发出请求的客户端主机端口。
34 String getRealPath(String path) 返回一虚拟路径的真实路径
35 RequestDispatcher getRequestDispatcher( String path ) 按给定的路径生成资源转向处理适配器对象。
36 String getRequestedSessionId() 返回请求的session的标识。
37 String RequestURI() 返回发出请求的客户端地址,但是不包括请求的参数字符串。
38 StringBuffer getRequestURI() 返回响应请求的服务器端地址
39 String getScheme() 返回请求用的计划名,如:http.https及ftp等
40 String getServerName() 返回响应请求的服务器名称。
41 String getServletPath() 获取客户端所请求的脚本文件的文件路径。
42 int getServerPort() 返回服务器接受此请求所用的端口号
43. void removeAttribute( String name ) 在属性列表中删除指定名称的属性。
44. void setAttribute( String name, Object value ) 在属性列表中添加/删除指定的属性。
45. void setCharacterEncoding( String name ) 设置请求的字符编码格式。
46. HttpSession getSession() ;
HttpSession getSession( boolean create ) 获取session,如果create为true,在无session的情况下创建一个。
47. boolean isRequestedSessionIdFromCookie() 检查请求的会话ID是否为通过Cookie传入。
48. boolean isRequestedSessionIdFromURL() 检查请求的会话ID是否为通过URL传入。
49. boolean isRequestedSessionIdValid() 检查请求的会话ID是否仍然有效。
50. boolean isSecure() 检查请求是否使用安全链接,如果HTTPS等。
51. boolean isUserInRole( String role ) 检查已经通过验证的用户是否在是role所指定的角色。
52. Principal getUserPrincipal() 返回包含用户登陆名的一个java.security.Principal对象。
成员:
String BASIC_AUTH = "BASIC"
String CLIENT_CERT_AUTH = "CLIENT_CERT"
剩余7页未读,继续阅读
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java-leetcode题解之Flip String to Monotone Increasing.java
- java-leetcode题解之Flip Equivalent Binary Trees.java
- 纯电动汽车(含增程式)的 Simulink 整车仿真模型
- Matlab魔术轮胎公式,轮胎动力学仿真,包含纯制动,纯转弯,以及制动+转弯联合3种工况 附带参考文献,复现lunwen代码仿
- comsol锂枝晶模型 四合一 1雪花枝晶 2单点形核 3多点形核 4形状形核 包含相场、浓度场和电场三种物理场(雪花枝晶除外)
- 三相电压型PWM整流器,电压外环采用非线性二阶离散自抗扰(ADRC用的模块搭建的离散型),电流内环PI控制 ADRC扰动跟踪良
- 高压直流输电Matlab仿真模型(LCC- HVDC)500kv和800kv的电压等级都有,而且有控制切
- LabVIEW调用VisionPro框架代码 VisionPro labview 2020
- 弯扭耦合行星齿轮动力学程序matlab
- 六自由度并联Stewart Platform平台, matlab GUI界面,有动画显示,可更改角度和杆长 六自由度平台(六自