转:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别

您所在的位置:网站首页 pagecontext与page 转:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别

转:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别

#转:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别| 来源: 网络整理| 查看: 265

原文地址:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别

首先说明一下jsp9大内置对象

(1)HttpSession类的session对象作用:主要用于来分别保存每个用户信息,与请求关联的会话;         会话状态维持是Web应用开发者必须面对的问题。(2) HttpServletRequest类的request对象作用:代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。(3) HttpServletResponse类的respone对象作用:代表响应对象,主要用于向客户端发送数据(4) JspWriter类的out对象作用:主要用于向客户端输出数据;         Out的基类是JspWriter(5) ServletContext类的application对象作用:主要用于保存用户信息,代码片段的运行环境;        它是一个共享的内置对象,即一个容器中的多个用户共享一个application对象,故其保存的信息被所有用户所共享.(6) PageContext类的pageContext对象作用:管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由容器来完成的。(7) ServletConfig类的config对象作用:代码片段配置对象,表示Servlet的配置。(8) Object类的page(相当于this)对象作用:处理JSP网页,是Object类的一个实例,指的是JSP实现类的实例,即它也是JSP本身,只有在JSP页面范围之内才是合法的。(9)Exception作用:处理JSP文件执行时发生的错误和异常

接着来看一下EL的11大内置对象

(1)pageScope:获取jsp中pageContext域属性,相当于pageContext.getAttribute("xxx")(2)requestScope:获取request域属性,相当于request.getAttribute("xxx")(3)sessionScope:获取session域属性,相当于session.getAttribute("xxx")(4)applicationScope:获取application域属性,相当于application.getAttribute("xxx")(5)param:对应参数,它是一个Map,其中key是参数,value是参数值,适用于单值的参数,相当于request.getParameter("xxx")(6)paramValues:对应参数,她是一个Map,其中key是参数,value是多个参数值,适用于多值的参数,相当于request.getParameterValues("xxx")(7)header:对应请求头,它是一个Map,其中key表示头名称,value是单个头值,适用于单值的请求头,相当于request.getHeader("xxx")(8)headerValues:对应请求头,它是一个Map,其中key表示头名称,value是多个头值,适用于多值的请求头,相当于request.getHeaders("xxx")(9)initParam:获取web.xml中内的参数,${ initParam.xxx},xxx就是标签内的值,进而得到中的值(10)cookie:用于获取cookie,Map,其中key是cookie的name,value是cookie对象,例如${cookie.JSESSIONID.value }就是获取sessionId

(11)pageContext:可以获取JSP九大内置对象,相当于使用该对象调用getxxx()方法,例如pageContext.getRequest()可以写为${pageContext.request)

el中的作用域        pageContext(1)  当前页的pageContext对象  pageScope   把page作用域中的数据映射为一个map对象  requestScope(2)     把request作用域中的数据映射为一个map对象  sessionScope    把session作用域中的数据映射为一个map对象  applicationScope    把application作用域中的数据映射为一个map对象  param   对应request.getParameter()  paramValues(3)  对应request.getParameterValues()  header(4)   对应request.getHeader()  headerValues    对应request.getHeaderValues()  cookie(5)   对应request.getCookies()  initParam(6)    对应ServletContext.getInitParamter()

jsp的page pagecontext ;el的pageScope pagecontext 下面来说到一下他们的区别方便大家记忆

首先jsp内置对象的page可以直接忽略因为用的比较少。简单说一下它的用法

page对象有点类似于Java编程中的this指针,就是指当前JSP页面本身。page是java.lang.Object类的对象。

page对象的常用方法

比较常用的page内置对象的方法有:

getClass():返回当时Object的类。hashCode():返回此Object的哈希代码。toString():把此时的Object类转换成字符串。equals(Object o):比较此对象是否和指定的对象是否相等。copy(Object o):把此对象复制到指定的对象当中去。clone():对此对象进行克隆。由于page内置对象在实际开发过程并不经常使用,所以page对象的其他方法在这里就不一一列举出来了。

page的常用方法实例

下面举一个实例来加深对page内置对象使用的理解。创建一个page.jsp文件,其详细源代码如下:

1 2 3 4 5 Page内置对象的实例 6 7 getClass: 8 hashCode: 9 toString: 10 equals: 11 equlas2: 12 13

 

接着说一下jsp的pageContext 与el表达式的pageContext二者是同一对象!

el中pageContext可以获取JSP九大内置对象,相当于使用该对象调用getxxx()方法,例如pageContext.getRequest()可以写为${pageContext.request)

 

jsp的中Page域,request域,session域,application域都可以setAttribute与getAttribute。

jsp中可以使用pageContext来设定属性,并指定属性的作用范围,而不用使用个别的pageContext、request、session、 application来进行设定,这就是之前所提的,以pageContext提供一个单一的API来管理属性作用范围,您可以使用以下的方法来进行设定: getAttribute(String name, int scope) setAttribute(String name, Object value, int scope) removeAttribute(String name, int scope) 其中的scope可以使用以下的常数来进行指定:pageContext.PAGE_SCOPE、pageContext.REQUEST_SCOPE、pageContext.SESSION_SCOPE、pageContext.APPLICATION_SCOPE,常数的名称已经直接指明属性范围,我们可以将上面的两个JSP页面改为以下的形式: 

 

 

接下来说

EL表达式中的pageScope

页面范围的变量名称映射到其值。例如,EL 表达式可以使用 ${pageScope.objectName} 访问一个 JSP 中页面范围的对象,还可以使用 ${pageScope.objectName.attributeName} 访问对象的属性

相当于可以取出page域中的数据

 

综上可以总结出

page与 pageContext 和pageScope无关

pageContext 对象可以访问所有域, scope(范围) 不写默认将数据放到page域

pageScope 访问page域--------------------- 作者:煦风云海 来源:CSDN 原文:https://blog.csdn.net/a327736051/article/details/79439703 版权声明:本文为博主原创文章,转载请附上博文链接!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3