JSP中九大内置对象和四大作用域

一共有九大内置对象:

request、response、out、session、application、pageContext、page、config、exception

内置对象(又叫隐含对象),就是在jsp中,不需要创建(由服务器<容器>来创建),可以直接使用的对象。

request           请求对象             类型 javax.servlet.ServletRequest        作用域 Request

response          响应对象              类型 javax.servlet.SrvletResponse        作用域 Page

pageContext       页面上下文对象        类型 javax.servlet.jsp.PageContext       作用域 Page

session           会话对象              类型 javax.servlet.http.HttpSession      作用域 Session

application       应用程序对象          类型 javax.servlet.ServletContext        作用域 Application

out               输出对象              类型 javax.servlet.jsp.JspWriter         作用域 Page

config            配置对象              类型 javax.servlet.ServletConfig         作用域 Page

page              页面对象              类型 javax.lang.Object                   作用域 Page

exception         例外对象              类型 javax.lang.Throwable                作用域 page

page 当前页面有效时间最短(页面执行期)

request HTTP请求开始到结束这段时间

session HTTP会话开始到结束这段时间

application 服务器启动到停止这段时间

out:所属类JspWriter
  request:实现了HttpServletRequest接口(此接口继承于ServletRequest接口)
  response:实现了HttpServletResponse接口(此接口继承于ServletResponse接口)
  session:实现了HttpSession接口
  application对象实现的接口ServletContext

1.out对象:向客户端输出信息

主要有两个方法,print和println,后者不能实现换行

举例:输出一段粗体文字

out.print("<b>这是一段粗体文字</b>");

我们可以用out.print向客户端输出任何信息,比如说输出一个表格,等等。

在网页上使用System.out.println(),信息输出到控制台上。

2.request对象:获取客户端传递到服务器的信息。

request常用方法举例

(1)getParameter
     获取客户端传递给服务器的一个参数的值
  (2)getParameterNames
     获取客户端传递给服务器的所有参数的名字
  (3)getParameterValues
     获取一个参数的所有值(比如checkbox的情况)
 
  (4)setAttribute
  (5)getAttribute            attribute=属性
  (6)removeAttribute
主要用在struts框架中

必须在同一次请求中设置的属性,才能获取到
 (7)getAttributeNames

(8)getCookies,讲Cookie的时候单独讲
    cookie 小甜饼,把个人信息存放在客户端的一门技术

(9)getCharacterEncoding
 
  (10)getContentLength

(11)getMethod

(12)getRequestURL

(13)getRemoteAddr

(14)getServerName

(13)getServerPort

(14)getServletPath

(15)getContextPath

(16)getHeader,getHeaders,getHeaderNames
    
    Header:网页头,网页控制信息
   
   request.getHeader("Referer") 来自的网页

3.response对象: 向客户端浏览器输出信息,对客户的请求做成响应
 
4.session: 会话失效时间 ,tomcat中默认是30分钟,可以设置。 每个用户的会话空间是隔离的。

5.application 应用对象
  
  application,session,request:都可以通过setAttribute来设置属性,用getAttribute来获取属性,但是可见范围不一样。
  application对象所设置的属性,所有会话可见,而session对象设置的属性,只有在同一个session中可见。
  同样,前面讲过的request,它所设置的属性,只有在同一次请求之间可见。

application 不会过期,在整个服务器运行期间都有效,服务器重启后丢失。

application的其他一些方法:
  
  application.getRealPath()

6.page对象
  
  JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。
  
7.config对象:主要作用是取得服务器的配置信息。
常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。

通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。

8.exception对象
 在可能产生错误的文件中用page指令指定errorpage
 在所指定的errorpage中,设置isErrorPage="true"这个page指令,然后用exception对象获取错误信息。
<%@page errorPage="error.jsp"%>

session也是需要在页面上设置page指令的。

9.pageContext对象

作用:a.可以用它获取其他八大内置对象的句柄(本身的句柄不用获取)

