案例复习:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1.分页对象:
属性:
totalpage:总页数
currentPage:当前页
rows:每一页的条数
List<T> list:当前页面的数据

public class PageBean<T>{
private Integer totalPage;
private Integer currentPage;
private Integer rows;
private List<T> list;

}



servlet中一共有三个域
request:一次请求中生效
session:一次会话中生效
servletcontext:整个web工程中都是生效的。


pagecontext 仅仅在当前页面中生效。
request
session
application

FIlter:过滤器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
概念:
滤纸,空气净化器,净水机。油滤
web中的过滤器:当访问服务器的资源的时候,过滤器将用户的请求拦截下来,完成一组特殊的功能。
过滤器有哪些作用呢:
1.登陆验证
2.统一编码处理
3.敏感词过滤

1.快速入门:
1.使用 步骤:
1.创建一个类,实现Filter接口
2.重写方法
3.设置拦截路径
1.web.xml
2.注解中设置

2.过滤器执行流程:
1.执行过滤器
2.执行完成后放行
3.回来继续执行过滤器中放行以后的代码部分。

3.过滤器的生命周期方法:
1.init();在服务器启动后,创建Filter对象,然后调用init()方法,执行一次,加载资源。
2.doFilter();每一次请求被拦截的资源,就会执行当前的方法。有多少次请求就执行多少次。
3.destory();在服务器正常关闭的时候,Filter对象被销毁,在销毁之前,会执行destory方法
先执行filter的destroy方法再执行servlet的destroy的方法


tomcat启动的时候,默认加载filter过滤器对象

4.过滤器的配置详解:
1.拦截路径:
/* 拦截所有
/index.jsp 拦截主页
*.jsp 拦截的就是所有以.jsp页面为后缀的请求
/user/*

5.转发默认不会被拦截。
dispatcherTypes属性值:
1.REQUEST,默认拦截浏览器发送给服务器的请求
2.FORWARD,转发的资源会被拦截
3.INCLUDE,包含访问资源。include
4.ERROR,错误信息拦截error
5.ASYNC,异步访问资源。async

6.过滤器链
执行流程:如果有两个过滤器:
过滤器1
过滤器2

过滤器2
过滤器1

执行顺序
如果是使用注解的方式:
这会执行顺序与 过滤器的类名有关,过滤器的类名按照字符串大小比较的规则。小的先执行,大的后执行。
如果使用的web.xml配置的方式
<filter-mapping>谁定义在上边,谁先执行。


敏感词过滤

1
2
3
4
5
6
7
8
9
10
11
1.有一张敏感词汇表
2.只要发现敏感词汇,就执行替换,替换成***

1.如果想要完成替换,所有的请求中,String str = req.getParamter();str.replace("敏感词","***");

1.继承
2.装饰者模式。
3.代理模式。



监听器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
* 事件监听机制:
* 1.事件:某一件事情
* 2.事件源:时间发生地方。
* 3.监听器:在什么情况下触发这个事件。
* 4.注册监听:将事件,事件源,监听器绑定在一起。
*
* 监听器:三大类八种。
* 一个:ServletContextListener:监听ServletContext对象的创建和销毁的。
* 两个方法:
* contextInitialized:
* contextDestroyed:
*
* 创建一个监听器:有哪些操作:
* 1.创建一个对象。
* 2.重写方法。
* 3.配置web.xml或者使用注解。
*
*/