Redis实战篇-登录校验
文章目录
- 前言
- 一、Cookie案例
- 二、个人感受
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
登录校验主要用的是Cookie生成对应Id,然后经过拦截器拦截分发给各个Controller
尚硅谷Redis实战篇
一、Cookie案例
Cookie是发送给浏览器的信息;使用Cookie实现显示电脑时间的功能。
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;public class servlet03 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 设置响应内容类型和编码response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();// 学生姓名String studentName = "学生姓名";// 1. 获取所有cookie,判断是否是第一次访问Cookie[] cookies = request.getCookies();boolean isFirst = true;String lastAccessTime = null;if (cookies != null) {for (Cookie cookie : cookies) {if ("lastAccess".equals(cookie.getName())) {isFirst = false;// 解码上次访问时间lastAccessTime = URLDecoder.decode(cookie.getValue(), "UTF-8");break;}}}// 2. 判断是否是第一次访问,显示相应信息if (isFirst) {out.println("您好" + studentName + ",欢迎您首次访问");} else {out.println("欢迎" + studentName + ",您上次访问时间为" + lastAccessTime);}// 3. 获取当前时间,重新设置cookie的值Date now = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String currentTime = sdf.format(now);// URL编码时间字符串(防止特殊字符问题)String encodedTime = URLEncoder.encode(currentTime, "UTF-8");// 创建Cookie并设置属性Cookie cookie = new Cookie("lastAccess", encodedTime);cookie.setMaxAge( 30); // 设置Cookie有效期为30天cookie.setPath("/"); // 设置Cookie路径// 4. 重新发送cookieresponse.addCookie(cookie);out.close();}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}
二、个人感受
感觉这个登陆验证的功能和JavaWeb里面Servlet和JSP实现的登录功能没有太大区别。之前没有看得太懂,现在看Redis和新学了Cookie的作用就大概明白了。现在使用Redis是为了实现Tomcat集群的分布式。
JavaWeb课程
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。