filter完成自动登录的代码实现
来源:互联网 发布:c语言求最简分数 编辑:程序博客网 时间:2024/05/17 22:42
1,定义个javabean类,按照账号和密码设置变量定义好user类.
2,建一个servlet的包,定义一个处理登录界面的逻辑servlet,然后按照步骤编写代码
protectedvoiddoGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
//获取提交的数据,组织为 JavaBean
Useruser =newUser();
Stringusername =request.getParameter("username");
Stringpassword =request.getParameter("password");
user.setUsername(username);
user.setPassword(password);
//查询数据库,当前直接认为用户合法
//判断是否设置为自动登陆
Stringauto =request.getParameter("auto");
//如果是,那么将账号密码设置进 Cookie
Cookiec =newCookie("user",username +"@"+ password);
if("yes".equals(auto)){
c.setMaxAge(60 * 60 * 24 * 7);
}else {
c.setMaxAge(0);
}
response.addCookie(c);
//将用户设置进 session
//request.setAttribute("user", user);
request.getSession().setAttribute("user",user);
//请求转发到 index.jsp
request.getRequestDispatcher("/index.jsp").forward(request,response);
}
这里index.jsp就是默认的首页登录界面.auto是在输入账号密码的jsp里设置的input的属性,
<inputtype="checkbox"name="auto"value="yes">自动登录
</label> <label><input
type="checkbox"> 记住用户名
3,创建过滤器
publicvoiddoFilter(ServletRequest request,ServletResponse response, FilterChainchain) throwsIOException, ServletException {
Useruser =null;
//强转换来获取request.Cookie
HttpServletRequestr = (HttpServletRequest)request;
//获取cookie
Cookie[]cs =r.getCookies();
//判断cookie是否存在,也就是判断之前是否已经登陆过一次网页
if(cs!=null){
for (Cookiec: cs) {
if("user".equals(c.getName())){
//获取遍历后c的值(账号和密码)根据@来进行切割
String[]arr =c.getValue().split("@");
//arr[0]是账号arr[1]是密码
user.setPassword(arr[1]);
user.setUsername(arr[0]);
//讲获取到的值传给session,进行下一步的页面访问
r.getSession().setAttribute("user", user);
}
}
}
//放行语句
chain.doFilter(request,response);
}
这样再form表单里设置好属性,把获取到网页输入的账号的标签里设置成属性name=”username”, 把获取到网页输入的密码的标签里设置属性name=”password”
然后就可以run as进行调试了.
- filter完成自动登录的代码实现
- Filter 实现自动登录
- Filter过滤器实现自动登录
- Filter过滤器实现自动登录
- 使用Filter实现自动登录
- filter过滤器之自动登录代码
- 利用Filter完成的登录功能【练习】
- 对用户自动登录实现的代码
- 有关filter实现网站自动登录
- filter 过滤器实现自动登录功能
- 利用Filter实现用户自动登录
- 原生自动登录(filter和cookie实现)
- 自动完成的实现
- 【Java基础】采用Filter实现AOP完成统一登录验证
- Filter过滤器+cookie实现自动登录和安全登录
- VBS 自动登录实现代码
- Filter实现自动用户自动登录功能(三)
- 代码完成的实现
- 三周四次课(11月2日) 1. 高阶函数 2. 匿名函数
- C语言求最小公倍数和最大公约数
- Aurora HDR 2018(图片HDR特效工具)官方破解版V1.1.0.793下载 | Aurora HDR 2018破解版
- Linux教程【15】-Linux搭建jsp开发环境
- 171101 逆向-EISCTF(Reverse)
- filter完成自动登录的代码实现
- explain优化sql
- Android读书笔记(八) 前台服务、IntentService
- 总结-2017/11/2
- eclipse运行慢经常卡死
- Error:C:\Users\Administrator.gradle\native\23\windows-i386\native-platform.dll (拒绝访问。)
- 每天一个linux命令(23):Linux 目录结构
- 分析数据:使用Matplotlib创建散点图---路径问题
- 文章标题