(灰常重要)jsp九大内置对象整理总结和EL表达式内置对象

转自:

https://blog.csdn.net/haha_sir/article/details/80350374

https://www.cnblogs.com/sharpel/p/5870114.html

一、什么是内置对象
1、我的理解是: jsp内置对象,不需要new来创建的对象。 无论你使不使用,它都存在于jsp页面,不离不弃。 男生们都希望有这样的对象,一下子还有九个---- 咳咳,继续搬砖!

二、jsp内置对象整理

1、如下表格
序号
对象名称
对象类型
作用简述
1
request
javax.servlet.ServletRequest
接收客户端请求
2
response
javax.servlet.ServletResponse
服务端响应客户端
3
session
javax.servlet.http.HttpSession
保存会话信息
4
application
javax.servlet.ServletContext
web应用程序全局对象
5
out
javax.servlet.jsp.JspWriter
向客户端输出数据
6
config
javax.servlet.ServletConfig
获取Servlet配置信息
7
page
java.lang.Object
处理当前jsp页面
8
pageContext
java.servlet.jsp.PageContext
处理jsp页面属性
9
exception
java.lang.Throwable
jsp页面出现异常时执行

2、注意 application 对象类型是: ServletContext ,没有带application的。

3、关于config对象补充,config.getInitParameter("xx"),获取的当前jsp页面的配置参数,无法获取其他 Servlet中的参数。 详细说明参见: JSP内置对象之config对象


三、EL表达式内置对象
1、什么是 EL表达式:EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。

2、EL 运算符
类型
符号
算术型
+、-、*、/、div、%、mod
逻辑型
and、&&、or、||、!、not
关系型
==、eq、;!=、 ne、;>、gt、;<=、le、;>=、ge、;<、lt;
关系型
a==b?c:d;
empty

3、EL内置对象 (11个)

序号
类别
标识符
描述
1
JSP
pageContext
PageContext 实例对应于当前页面的处理
2
作用域
pageScope
与页面作用域属性的名称和值相关联的 Map 类
3
requestScope
与请求作用域属性的名称和值相关联的 Map 类
4
sessionScope
与会话作用域属性的名称和值相关联的 Map 类
5
applicationScope
与应用程序作用域属性的名称和值相关联的 Map 类
6
请求参数
param
按名称存储请求参数的主要值的 Map 类
7
paramValues
将请求参数的所有值作为 String 数组存储的 Map 类
8
请求头
header
按名称存储请求头主要值的 Map 类
9
headerValues
将请求头的所有值作为 String 数组存储的 Map 类
10
Cookie
cookie
按名称存储请求附带的 cookie 的 Map 类
11
初始化参数
initParam
按名称存储 Web 应用程序上下文初始化参数的 Map 类

4、补充: JSP内置对象是EL内置对象,二者不互通!!!

5、 jsp页面java脚本: <%=request.getAttribute("name") %>
等价于 EL表达式: ${requestScope.name }
JSP开发人员可以在EL表达式中使用EL隐式对象,而无须任何显式的编码活声明。隐式对象就是设计用来为 JSP 编程提供方便的,通过隐式对象,用EL编写的代码就可以直接使用JSP页面的一些最常用的地方。总共有11个隐式对象,这11个隐式对象可以分为5大类:
  *JSP隐式对象。
  *作用域访问隐式对象。
  *参数访问隐式对象。
  *首部访问隐式对象。
  *初始化参数访问隐式对象。
         JSP隐式对象类中只有一个EL隐式对象,这就是pageContext隐式对象。这与同名的 JSP隐式对象实际上就是同一个对象。余下的EL隐式对象都是Java映射(map),他们只是提供了更容易的途径来访问pageContext隐式对象的某些性质。
     共有4个作用域隐式对象,分别为pageScope, requestScope, sessionScope和applicationScope. 这些隐式对象都是映射,利用他们可以很容易的访问作用域属性。例如:附加到request作用域的username属性可以通过EL表达式${ requestScope.username}来直接访问。
     有两个参数访问隐式对象,可以用来访问HTTP请求参数(表单提交参数),即param和paramValues. param 是一个用于访问单值参数的映射, paramValues则可用于访问可能包含多个值的参数。接下来的实验会展示这将如何处理。
    有3个首部访问隐式对象,可以用于访问HTTP首部,分别是header, headerValues和cookie。如果想以原始的方式访问HTTP首部或cookie, 这些映射就很有用。
    另外还有一个初始化参数访问隐式对象:initParm。这个映射可以用于访问初始化参数的值,初始化参数的值一般都在web.xml中设置。

猜你喜欢

转载自blog.csdn.net/javanotes/article/details/80721964
今日推荐