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的新规范的更多相关文章

  1. javaweb开发之EL表达式

    一.EL简介 EL全名为Expression Language,它主要用于替换JSP页面中的脚本表达式<%= %>,从各种类型的Web域中检索Java对象.获取数据.它可以很方便地访问Ja ...

  2. EL表达式(3)

    本篇讲解使用EL表达式来调用Java方法(自定义EL函数)和Sun公司开发的EL函数库. 简单来说,我们在一个类中的某个方法,可以使用EL进行调用,这个能被EL表达式调用的方法称之为EL函数,但是这种 ...

  3. Javaweb学习笔记6—EL表达式与JSTL及自定义标签

    今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...

  4. Java Web程序设计笔记 • 【第9章 EL表达式】

    全部章节   >>>> 本章目录 9.1 EL 表达式基础 9.1.1 EL 表达式简介 9.1.2 EL 表达式的定义 9.1.3 使用 EL 访问变量 9.1.4 使用 E ...

  5. EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统

    EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...

  6. Jsp2.0自定义标签(第三天)——EL表达式的使用

    1.提出问题: 我们经常会看到这样的jsp页面代码: 浏览器显示: 为什么会在页面输出:Hello World  ,${per}究竟是如何找到“Hello World”的呢? 2.分析问题: 要想解决 ...

  7. 11 JSP/EL表达式/EL函数

    JSP      * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行      * JSP的运行原 ...

  8. EL表达式与JSTL

    内容包括 EL表达式 EL函数库 JSTL 核心标签库 格式化标签库 SQL标签库 XML标签库 自定义标签库 EL表达式 EL是Expression Language的是缩写,是JSP页面编写的一种 ...

  9. JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总

    一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出.       1,JSTL标签总结: a).JSTL标签有什么用?          JSTL是由JCP(Java Commu ...

随机推荐

  1. 【CJOJ2498】【DP合集】最长上升子序列 LIS

    题面 Description 给出一个 1 ∼ n (n ≤ 10^5) 的排列 P 求其最长上升子序列长度 Input 第一行一个正整数n,表示序列中整数个数: 第二行是空格隔开的n个整数组成的序列 ...

  2. 【洛谷1026】【NOIP2001】统计单词个数

    题面 题目描述 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份(1<k<=40),且每份中包 ...

  3. 清橙A1212:剪枝

    题面 清橙 Sol 一种新的树上\(DP\)姿势 从左往右按链\(DP\) 做法: 维护两个栈\(S1\),\(S2\) \(S1\)存当前的链 \(S2\)存分叉点以下要改的链 \(Dfs\),弄一 ...

  4. Django入门-基本数据库API

    # 现在系统里还没有 Question 对象 >>> Question.objects.all() <QuerySet []> # 创建新 Question # 在 se ...

  5. 30.Django CSRF 中间件

    CSRF 1.概述 CSRF(Cross Site Request Forgery)跨站点伪造请求,举例来讲,某个恶意的网站上有一个指向你的网站的链接,如果某个用户已经登录到你的网站上了,那么当这个用 ...

  6. 微信小程序之生成图片分享

    通过社交软件分享的方式来进行营销小程序,是一个常用的运营途径.小程序本身支持直接将一个小程序的链接卡片分享至微信好友或微信群,然后别人就可以通过点击该卡片进入该小程序页面.但是小程序目前不支持直接分享 ...

  7. MyBatis关联关系

    1.一对多:一个国家对应多个城市 01.实体类 package cn.pb.bean;import java.util.Set;/** * 国家的实体类 */public class Country ...

  8. js备战春招の四の正则表达式详解

    正则表达式语法规则:/正则表达式主体/修饰符(可选)什么是正则表达式:正则表达式是用于匹配字符串中字符组合的模式.在 JavaScript中,正则表达式也是对象.这些模式被用于 RegExp 的 ex ...

  9. Angular4---认证---使用HttpClient拦截器,解决循环依赖引用的问题

    在angular4 项目中,每次请求服务端需要添加头部信息AccessToken作为认证的凭据.但如果在每次调用服务端就要写代码添加一个头部信息,会变得很麻烦.可以使用angular4的HttpCli ...

  10. 常用JS小知识汇总

    1 上传图片:html代码 <input id="image" type='file' name='myFile' size='15' onchange="show ...