session会话和EL表达式
session会话和EL表达式
基础知识
什么是会话技术?
会话过程类似于生活中的打电话过程,它指的是一个客户端(浏览器)与Web服务器之间连续发生的一系列请求和响应过程。在Servlet技术中,提供了两个用于保存会话数据的对象,分别是Cookie和Session。
EL中的标识符在定义时应该遵守哪些规范
- 不能以数字开头
- 不能是EL中的关键字,如and、or、gt等
- 不能是EL隐式对象,如pageContext
- 不能包含单引号(')、双引号(")、减号(-)和正斜线(/)等特殊字符。
EL中的运算符有哪些
- 算术运算符
- 比较运算符
- 逻辑运算符
- empty运算符
- 条件运算符
- "()"运算符
- 点运算符(.)
- 方括号运算符([])
EL语法的特点
- EL可以与JavaScript语句结合使用。
- EL可以自动进行类型转换。
- EL不仅可以访问一般变量,还可以访问JavaBean中的属性、嵌套属性和集合对象。
- 在EL中,可以执行算术运算、逻辑运算、关系运算和条件运算等。
- 在EL中,可以获取pageContext对象,进而获取其他内置对象。
- 在使用EL进行除法运算时,如果除数为0,则返回表示无穷大的Infinity,而不返回错误。
- 在EL中,可以访问JSP的作用域(request、 session、 application 以及page)。
EL中提供了4 个用于访问作用域范围的隐式对象,并对其进行简要说明
-
pageScope:代表page域中用于保存属性的Map对象
-
requestScope:代表request域中用于保存属性的Map对象
-
sessionScope:代表session域中用于保存属性的Map对象
-
applicationScope:代表application域中用于保存属性的Map对象
Cookie与Session的区别
-
Cookie和HttpSession是保存会话相关数据的技术,其中Cookie将信息存储在浏览器端是客户端技术,Session将数据保存在服务器端是服务器端技术。
-
Cookie是基于HTTP协议中的Set-Cookie响应头和Cookie请求头进行工作的。
-
默认情况下HttpSession是基于一个名称为JSESSIONID 的特殊Cookie工作的。
-
浏览器对Cookie具有严格的限制,一个网站能在浏览器中保存多少Cookie是有限制的。
-
HttpSession默认是基于Cookie运作的。
例题