out
pageContext.getOut()
request
pageContext.getRequest();
response
pageContext.getResponse();
session
pageContext.getSession();
application
pageContext.getServletContext();
config
pageContext.getServletConfig();
exception
pageContext.getException();
page
pageContext.getPage();

b.可以用它设置或者获取4个不同范围(page,request,session,application)内的变量的值

设置的值只能在本页面内有效
pageContext.setAttribute ("name" , "John") ;

设置的值在同一个request请求中有效。   
pageContext.setAttribute("name" , "John", PageContext.REQUEST_SCOPE))
相当于request.setAttribute("name" , "John");

设置的值在同一个session请求中有效。   
pageContext.setAttribute("name" , "John", PageContext.SESSION_SCOPE))
相当于session.setAttribute("name" , "John");

设置的值在整个应用中有效。   
pageContext.setAttribute("name" , "John", PageContext.APPLICATION_SCOPE))
相当于application.setAttribute("name" , "John");

原文地址:https://www.cnblogs.com/qxl1234/p/8313103.html

时间: 2024-09-29 17:07:02

JSP中九大内置对象和四大作用域的相关文章

jsp九大内置对象和四大作用域

看到网上一些Jsp内置对象介绍的都不是很全,今天我把各位大神的整理了一下. JSP九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用. 一.request对象:代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象.客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例.作用域为request(用户请求期). 常用方法: 1 object g

JSP 九大内置对象及四大作用域

JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.exception 1.request对象javax.servlet.http.HttpServletRequest request对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据.(包括头信息.系统信息.请求方式以及请求参数等).request对 象的作用域为一次请求. 当Request对象获取

JSP总结(三)——JSP中九大内置对象(汇总)

注:后缀为汇总的基本上是整理一些网上的. 一.九大内置对象分类: 1. request  请求对象 类型 javax.servlet.ServletRequest        作用域 Request 2. response  响应对象 类型 javax.servlet.SrvletResponse       作用域  Page 3. pageContext   页面上下文对象 类型 javax.servlet.jsp.PageContext      作用域    Page 4. sessi

JSP中九大内置对象及其数据类型

JSP中九大内置对象为: request              请求对象               类型 javax.servlet.ServletRequest         作用域 Request response            响应对象                  类型 javax.servlet.SrvletResponse         作用域  Page pageContext      页面上下文对象       类型 javax.servlet.jsp.P

JSP中九大内置对象+request对象的属性介绍和如何应用

JSP的九大内置对象requestresponseApplicationconfigoutpagepageContextsessionException默认没有,需要进行在Page指令下进行isErrorPage属性配置,才能够使用这个属性,一般页面没有这个对象.A:form表单默认提交过来的就是字符串.(非常重要)B:学会看内存地址,例如:[java.lang.String.123456...//此内存地址为字符串数组,而非字符串.C:request的作用域(一次链接).D:请求转发和重定向的

九大内置对象及四大作用域

二,九大内置对象到底是哪九大呢? [plain] view plain copy print? 内置对象名          类型 request        HttpServletRequest response       HttpServletResponse config         ServletConfig application    ServletContext session        HttpSession exception      Throwable page

JSP语法九大内置对象和四大作用域

一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标签及文本 2. 脚本:写JAVA代码,<% %> 3. 表达式:用于输出变量及表达式,<%= %> 4. 注释:分为三种 a) <!-- --> :JSP翻译成Servlet时也将进行翻译.页面中也有. b) <% /*.......*/ %>:JSP翻译成Se

JSP中九大内置对象详解

1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例. 序号 方 法 说 明1 object getAttribute(String name) 返回指定属性的属性值2 Enumeration getAttributeNames() 返回所有可用属性名的枚举3 String getCharacterEncoding() 返回字符编码方式4 int getContentLength() 返回

jsp九大内置对象及四个作用域

JSP九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用. JSP中九大内置对象为: request              请求对象                类型 javax.servlet.ServletRequest         作用域    Request response           响应对象                   类型 javax.servlet.SrvletResponse        作用域