springmvc过滤器简单实例
生活随笔
收集整理的這篇文章主要介紹了
springmvc过滤器简单实例
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
自定義過濾器
package com.ssm.student.filter;import java.io.IOException; import java.io.PrintWriter;import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.springframework.web.filter.OncePerRequestFilter;/*** @className SessionFilter* @deprecated 登錄過濾器* @author pengfei.xiong* @date 2017年10月8日*/ public class SessionFilter extends OncePerRequestFilter{/** (non-Javadoc)* * @see* org.springframework.web.filter.OncePerRequestFilter#doFilterInternal(* javax.servlet.http.HttpServletRequest,* javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain)*/@Overrideprotected void doFilterInternal(HttpServletRequest request,HttpServletResponse response, FilterChain filterChain)throws ServletException, IOException {//request.getSession().setAttribute("loginedUser", "ssss");// 不過濾的uriString[] notFilter = new String[] { "login.jsp", "index.jsp" };// 請(qǐng)求的uriString uri = request.getRequestURI();// uri中包含background時(shí)才進(jìn)行過濾if (uri.indexOf("do") != -1) {// 是否過濾boolean doFilter = true;for (String s : notFilter) {if (uri.indexOf(s) != -1) {// 如果uri中包含不過濾的uri,則不進(jìn)行過濾doFilter = false;break;}}if (doFilter) {// 執(zhí)行過濾// 從session中獲取登錄者實(shí)體Object obj = request.getSession().getAttribute("loginedUser");if (null == obj) {// 如果session中不存在登錄者實(shí)體,則彈出框提示重新登錄// 設(shè)置request和response的字符集,防止亂碼request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html");PrintWriter out = response.getWriter();String loginPage = "login-old.jsp";StringBuilder builder = new StringBuilder();builder.append("<script type=\"text/javascript\">");builder.append("alert('網(wǎng)頁過期,請(qǐng)重新登錄');");builder.append("window.top.location.href='");builder.append(loginPage);builder.append("';");builder.append("</script>");out.print(builder.toString());} else {// 如果session中存在登錄者實(shí)體,則繼續(xù)filterChain.doFilter(request, response);}} else {// 如果不執(zhí)行過濾,則繼續(xù)filterChain.doFilter(request, response);}} else {// 如果uri中不包含background,則繼續(xù)filterChain.doFilter(request, response);}}//在web.xml中配置.. }web.xml配置過濾器
<!-- 自定義過濾器 --><filter><filter-name>sessionFilter</filter-name><filter-class>com.ssm.student.filter.SessionFilter</filter-class></filter><filter-mapping><filter-name>sessionFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>轉(zhuǎn)載于:https://www.cnblogs.com/xpf1009/p/9227315.html
總結(jié)
以上是生活随笔為你收集整理的springmvc过滤器简单实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring的jar包以及相关的API文
- 下一篇: k8s command args