Servlet拦截器
生活随笔
收集整理的這篇文章主要介紹了
Servlet拦截器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Servlet攔截器
1.LoginFilter
package main.java.filter;import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException;public class LoginFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) {}/*** @description 登錄攔截* @param servletRequest 請求* @param servletResponse 響應* @param filterChain 持有Filter列表的管理和控制* @author zhq* @throws IOException 讀寫異常* @throws ServletException Servlet異常* @date 2021/5/24 10:40* @version 1.0*/@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) servletRequest;HttpServletResponse response = (HttpServletResponse) servletResponse;HttpSession session = request.getSession();Object username = session.getAttribute("username");String path = request.getServletPath();//不需要過濾的urlString[] urls = {"/login","/json",".js",".css",".ico",".jpg",".png"};// flag是登錄成功標志boolean flag = true;for (String url : urls) {if (path.contains(url) && !path.contains(".jsp")){flag = false;break;}else if (path.contains("login.jsp")){flag = false;break;}}if (flag) {if (username != null) {filterChain.doFilter(request, response);}else {response.sendRedirect("login.jsp");}}else{filterChain.doFilter(request, response);}}@Overridepublic void destroy() {} }2.web.xml配置
<filter><filter-name>LoginFilter</filter-name><filter-class>main.java.filter.LoginFilter</filter-class></filter><filter-mapping><filter-name>LoginFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>總結
以上是生活随笔為你收集整理的Servlet拦截器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue+ECharts的小示例
- 下一篇: ssm 静态资源处理器