掌握JSP九大内置对象详解
在Java Server Pages (JSP) 开发中,内置对象是JSP引擎提供的核心类,它们在服务器端运行时自动创建并用于处理客户端请求。本文将详细介绍JSP中的9个关键内置对象及其功能,帮助开发者更好地理解和利用这些对象来构建动态Web应用。 1. **request**:这是最重要的内置对象,代表了HTTP客户端发送的请求。`getAttribute(String name)` 方法用于获取指定名称的属性值,`getAttributeNames()` 可以枚举所有属性名。通过`getCharacterEncoding()`,可以获取请求的字符编码,`getContentLength()` 获取请求内容长度,`getContentType()` 提供请求内容的MIME类型。`getInputStream()` 和 `getReader()` 可以读取请求的输入流和文本数据。 2. **response**:与request对应,用于向客户端返回响应。虽然这里没有提及,但response同样包含类似的方法,如设置状态码、头信息等。 3. **session**:用于在多个请求之间保存用户状态或会话数据,提供`setAttribute` 和 `getAttribute` 方法进行存储和获取。 4. **application**:在整个应用范围内的共享数据存储,对所有用户可见。 5. **out**:JSP中的输出对象,用于向客户端输出HTML、XML或文本。例如,`<%= request.getMethod() %>` 是将request对象的method属性输出到页面。 6. **config**:提供应用程序的配置信息。 7. **pageContext**:封装了request、session、application和out对象,提供统一的接口访问它们。 8. **exception**:处理程序运行时的异常,可用于捕获和处理错误。 9. **page`:表示当前正在处理的JSP页面本身,提供了页面生命周期的方法和属性,如`isErrorPage()`、`isInclude()`等。 10-15. 这些内置对象涵盖了请求的细节,如协议、服务器名、端口、远程地址和主机名等。这些信息对于服务器管理和调试非常有用。 16-17. `setAttribute` 和 `getRealPath` 方法用于设置和获取对象的属性,而`getRemoteAddr` 和 `getRemoteHost` 则获取客户端的网络地址和主机名。 18. JSP页面的开始部分设置了`<%@page contentType="text/html;charset=gb2312"%>` 和 `request.setCharacterEncoding("gb2312");`,确保了页面内容的字符集和请求编码的一致性。 19-20. 在示例代码中,`<%= ... %>` 表达式用于动态地将request对象的属性值插入到HTML输出中,如请求方法、URI、协议、路径等。 掌握这9大内置对象的使用,能有效提升JSP开发效率和代码质量,同时也有助于更好地理解HTTP协议和Web应用架构。
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
序号 方 法 说 明
1 object getAttribute(String name) 返回指定属性的属性值
2 Enumeration getAttributeNames() 返回所有可用属性名的枚举
3 String getCharacterEncoding() 返回字符编码方式
4 int getContentLength() 返回请求体的长度(以字节数)
5 String getContentType() 得到请求体的MIME类型
6 ServletInputStream getInputStream() 得到请求体中一行的二进制流
7 String getParameter(String name) 返回name指定参数的参数值
8 Enumeration getParameterNames() 返回可用参数名的枚举
9 String[] getParameterValues(String name) 返回包含参数name的所有值的数组
10 String getProtocol() 返回请求用的协议类型及版本号
11 String getScheme() 返回请求用的计划名,如:http.https及ftp等
12 String getServerName() 返回接受请求的服务器主机名
14 BufferedReader getReader() 返回解码过了的请求体
15 String getRemoteAddr() 返回发送此请求的客户端IP地址
16 String getRemoteHost() 返回发送此请求的客户端主机名
17 void setAttribute(String key,Object obj) 设置属性的属性值
18 String getRealPath(String path) 返回一虚拟路径的真实路径
19
20
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
请求方式:<%=request.getMethod()%>
请求的资源:<%=request.getRequestURI()%>
请求用的协议:<%=request.getProtocol()%>
请求的文件名:<%=request.getServletPath()%>
请求的服务器的IP:<%=request.getServerName()%>
请求服务器的端口:<%=request.getServerPort()%>
剩余18页未读,继续阅读
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展