1.客户端免登陆操作:

欢迎界面

2.服务器端

A.接受cookie

Default 的servlet:提取客户端的cookie信息从中提取用户名和密码,验证用户名和密码是否有效

登陆成功:跳转到Main的servlet(显示主页)

登陆失败:跳转到index.html(登陆界面)

B.撰写cookie

Login的servlet:用户登陆成功之后把用户名和密码写到cookie中

2.过滤器的使用

A.servlet1:字符集检验+检验数据的合法性

B.servlet2:字符集检验+检验数据的合法性

C.servlet3(登陆):字符集检验+检验数据的合法性——不走filter

提炼出filter:字符集检验+检验数据的合法性——提取通用功能,在访问资源之前进行过滤操作=设置网站的信息(request,response)+验证

如何创建filter:

A.第一步:创建一个类实现Filter接口,覆盖该接口的三个方法

1)Init();

2)doFilter();——过滤器的功能写到该方法中

3)destroy();

B.第二步:在web.xml配置一下Filter

<filter>

    <filter-name></filter-name>

    <filter-class>包名.类名(必须是准确的)<filter-class>

</filter>

<filter-mapping>

    <filter-name></filter-name>

    <url-pattern>/servlet/*</url-pattern>(该工程的所有servlet需要走filter而其他静态界面不需要,但如果写/*则该工程下所有的资源都要经过filter

</filter-mapping>

FIlter的特点:

1)filter是单例模式,只会创建一个对象

2)web容器启动的时候就会创建Filter对象,第一次访问时才会创建servlet

3)每次客户端请求只要符合url-pattern的条件,就会进入do-Filter方法

4)多个filter的时候执行的先后顺序是按照web.xml的配置的先后顺序来决定的

5)过滤器越多,程序执行功能越慢,3个就已经很慢了(字符核查;用户cookie验证;关键字核查)

6)过滤器有两个结果:放行或者踢出(必须选择其一)

7)并不是所有的servlet都需要经过filter,用servlet和filter的路径配置来完成

posted on 2012-07-01 08:32  xingaolangyue2  阅读(284)  评论(0编辑  收藏  举报