此文章是基于 搭建Jquery+SpringMVC+Spring+Hibernate+MySQL平台 一. 准备工作 1. 点击此下载相关文件,并把文件放到 ims 工程对应的文件夹下 二. 相关文件介绍 1. LoginFilter.java:登录过滤器,保证每次的 ...
此文章是基于 搭建Jquery+SpringMVC+Spring+Hibernate+MySQL平台
一. 准备工作
1. 点击此下载相关文件,并把文件放到 ims 工程对应的文件夹下
二. 相关文件介绍
1. LoginFilter.java:登录过滤器,保证每次的url访问都对session进行验证
package com.ims.web;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 javax.servlet.http.HttpSession;import org.springframework.web.filter.OncePerRequestFilter;import com.ims.common.ConfigHolder;/** * 登陆过滤器 */public class LoginFilter extends OncePerRequestFilter{ @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { // 不拦截的url String[] notFilter = new String[] {"/login.do","/service"}; // 请求的url String url = request.getRequestURI(); boolean doFilter = chek(notFilter, url); if (doFilter) { HttpSession session = request.getSession(); Object obj = session.getAttribute(ConfigHolder.getValue("session.sys.user")); if (null == obj) { // 如果session中不存在登录者实体,则弹出框提示重新登录 PrintWriter out = response.getWriter(); String loginPage = request.getContextPath() + "/login.do"; StringBuilder builder = new StringBuilder(); builder.append("<script type=\"text/javascript\">"); builder.append("window.top.location.href='"); builder.append(loginPage); builder.append("';"); builder.append("</script>"); out.print(builder.toString()); } else { filterChain.doFilter(request, response); } } else { filterChain.doFilter(request, response); } } /** * 检查是否拦截 * @param notFilter 不拦截的url * @param url 请求的url * @return false:不拦截 true:拦截 */ public boolean chek(String[] notFilter, String url) { // 图片、脚本、css、页面不进行拦截 if (url.endsWith(".css") || url.endsWith(".js") || url.endsWith(".png") || url.endsWith(".jpg") || url.endsWith(".gif") || url.endsWith(".jsp") || url.endsWith(".html")) { return false; } // 含有notFilter中的任何一个则不进行拦截 for (String s : notFilter) { if (url.indexOf(s) != -1) { return false; } } return true; }}
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:基于springMVC实现登录过滤器
关键词:Spring
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。