JSP九大内置对象详解:request对象详细使用方法

需积分: 14 5 下载量 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()方法获取当前异常的消息。