JSP九大内置对象详解:request对象详细使用方法
需积分: 14 181 浏览量
更新于2024-09-17
收藏 47KB DOC 举报
JSP九大内置对象详解
JSP九大内置对象是JavaServer Pages(JSP)中内置的九个对象,它们是JSP页面中最基本也是最重要的对象。这些对象可以帮助开发者快速开发Web应用程序,提高开发效率和质量。本文将详细讲解JSP九大内置对象的用法,包括每个对象拥有的方法,以及每个对象的用法都有例子讲解。
一、request对象
request对象是JSP九大内置对象中最重要的一个对象,它封装了客户端的请求信息,通过它才能了解到客户的需求,然后做出响应。request对象是HttpServletRequest类的实例。
request对象拥有的方法有:
1. getAttribute(String name):返回指定属性的属性值
2. getAttributeNames():返回所有可用属性名的枚举
3. getCharacterEncoding():返回字符编码方式
4. getContentLength():返回请求体的长度(以字节数)
5. getContentType():得到请求体的MIME类型
6. getInputStream():得到请求体中一行的二进制流
7. getParameter(String name):返回name指定参数的参数值
8. getParameterNames():返回可用参数名的枚举
9. getParameterValues(String name):返回包含参数name的所有值的数组
10. getProtocol():返回请求用的协议类型及版本号
11. getScheme():返回请求用的计划名,如:http、https及ftp等
12. getServerName():返回接受请求的服务器主机名
13. getServerPort():返回服务器接受此请求所用的端口号
14. getReader():返回解码过了的请求体
15. getRemoteAddr():返回发送此请求的客户端IP地址
16. getRemoteHost():返回发送此请求的客户端主机名
17. setAttribute(String key, Object obj):设置属性的属性值
18. getRealPath(String path):返回一虚拟路径的真实路径
request对象的用法示例如下:
```jsp
<%@ page contentType="text/html;charset=gb2312" %>
<% request.setCharacterEncoding("gb2312"); %>
<html>
<head>
<title>request对象_例1</title>
</head>
<body>
<%
String name = request.getParameter("name");
out.println("欢迎您," + name);
%>
</body>
</html>
```
在上面的例子中,我们使用request对象的getParameter()方法获取客户端传递的参数name,然后将其输出到页面上。
二、response对象
response对象是JSP九大内置对象中另一个重要的对象,它封装了服务器对客户端的响应信息。response对象是HttpServletResponse类的实例。
response对象拥有的方法有:
1. setContentType(String type):设置响应体的MIME类型
2. setCharacterEncoding(String charset):设置响应体的字符编码方式
3. setContentLength(int len):设置响应体的长度
4. setHeader(String name, String value):设置响应头的名称和值
5. addCookie(Cookie cookie):添加一个Cookie
6. sendRedirect(String location):重定向到指定的URL
7. setStatus(int status):设置响应状态码
response对象的用法示例如下:
```jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
response.setContentType("text/html;charset=gb2312");
response.setCharacterEncoding("gb2312");
response.setHeader(" Cache-Control", "no-cache");
%>
<html>
<head>
<title>response对象_例1</title>
</head>
<body>
<%
out.println("欢迎您!");
%>
</body>
</html>
```
在上面的例子中,我们使用response对象的setContentType()和setCharacterEncoding()方法设置响应体的MIME类型和字符编码方式,然后使用setHeader()方法设置响应头的名称和值。
三、pageContext对象
pageContext对象是JSP九大内置对象中一个重要的对象,它封装了JSP页面的上下文信息。pageContext对象是PageContext类的实例。
pageContext对象拥有的方法有:
1. getRequest():返回当前请求的request对象
2. getResponse():返回当前响应的response对象
3. getSession():返回当前会话的session对象
4. getServletContext():返回当前应用程序的servlet上下文
5. getOut():返回当前页面的out对象
6. getException():返回当前页面的异常对象
pageContext对象的用法示例如下:
```jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
pageContext.getRequest().setAttribute("name", "John");
out.println("欢迎您," + pageContext.getRequest().getAttribute("name"));
%>
<html>
<head>
<title>pageContext对象_例1</title>
</head>
<body>
<!-- 页面内容 -->
</body>
</html>
```
在上面的例子中,我们使用pageContext对象的getRequest()方法获取当前请求的request对象,然后使用request对象的setAttribute()方法设置一个属性。
四、session对象
session对象是JSP九大内置对象中一个重要的对象,它封装了当前会话的信息。session对象是HttpSession类的实例。
session对象拥有的方法有:
1. getAttribute(String name):返回指定属性的属性值
2. getAttributeNames():返回所有可用属性名的枚举
3. setAttribute(String name, Object obj):设置属性的属性值
4. removeAttribute(String name):删除指定属性
5. invalidate():使当前会话无效
session对象的用法示例如下:
```jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
session.setAttribute("name", "John");
out.println("欢迎您," + session.getAttribute("name"));
%>
<html>
<head>
<title>session对象_例1</title>
</head>
<body>
<!-- 页面内容 -->
</body>
</html>
```
在上面的例子中,我们使用session对象的setAttribute()方法设置一个属性,然后使用getAttribute()方法获取该属性的值。
五、application对象
application对象是JSP九大内置对象中一个重要的对象,它封装了当前应用程序的信息。application对象是ServletContext类的实例。
application对象拥有的方法有:
1. getAttribute(String name):返回指定属性的属性值
2. getAttributeNames():返回所有可用属性名的枚举
3. setAttribute(String name, Object obj):设置属性的属性值
4. removeAttribute(String name):删除指定属性
5. getServletContextName():返回当前应用程序的名称
application对象的用法示例如下:
```jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
application.setAttribute("name", "John");
out.println("欢迎您," + application.getAttribute("name"));
%>
<html>
<head>
<title>application对象_例1</title>
</head>
<body>
<!-- 页面内容 -->
</body>
</html>
```
在上面的例子中,我们使用application对象的setAttribute()方法设置一个属性,然后使用getAttribute()方法获取该属性的值。
六、out对象
out对象是JSP九大内置对象中一个重要的对象,它封装了当前页面的输出流。out对象是JspWriter类的实例。
out对象拥有的方法有:
1. print(String s):输出一个字符串
2. println(String s):输出一个字符串并换行
3. println():输出一个换行符
out对象的用法示例如下:
```jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
out.println("欢迎您!");
%>
<html>
<head>
<title>out对象_例1</title>
</head>
<body>
<!-- 页面内容 -->
</body>
</html>
```
在上面的例子中,我们使用out对象的println()方法输出一个字符串。
七、config对象
config对象是JSP九大内置对象中一个重要的对象,它封装了当前页面的配置信息。config对象是ServletConfig类的实例。
config对象拥有的方法有:
1. getServletName():返回当前Servlet的名称
2. getServletContext():返回当前应用程序的servlet上下文
3. getInitParameter(String name):返回当前Servlet的初始化参数
config对象的用法示例如下:
```jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
out.println("当前Servlet的名称是:" + config.getServletName());
%>
<html>
<head>
<title>config对象_例1</title>
</head>
<body>
<!-- 页面内容 -->
</body>
</html>
```
在上面的例子中,我们使用config对象的getServletName()方法获取当前Servlet的名称。
八、page对象
page对象是JSP九大内置对象中一个重要的对象,它封装了当前页面的信息。page对象是Object类的实例。
page对象拥有的方法有:
1. getClass():返回当前页面的类
2. toString():返回当前页面的字符串表示
page对象的用法示例如下:
```jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
out.println("当前页面的类是:" + page.getClass());
%>
<html>
<head>
<title>page对象_例1</title>
</head>
<body>
<!-- 页面内容 -->
</body>
</html>
```
在上面的例子中,我们使用page对象的getClass()方法获取当前页面的类。
九、exception对象
exception对象是JSP九大内置对象中一个重要的对象,它封装了当前页面的异常信息。exception对象是Throwable类的实例。
exception对象拥有的方法有:
1. getMessage():返回当前异常的消息
2. printStackTrace():输出当前异常的栈轨迹
exception对象的用法示例如下:
```jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
try {
// 执行可能抛出异常的代码
} catch (Exception e) {
out.println("异常信息:" + e.getMessage());
}
%>
<html>
<head>
<title>exception对象_例1</title>
</head>
<body>
<!-- 页面内容 -->
</body>
</html>
```
在上面的例子中,我们使用exception对象的getMessage()方法获取当前异常的消息。
2023-09-29 上传
2023-09-02 上传
2023-04-09 上传
2023-06-08 上传
2024-06-16 上传
2023-05-19 上传
小威廉
- 粉丝: 1
- 资源: 15
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