3、用户登录成功将对应Cookie的数据发送到客户端
if (autoLogin != null) {
Cookie cookie = new Cookie(“autoLoginCookie”, user02.getUsername()+“@”+user02.getPassword());
cookie.setPath(“/”);
cookie.setMaxAge(60*60);
response.addCookie(cookie);
}
4、在EncodingFilter验证 session 中是否存在此用户
5、验证是否包含自动登陆的cookie
// 检测自动登录
// 验证session当中是否存在此用户
User loginUser = (User) request.getSession().getAttribute(“loginUser”);
if (loginUser != null) {
chain.doFilter(request, response);
return;
}
// 验证是否包含自动登陆的cookie
Cookie[] allCookie = request.getCookies();
Cookie userCookie = null;
if (allCookie != null) {
for (Cookie c : allCookie) {
if (“autoLoginCookie”.equals(c.getName())) {
userCookie = c;
break;
}
}
}
if (userCookie == null) {
chain.doFilter(request, response);
return;
}
// 验证cookie中信息是否正确
String[] u = userCookie.getValue().split(“@”);
String username = u[0];
String password = u[1];
User user = new User();
user.setUsername(username);
user.setPassword(password);
UserService service = new UserServiceImpl();
try {
loginUser = service.userLogin(user);
} catch (SQLException e) {
e.printStackTrace();
}
if (loginUser == null) {
chain.doFilter(request, response);
return;
}
<% String flag = (String)session.getAttribute(“flag”)==null?“”:(String)session.getAttribute(“flag”);
String name = “”;
String password = “”;
try{
Cookie[] cookies=request.getCookies();
if(cookies!=null){
for(int i=0;i<cookies.length;i++){
if(cookies[i].getName().equals(“cookie_user”)){
String value = cookies[i].getValue();
if(value!=null&&!“”.equals(value)){
name=cookies[i].getValue().split(“-”)[0];
if(cookies[i].getValue().split(“-”)[1]!=null && !cookies[i].getValue().split(“-”)[1].equals(“null”)){
password=cookies[i].getValue().split(“-”)[1];
}
}
}
request.setAttribute(“name”,name);
request.setAttribute(“passward”,password);
}
}
}catch(Exception e){
e.printStackTrace();
}
%>
- 用户名:
- * 最大限度为20字节
- 密码:
- * 最大限度为20字节
- 验证码:
String flag = request.getParameter(“flag”);
//set cookie
if(flag!=null && flag.equals(“1”)){
Cookie cookie = new Cookie(“cookie_user”, po.getLogin_id()+“-”+form.getLogin_pwd());
cookie.setMaxAge(606024*30); //cookie 保存30天
response.addCookie(cookie);
}else{
Cookie cookie = new Cookie(“cookie_user”,po.getLogin_id()+“-”+null);
cookie.setMaxAge(606024*30); //cookie 保存30天
response.addCookie(cookie);
}
新建一个header.jsp的页面将index.jsp的导航栏抽取出来
注意在header.jsp里面要
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:if test=“${empty loginUser}”>
- 登录
- 注册
</c:if>
<c:if test=“${not empty loginUser}”>
- 欢迎${loginUser.username}
- 退出
- 购物车
- 我的订单
</c:if>
Toggle navigation
- 手机数码(current)
- 电脑办公
- 电脑办公
- 电脑办公
Submit
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
最后
你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。
我特地针对初学者整理一套前端学习资料分享给大家,戳这里即可获取
、讲解视频,并且会持续更新!**
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
最后
你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。
我特地针对初学者整理一套前端学习资料分享给大家,戳这里即可获取
[外链图片转存中…(img-WEYUeLeg-1711670271039)]