JavaEE(Session与Filter)
2021/11/29 1:06:32
本文主要是介绍JavaEE(Session与Filter),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Session (会话)
-
访问这个用户的全部菜单都可以访问到 跨越了多个请求
-
request.setCharacterEncoding("utf-8"); // 数据库中接收到中文 这里处理乱码
// 1.创建会话 HttpSession session = request.getSession(); //2.将用户信息放到会话中 session.setAttribute("username", inputUsername);
-
会话的保存机制
Filter(过滤器)
-
上一个环节完成后,要交互到下一个环节。
//配置路径 @WebFilter("/*") public class SecurityFilter implements Filter{ @Override public void doFilter(ServletRequest servletRequest ,ServletRespons servletRepone,FilterChain filterChain){ HttpServletRequest request = (HttpServletRequest)ServletRequest; HttpServletResponse response = (HttpServletResponse)ServletResponse if(isLoginRequest(request) || LoginAlready(request) || isHomeRequest(request)){ //放行 filterChain.doFilter(ServletRequest,ServletResponse) }else{ //重定向登录页 response.sendRedirect(request.getContextPath()) //request.getContextPath() 拿到登录页 } } //判断当前的请求是否是登录请求,登录请求的Servlet地址:/login,判断当前的请求uri是否是/login,如果是login就放行。 private boolean isLoginRequest(HttpServletRequest reqeust){ System.out.println(reqeust.getContextPath()); String uri = request.getRuquestURI(); //uri虚拟地址 if(uri.equals(request.getContextPath) + "/login"){ return turn; } return false; } //判读用户是否登录 private boolean LoginAlready(HttpServletRequest reqeust){ //得到session 因为登录成功后 我们在session里放了一个值 HttpSession session = request.getSession(); Object username = session.getAttribute("username"); } if(username != null{ return ture; } return flase; } // 判断当前请求是否是请求的项目首页,如果是项目首页,就放行 private boolean isHomeRequest(HttpServletRequest request){ String contextPath = request.getContextPath(); String uri = request.getRequestURI(); contextPath = contextPath.replaceAll)("/",""); uri = uri.replaceAll("/",""); if(contextPath.equals(uri)){ return true; } return flase; }
这篇关于JavaEE(Session与Filter)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南