【JavaWeb】案例:用户登录、用户自动登录
🔎这里是【JavaWeb】,关注我学习JavaWeb不迷路
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️
👀专栏介绍
【JavaWeb】 目前主要更新JavaWeb,一起学习一起进步。
👀本期介绍
本期主要介绍案例:用户登录、用户自动登录
文章目录
1、案例一:用户登录
1.1、需求说明
1.2、流程分析图
1
、点击登录按钮时,在服务器根据表单用户名和密码,判断是否登录成功(本案例不考虑登录失
败)
2、登录成功,将用户信息存入
session
作用域,请求转发到
index.jsp
展示信息
(详见老师课上讲解)
1.3、案例代码实现
login.jsp
UserServlet
UserService
UserDao
index.jsp
2、案例二:用户自动登录【重点】
2.1、问题说明&流程分析
登录成功后,重新打开浏览器时,index.jsp 上的登录状态就会消失,就会需要人工重新登录。
我们希望有一个程序,在我们打开
index.jsp
时,若我们之前就已经登录成功了,即使登录状态消
失了,也
能自动帮我们输入之前的用户名和密码,帮我们重新登录。
这就是自动登录。
帮助我们实现自动登录的载体,就是过滤器。
2.2、知识讲解:过滤器【重点】
2.2.1、过滤器简述及入门案例
什么是过滤器(任何实现了
Filter
接口的实现类,都是过滤器)
过滤器是一个运行在服务器端的程序,先于与之相关的
servlet
或
JSP
页面之前运行,实现对请求
资源的过滤的功能。
登录:成功 (
session
作用域记录用户登录状态),失败(在
request
作用域记录用错误信息)
过滤器可附加到一个或多个
servlet
或
JSP
页面上,可以检查请求信息,也可以处理响应信息。
Filter
的基本功能是对
Servlet
容器调用
Servlet
的过程进行拦截,从而在
Servlet
执行前后实现
一些特殊的功能。
过滤器常用实例
自动登录,解决全站乱码,屏蔽非法文字,进行响应数据压缩,等等
过滤器入门案例:
访问这个项目的任意资源,都会先执行过滤器,再执行资源。
2.2.2、过滤器的生命周期&放行
创建:随着项目启动而创建
销毁:随着项目关闭而销毁
目标资源:访问哪个资源 ,被过滤器拦截了,这个资源就是你的目标资源
放行:把请求继续向后传递,直至传递给目标资源
2.2.3、过滤器链及执行流程
开发中我们会存在多个过滤器
根据
web.xml
中
<filter-mapping>
标签的放置顺序决定:从上到下依次执行
2.2.4、过滤器的配置(知道如何配置)
url-pattern 的配置与 servlet 中的配置一样:
servlet-name
的配置,通过
url-pattern
拦截一个
Servlet
的资源
.
也可以通过
servlet-name
标签进
行拦截.
dispatcher
的配置
2.2.5、FilterConfig 对象(了解)
FilterConfig 对象
2.3、案例代码实现
UserServlet
(修改
servlet
,让
servlet
在登录成功时,把用户名密码永久保存到
cookie
中,方便
过滤器进行自动登录)
web.xml 加入:(filter-class 路径自己设置)
AutoLoginFilter:(过滤器通过保存用户名密码的 cookie,进行自动登录)