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 ...
随机推荐
- 强大而容易学的JavaScript初学者可以看看。
基本操作: 第一点:存起数组元素: 单维数组,数组名[下标索引]: 多维数组,数组名[外维数组下标][内部数组下标]: 特性:数组的length属性是具有弹性的,可以自由伸缩: 数组下标从0开始(其实 ...
- jquery的动画学习--jquery权威指南
前面的fadeIn和fadeOut还有fadeTo以及sildeToggle还有sildeUp\sildeDown还有toggle还有show.hide等都经常用,就不再手写了,需要注意的是f ...
- [BZOJ3460] Jc的宿舍
bzoj 题面放一下 Description WC2014后无数人来膜拜jc,但是来膜拜的人实在太多了, 而且很多人是一连膜拜好几天.所以jc给这些人建了一座树 形的宿舍,而根节点(1号节点)住着jc ...
- SPOJ1825:Free tour II
题意 luogu的翻译 给定一棵n个点的树,树上有m个黑点,求出一条路径,使得这条路径经过的黑点数小于等于k,且路径长度最大 Sol 点分治辣 如果是等于\(k\)的话,开个桶取\(max\)就好了 ...
- Spring MVC执行流程
SpringMVC是隶属于Spring Web中的一部分, 属于表现层的框架. 其使用了MVC架构模式的思想, 将Web层进行职责解耦, 使用请求-响应模型简化Web开发 SpringMVC通过中央调 ...
- MySQL增量订阅&消费组件Canal POC
POC的目的:1.与MYSQL的对接方式,配置文档2.订阅的延迟3.订阅后宕机消息会不会丢失4.能不能从指定的点开始重新订阅5.高并发写入的时候,日志的顺序是否还能保持,不考虑消费的情况订阅是否会延迟 ...
- Thinking in Java 第二章学习笔记
Java虽基于C++,但相比之下,Java是一种更加纯粹的面向对象程序设计语言. 在Java的世界里,几乎一切都是对象,而Java中的全部工作则是定义类,产生那些类的对象,以及发送消息给这些对象. 尽 ...
- js实现最长子串算法
var arr=["weeweadbshow","jhsaasrbgddbshow","ccbshow"]; function Longes ...
- Angular4---起步----环境配置安装@angular/cli
学习angular,首先要搭建起angular的手脚架@angular/cli.首先需要NodeJS环境. 1.安装NodeJS 首先检查电脑是否安装了NodeJS环境,打开cmd命令行,运行node ...
- templet模式
package template;import java.sql.Connection;import java.sql.ResultSet;/** * Created by marcopan on 1 ...