Servlet--基本四(EL表达式,内置对象,JSTL,过滤器,监听器)

EL

1. 相关概念
表达式语言,可以很方便的获取数据,和jstl一起使用,消灭jsp页面中的<%
2. 基本语法
${表达式}
3. 主要作用
1,快速的获取域对象中的值
	通用格式:
		${键名}
	获取数组,list集合的元素
		${键名[索引]}
	
	Map集合的元素
		${键名.key名称}  或者 ${键名["key的名称"]}
	获取javaBean对象属性
	 	${键名.属性名} 或者 ${键名["属性名"]} 
	
2,简单的运算
	算术,关系,逻辑,三元 
4. 11大内置对象(了解)
就是一个pageContext对象和10个map集合

pageContext页面的上下文对象,和jsp里面那个pageContext是一模一样的,通过他可获取jsp中其他8个内置对象

pageScope requestScope sessionScope applicationScope 就是4个域对象存取数据的集合,如果出现了同名的属性,就可以使用这4个去指定的域中获取数据

param paramValues 就是表单提交过来数据的map集合

hearder headerValues 就是浏览器提交过来的请求头中数据的map集合

cookie 就是浏览器携带过来的所有的cookie对象的map集合,键就是cookie的名字,值就是cookie对象
	比如${cookie.username} 得到的是一个名字为"username"cookie对象
	比如${cookie.username.value}得到是是名字为"username"cookie对象的内容
	
initParam web应用的初始化参数

JSTL

1. 相关概念
java标准的标签库,和EL表达式一起来替换页面中的<%,提高程序的可读性
2. 使用步骤
1,导入和jstl相关的jar
2,页面中引入标签库
3,使用标签
3. 常见标签
set标签:设置数据
	var:设置变量的名称
	value:变量的值
	scope:变量所在的域
	
if标签:判断
	test:条件

choose标签:(相当于switch)
	when标签:相当于case
		test:条件
	otherwise标签:相当于default

foreach标签:(类似增强for)
	item:等待遍历的集合或者数组
	var:遍历的临时遍历

Filter

1. 相关概念
web 3大组件
Servlet Filter Listener
Filter和Listener是servlet规范中两个高级的特性,不同于servlet,不是用于处理请求和响应的,只是对request和response进行修改,或者对servletContext,HTTPSession,request进行监听,提供一些辅助性的功能,帮助我们简化开发

作用
	一:就是放行,让不让你过(检验用户是否登录)
	二:改变你中间的内容(统一全站的字符编码)
	
本质:
	就是在request到达目标Servlet之前,拦截用户的request
	根据需要检查request,也可修改里面的数据
	就是在response到达目标Servlet之前,拦截用户的response
	根据需要检查response,也可修改里面的数据
2. 快速入门
1,定义一个类实现Filter接口
2,配置拦截的具体路径
3,重写doFilter方法,在里面放行
3. 使用细节
web.xml的配置
	和servlet是一样的
	
过滤器链(多个过滤器)
	注解配置
		按照类名的字符串比较规则,值小的先执行
	xml配置
		谁定义在上面,谁先执行

生命周期
	和servlet非常类似,但是它是在服务器启动的时候被创建
	
拦截方式(了解)
	注释配置
		设置dispatcherTypes属性
			DispatcherType.REQUEST 默认,浏览器直接访问的时候会被拦截
			DispatcherType.FORWARD,浏览器转发访问的时候会被拦截
	xml配置
    	设置标签
4. FilterConfig
概念
	过滤器的配置对象,这个对象在filter初始化的时候将信息传递给过滤器
使用
	xml配置(定义在filter内部)
		
            username
            zhangsan
        
        
    注解方式
    	@WebFilter(value = "/*",initParams = {@WebInitParam(name = "encoding",value = "utf-8")})
    	
方法
	 String getFilterName() 获取当前filter的名字
     String getInitParameter(String name)  根据键或者值

Listener

1. 相关概念
3个要素
	1,事件源 	电话   电动车
	2,事件     电话铃响  踹
	3,事件处理程序  电话铃响之后班主任要做的事  报警器响
	
三个步骤
	1,写一个事件源 
	2,写一个监听器(事件处理程序) 
	3,绑定事件源和监听器 
	
三类八种监听器
	监听域对象的创建和销毁
		ServletContextListener
		HTTPSessionListener
		ServletRequestListener
	
	监听域对象中属性的变化
		ServletContextAttributeListener
		HTTPSessionAttributeListener
		ServletRequestAttributeListener
	
	javaBean的感知监听器
		HttpSessionBindingListener
		HttpSessionActivationListener
2. 快速入门
1,创建一个普通的类实现ServletContextListener接口
2,重写里面的方法
3,写一个注解用来注册监听
3. 主要作用
对于servletContext,他可以做一些应用级别的数据保存,或者定时发送这些功能
	用户过生日,生日邮件(定时任务),在servletContext中进行配置,然后每天定点执行
	每天晚上,我们的运营数据,需要备份,也可以在这里设置
对于session,可以用在购物车,在session销毁的时候,保存购物车中的数据到数据库
对于request,因为它创建的太频繁了,所以这个监听器没什么用

你可能感兴趣的:(servlet,java,servlet)