EL表达式 与 servlvet的新规范

EL表达式

EL表达式 是一种简化的数据访问方式,是对jsp脚本的简化  。

如我们在一个页面中需要输出session的保存的一个值:

<%  out.println(session.getAttribute("name"))  %>          我们可以使用jsp中内置的out对象 和session对象   输出

<%=session.getgetAttribute("name")  %>                      作为上面的替代品  我们可以使用输出表达式输出

但是上面二者的都是jsp脚本   为了不用jsp脚本    EL表达式应用而生

EL表达式不仅支持算术运算符 还支持逻辑运算符    并且其中内置的几个对象,和jsp页面中内置的对象相互对应 ,方便输出

支持算术表达符   ${ 1+2 }              显示    3

支持逻辑运算符   ${ 2 > 1 }            显示 true

内置对象

pageContext   对应于   jsp的内置对象pageContext

pageScope     对应于   jsp的内置对象page

requestScope  对应于   jsp的内置对象request

sessionScope    对应于  jsp的内置对象session

applicationScope   对应于  jsp的内置对象application

cookie                         jsp中并无对应内置对象

param  paramValues  header   initParam  这四大对象  感觉用到会很少

回到该文章开始   我们可以使用EL表达式代替jsp脚本

${sessionScope.name }   或   ${ sessionScope["name"]}

${requestScope.apple.color}    或  ${apple.color}           如果输出的是requestScope中值   可以省略requestScope  ,应该是默认会取request对象中的值

EL表达式 最多还是用来进行值的输出  ,所以不要在里面写太多的逻辑判断,虽然它支持算术运算符和逻辑运算符等 ,这些还是交给jsp脚本比较好 。

还可以通过自定义函数  来扩展EL表达式的功能。

Servlet3.0的新规范

Servlet3.0是Servlet规范历史上的比较重要的更新  ,主要有:

1.Servlet3.0的注解Annotation

开发人员在配置servlet,filter,listener的时候,除了可以在web.xml中配置 ,有了一种新的选择

涉及的javax.servlet.annotation包下提供了如下annotation

@WebServlet    ------------用于修饰servlet类 ,来配置servlet

@WebFilter       ------------用于修饰Filter类  ,来配置Filter

@WebListener    ----------用来修饰Listener类 ,来配置Listener

@WebInitParam   ---------搭配@WebServlet与@WebFilter使用   来为servlet和Filter配置参数

@MultipartConfig    ------用来修饰servlet类   ,指定该servlet会处理multipart/form-data类型的请求(主要用于文件上传)

@ServletSecurity    @HttpConstraint    @HttpMethodConstraint    这三个主要与安全与授权相关

2.Servlet3.0的Web模块配置支持

想来看一下未引入模块配置,所有的servlet,Filter,Listener都配置在一个web.xml文件中(假设我们没有使用框架) ,项目规模不大还好 ,项目规模大了的话,web.xml文件必定很庞大。

java目录一般是把相关联的servlet,Filter.Listener放在同一个包(目录)下,我们在不同的包下新建WEB-INF目录,其中新建web-fragement.xml文件,来把项目分成不同的模块。

引入模块化配置,把相关联的servlet,Filter,Listener放在一个web—fragment.xml文件中配置 ,这样可以产生若干个web—fragment.xml  ,为每个模块的web-fragment.xml文件在其中配置名称,

和该web-fragment.xml相对于其他web—fragment.xml的加载顺序。

当然我们可以在web.xml指定每个web-fragment.xml的加载顺序 ,它的优先级大于web-fragment.xml中指定的加载顺序。

这是我们发现web.xml不是这个项目自己必须写的文件,可以没有(但是其实还有有的,因为tomcat的config目录下为每个web应用指定了公用的web.xml文件)。

3.Servlet3.0提供的异步处理

4.Servlet3.0改进了Servlet   API

主要修改的有两个类

HttpServletRequest类     增加了对文件上传的支持

新加的两个方法:

Part  getPart(String   name)             ----根据名称来获取文件的上传域

Collection<Part>   getParts()           -----获取所有的文件上传域

关于文件上传的详细细节:

还修改了ServletContext类   提供动态注册servlet,Filter的功能,还允许动态设置web应用的初始化参数

addServlet()

addFilter()

addListener()

setInitParameter(String name ,String value)

