文档章节

JSP内置对象和EL内置对象

木云凌
 木云凌
发布于 2017/09/11 10:43
字数 904
阅读 20
收藏 1

JSP内置对象 


JSP内置对象类型映射表 

对象名 类型 作用域
request javax.servlet.ServletRequest RequestScope
response javax.servlet.ServletResponse PageScope
pageContext javax.servlet.jsp.PageContext PageScope
session javax.servlet.http.HttpSession SessionScope
application javax.servlet.ServletContext ApplicationScope
out javax.servlet.jsp.JspWriter PageScope
config javax.servlet.ServletConfig PageScope
page java.lang.Object PageScope
exception javax.lang.Throwable PageScope

九大内置对象(也叫隐式对象)的应用不再赘述。这里提一下 pageContext 这个对象。 

pageContext这个对象比较特殊,由它的类型可知它是jsp特有的,servlet中没有此对象。pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的session,也可以取本页面所在的 application 的某一属性值,他相当于页面中所有功能的集大成者。 

EL内置对象

EL为了方便输出一些表达式的值,自己也定义了一些内置对象,应用这些内置对象方便的获取想要输出的值。
JSP EL的内置对象和JSP的内置对象是两回事,不能互用,即JSP EL内置对象只能在EL中表达式中使用,JSP的内置对象也只能在JSP中使用而不能在EL中直接用,但是两者有个对应关系,即EL的内置对象可以调用JSP对应内置对象的保存数据,从而方便的显示 

JSP EL的内置对象: 
        pageContext    pageScope    requestScope 
        sessionScope    applicationScope    param 
        paramValues    header    headerValues 
        cookie    initParam 


可以分为以下三类: 

1、与范围有关的隐含对象 
        与范围有关的EL 隐含对象包含以下四个:pageScope、requestScope、sessionScope 和applicationScope; 
        它们基本上就和JSP的 pageContext、request、session 和 application 一样; 
        在EL中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他相关信息。 
        例如:我们要取得session中储存一个属性username的值,可以利用下列方法: 
        session.getAttribute("username") 取得username的值, 
        在EL中则使用下列方法 
        ${sessionScope.username} 
2、与输入有关的隐含对象 
        与输入有关的隐含对象有两个:paramparamValues,它们是EL中比较特别的隐含对象。 
        例如我们要取得用户的请求参数时,可以利用下列方法: 
            request.getParameter(String name) 
            request.getParameterValues(String name) 
        在EL中则可以使用param和paramValues两者来取得数据:
            ${param.name} 
            ${paramValues.name} 
3、其他隐含对象 
        cookie 
        JSTL并没有提供设定cookie的动作, 
        例:要取得cookie中有一个设定名称为userCountry的值,可以使用${cookie.userCountry}来取得它。 
        header、headerValues 
        header 储存用户浏览器和服务端用来沟通的数据 
        例:要取得用户浏览器的版本,可以使用${header["User-Agent"]}。 
        另外在鲜少机会下,有可能同一标头名称拥有不同的值,此时必须改为使用headerValues 来取得这些值。 
        initParam 
        initParam取得设定web站点的环境参数(Context) 
        例:一般的方法String userid = (String)application.getInitParameter("userid"); 
        可以使用 ${initParam.userid}来取得名称为userid pageContext 
        pageContext 取得其他有关用户要求或页面的详细信息。 
            ${pageContext.request.queryString}         取得请求的参数字符串 
            ${pageContext.request.requestURL}         取得请求的URL,但不包括请求之参数字符串 
            ${pageContext.request.contextPath}         服务的web application 的名称 
            ${pageContext.request.method}                取得HTTP 的方法(GET、POST) 
            ${pageContext.request.protocol}               取得使用的协议(HTTP/1.1、HTTP/1.0) 
            ${pageContext.request.remoteUser}          取得用户名称 
            ${pageContext.request.remoteAddr }        取得用户的IP 地址 
            ${pageContext.session.new}                       判断session 是否为新的 
            ${pageContext.session.id}                           取得session 的ID 
            ${pageContext.servletContext.serverInfo}  取得主机端的服务信息 

 

© 著作权归作者所有

共有 人打赏支持
木云凌

木云凌

粉丝 14
博文 84
码字总数 30512
作品 0
广州
高级程序员
私信 提问
重温JSP学习笔记--El表达式

  el表达式是jsp内置的表达式语言,jsp从jsp2.0开始,就不再提倡使用java脚本,而是用el表达式和动态标签来替代,而el表达式主要替代的是jsp中的<%=....%>,也就是说el表达式只做输出.   EL表...

冬至饮雪
2016/01/31
0
0
JSP——Java Server Pages

简介 1. Jsp技术:Jsp是一种 html代码+ Java代码 + Jsp页面代码的技术,而且其不用像Servlet哪样需要配置访问路径。 2. Jsp执行原理:第一次访问服务器web项目中的jsp页面时,会首先把jsp页面...

江左煤郎
09/13
0
0
jsp servlet Action获取request,respone,session等

Servlet Jsp Struts2 HttpServletRequest request内置对象 ServletActionContext.getRequest() 实现ServletRequestAware接口 HttpServletRespone reponse内置对象 ServletActionContext.get......

长平狐
2013/01/06
236
0
初识 JSP---(注释/小脚本/声明/指令/动作/内置对象)

注释 java : // / / /** */ html : jsp <%-- --%> jsp注释和html注释的区别 jsp注释对jsp引擎有作用,当jsp引擎看到这个注释后,生产servlet文件是会忽略他 html注释对jsp引擎没有作用,jsp...

姜白告
08/03
0
0
Jsp 和 Servlet 有什么不同?

面试中被问到了 Jsp 和 Servlet 有什么不同?在这里总结分享下。 回答思路先分别进行基本介绍,然后分析说明两者相同点和不同点。 基本介绍 Servlet: Servlet 是一种服务器端的Java应用程序...

几个栗子
08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx的内容

1、nginx 稳定,由俄国人开发, nginx.org 分支: tengine,由淘宝开发; tengine.taobao.com nginx的功能:http服务, 负载均衡 反向代理 邮件代理 缓存加速 SSL, 功能完善;高并发 可以用来处理...

芬野de博客
26分钟前
1
0
websocket 接口简单测试工具,webcoket实用测试工具

chorme 插件 Simple WebSocket Client 对开发来说够用了,能连互联网,也能连本地的。 之前用jmeter 带复杂了,而且登录不好弄,这个基于浏览器,共享浏览器的登录信息。方便!...

SimonAt
32分钟前
4
0
Ext中 get、getDom、getCmp的区别

getDom方法能够得到文档中的DOM节点,该方法中包含一个参数,该参数可以是DOM节点的id、DOM节点对象或DOM节点对应的Ext元素(Element)等。 (与getElementById是一个效果) •Ext.onReady(funct...

休辞醉倒
39分钟前
1
0
springboot jpa 访问数据库

spring boot(五):spring data jpa的使用 SpringBoot非官方教程 | 第三篇:SpringBoot用JdbcTemplates访问Mysql

颖辉小居
54分钟前
4
0
Quartz + Oracle 分布式Job实现

简述 实现 依赖包 <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.3</version><exclusions><exclusion><groupId>com.zax......

呼呼南风
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部