EL表达式 与 servlvet3.0的新规范
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)
EL表达式 与 servlvet3.0的新规范的更多相关文章
- javaweb开发之EL表达式
一.EL简介 EL全名为Expression Language,它主要用于替换JSP页面中的脚本表达式<%= %>,从各种类型的Web域中检索Java对象.获取数据.它可以很方便地访问Ja ...
- EL表达式(3)
本篇讲解使用EL表达式来调用Java方法(自定义EL函数)和Sun公司开发的EL函数库. 简单来说,我们在一个类中的某个方法,可以使用EL进行调用,这个能被EL表达式调用的方法称之为EL函数,但是这种 ...
- Javaweb学习笔记6—EL表达式与JSTL及自定义标签
今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...
- Java Web程序设计笔记 • 【第9章 EL表达式】
全部章节 >>>> 本章目录 9.1 EL 表达式基础 9.1.1 EL 表达式简介 9.1.2 EL 表达式的定义 9.1.3 使用 EL 访问变量 9.1.4 使用 E ...
- EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统
EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...
- Jsp2.0自定义标签(第三天)——EL表达式的使用
1.提出问题: 我们经常会看到这样的jsp页面代码: 浏览器显示: 为什么会在页面输出:Hello World ,${per}究竟是如何找到“Hello World”的呢? 2.分析问题: 要想解决 ...
- 11 JSP/EL表达式/EL函数
JSP * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行 * JSP的运行原 ...
- EL表达式与JSTL
内容包括 EL表达式 EL函数库 JSTL 核心标签库 格式化标签库 SQL标签库 XML标签库 自定义标签库 EL表达式 EL是Expression Language的是缩写,是JSP页面编写的一种 ...
- JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总
一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出. 1,JSTL标签总结: a).JSTL标签有什么用? JSTL是由JCP(Java Commu ...
随机推荐
- iOS超全开源框架、项目和学习资料汇总 UI篇
上下拉刷新控件 MJRefresh --仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明. AutoLayout ...
- 圆方树简介(UOJ30:CF Round #278 Tourists)
我写这篇博客的原因 证明我也是学过圆方树的 顺便存存代码 前置技能 双联通分量:点双 然后就没辣 圆方树 建立 新建一个图 定义原图中的所有点为圆点 对于每个点双联通分量(只有两个点的也算) 建立一个 ...
- 含隐变量模型求解——EM算法
1 EM算法的引入1.1 EM算法1.2 EM算法的导出2 EM算法的收敛性3EM算法在高斯混合模型的应用3.1 高斯混合模型Gaussian misture model3.2 GMM中参数估计的EM ...
- IT企业如何实现项目管理信息化的目标
随着信息化技术的不断深入,企业管理方式逐渐向信息化管理转变.大部分IT企业也为了适应企业管理方式的变革,开始加强对管理信息化创新方面的建设.而IT企业在实现信息化的进程中,项目管理信息化其实是IT企业 ...
- php 目录处理函数
之前我们处理的全都是文件,那目录和文件夹怎么处理呢? 我们就来学习目录或者称为文件夹的处理相关函数. 处理文件夹的基本思想如下: 1.读取某个路径的时候判断是否是文件夹 2.是文件夹的话,打开指定文件 ...
- wpf研究之道-grid控件
想要说些什么,却不知道从哪开始."形而上谓之道,形而下谓之器".与其坐而论道,不如脚踏实地,从最实用的地方开始. 我们先来看看wpf中的grid控件.grid控件是个网格的布局控件 ...
- Gradle下载 Jar 包
使用此方法下载Jar包的前提是已经配置好了Gradle的环境了,配置好的标志是在终端输入gradle不提示command not found. 1. 编写build.gradle文件代码: apply ...
- Java遍历二叉树深度宽度
节点数据结构 class TreeNode { TreeNode left = null; TreeNode right = null; } 最大深度,基本思路是:使用递归,分别求出左子树的深度.右子 ...
- Scala编程快速入门系列(二)
目 录 一.Scala概述 二.Scala数据类型 三.Scala函数 四.Scala集合 五.Scala伴生对象 六.Scala trait 七.Actor 八.隐式转换与隐式参数 九.Sca ...
- Sharepoint Management Shell命令
1.普通WSP包,没有特殊激活内容 安装BBA.WebParts.wsp 1) Add-SPSolution -LiteralPath "c:\BBA.WebParts.wsp" ...