时间: 2024-10-29 02:29:28

EL表达式 与 servlvet的新规范的相关文章

javaweb学习总结(二十九)——EL表达式

一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web域 中的对象,访问javabean的属性.访问list集合.访问map集合.访问数组) 2.执行运算 利用EL表达式可以在JSP页面中执行一些基本的关系运算.逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算.${user==null} 3.获取web开发常用对象 EL 表达

EL表达式简介

EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web域 中的对象,访问javabean的属性.访问list集合.访问map集合.访问数组) 2.执行运算 利用EL表达式可以在JSP页面中执行一些基本的关系运算.逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算.${user==null} 3.获取web开发常用对象 EL 表达式定

转 EL表达式

EL表达式 一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web域 中的对象,访问javabean的属性.访问list集合.访问map集合.访问数组) 2.执行运算 利用EL表达式可以在JSP页面中执行一些基本的关系运算.逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算.${user==null} 3.获取web开发常用对象

jsp的el表达式

其实工作那么久,一直都是写的Freemarker模板页面,直到最近才开始写JSP页面,所以这里完整学一下JSP原生支持的EL表达式(web.xml的3.0版本默认支持,后面说). EL的全名是Expression Language,它原本是JSTL 1.0为了方便存储数据所自定义的语言,发展到现在已经是一项成熟.标准的技术. 使用EL表达式获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的WEB域中检索Java对象并获取数据,比如某个WEB域中的Java Bean.List

JAVAWEB开发之Session的追踪创建和销毁、JSP详解(指令,标签,内置对象,动作即转发和包含)、JavaBean及内省技术以及EL表达式获取内容的使用

Session的追踪技术 已知Session是利用cookie机制的服务器端技术,当客户端第一次访问资源时 如果调用request.getSession() 就会在服务器端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,如果浏览器没有禁用cookie的话,当浏览器再次访问项目中的Servlet程序时会将JSESSIONID带着,这时JSESSIONID就像唯一的一把钥匙  开启服务器端对应的session空间,进而获取到sessi

session和el表达式

2015/1/21 ## 回顾昨天案例 ## # 模拟购物车: >> 基本步骤: |-- 显示所有的书籍: |-- 制作书记列表/模仿数据库: |-- 参见昨天示例: |-- 制作查看详情链接: |-- 参见昨天示例: |-- 显示购物车中的所有商品: |-- request.getSession(); --- 得到session对象: |-- 假定购物车的名字 "cart"; |-- 用集合制作购物车: |-- 可以用泛型限定购买的商品类型: |-- 遍历; |-- 先判

JSTL不同版本和EL表达式的关联

JSTL目前有3个版本:JSTL1.0.JSTL1.1.JSTL1.2 JSTL1.0和JSTL1.1包含jstl.jar和standard.jar这2个jar包,在j2ee4的版本中是需要单独引用这2个jar包的. JSTL1.2在J2EE5里的jar包是jstl-1.2.jar,在J2EE6里是jstl-imp.jar. 各版本差异: JSTL1.0(不支持EL).JSTL 1.1和JSTL 1.2支持的servlet和jsp规范也不同: web.xml中要申明相应的servlet版本: J

【JSP】EL表达式语言

EL简介 EL语言原本是JSTL1.0中的技术(所以EL和JSTL配合如此亲密和默契也就是自然的了),但是从JSP2.0开始(JSTL1.1)就分离出来纳入了JSP的标准了.因此EL不需要任何jar包,他是集成到JSP技术本身中的了. 由于EL定位是 表达式语言,因此EL只能用于做简单的运算和取值,它是JSP无脚本化的一个利器,非常易学. EL的特点 1.所有的EL表达式的格式 ${   expression   },例如取的一个对象user的age属性 ${ user.name } 2.可以使

Java学习——JSTL标签与EL表达式之间的微妙关系

原文总结的太好了,忍不住记录.转发. 原文地址:http://blog.csdn.net/u010168160/article/details/49182867 目录(?)[-] 一EL表达式 EL相关概念 EL基本格式 EL语法组成-标识符 PS使用EL的时候默认会以一定顺序pageContextrequestsessionapplication搜索四个作用域将最先找到的变量值显示出来 开启和关闭EL表达式 二JSTL标签库 相关概念 JSTL标签库分类 JSTL的优点 为什么要用JSTL 使