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. JavaScript保留关键字2。

    一些不做解释的关键字是在js中预留的东西. abstract 抽象  . arguments  参数 标识符arguments是指向实参对象的引用,实参对象是一个类数组对象. boolean 布尔值. ...

  2. 【Luogu2444】病毒(AC自动机)

    [Luogu2444]病毒(AC自动机) 题面 洛谷 题解 如果存在一个无限长的串 证明可以在\(AC\)自动机上找到一个环 然后在上面可以无限跳 所以构建\(AC\)自动机 在上面跑\(dfs\)就 ...

  3. 【Spring源码分析】.properties文件读取及占位符${...}替换源码解析

    前言 我们在开发中常遇到一种场景,Bean里面有一些参数是比较固定的,这种时候通常会采用配置的方式,将这些参数配置在.properties文件中,然后在Bean实例化的时候通过Spring将这些.pr ...

  4. Java集合中的LinkedHashMap类

    jdk1.8.0_144 本文阅读最好先了解HashMap底层,可前往<Java集合中的HashMap类>. LinkedHashMap由于它的插入有序特性,也是一种比较常用的Map集合. ...

  5. 利用TPC-H为MYSQL生成数据

    ## 利用TPC-H为MYSQL生成数据 导言 这篇文章是看了joyee写的TPC-H数据导入MySQL教程以及另一篇网上的MySQL TPCH测试工具简要手册 后写的,有些内容是完全转载自以上两篇文 ...

  6. 如何提高windows的性能

    默认windows启用了很多的效果,我们可能平时没有注意到,比如什么淡入淡出效果之类的,其实在我看来,这些效果不仅难看,而且影响了windows的性能,下面我就来说说怎么通过关闭这些效果来提高wind ...

  7. 设计模式——备忘录模式(C++实现)

    #include <iostream> #include <string> #include <vector> using namespace std; class ...

  8. MySQL常用的查询命令

    MySQL常用的查询命令 author: headsen chen   2017-10-19  10:15:25 个人原创.转载请注明作者,出处,否则依法追究法律责任 1,查询现在的时间:mysql& ...

  9. C语言第十次博客作业--结构体

    一.PTA实验作业 题目1: 结构体数组按总分排序 1. 本题PTA提交列表 2. 设计思路 求出每名学生的总分 定义i,j循环变量 for i=0 to n for j=0 to 3 p[i].su ...

  10. equals和hashCode详解

    equals和hashCode详解 http://www.cnblogs.com/Qian123/p/5703507.html