新建一个过滤器
package com.autumn.filter; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 是否登录判断 */ public class CheckLoginFilter implements Filter { private String USERID=""; private String ROOTPATH; @Override public void init(FilterConfig filterConfig) throws ServletException { this.USERID = filterConfig.getInitParameter("userId").trim(); this.ROOTPATH = filterConfig.getInitParameter("rootPath"); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { HttpServletResponse res=(HttpServletResponse)response; HttpServletRequest req=(HttpServletRequest)request; Object userid=req.getSession().getAttribute(USERID); System.out.println("req.getRequestURI():"+req.getRequestURI()); if(isShakedown(3018,3,16)) { System.out.println("系统试用期已到,请联系商务!"); res.sendRedirect(ROOTPATH+"?rtnCode=200"); }else { if(userid==null||userid.toString().trim().isEmpty()) { //System.out.println("CheckLoginFilter userid:"+userid); System.out.println("CheckLoginFilter userId is null"); res.sendRedirect(ROOTPATH); } else{ //System.out.println("CheckLoginFilter chain.doFilter"); filterChain.doFilter(req, res); } } } @Override public void destroy() { if(this.USERID!=null&&this.USERID.trim().isEmpty()) { this.USERID=""; } if(this.ROOTPATH!=null&&this.ROOTPATH.trim().isEmpty()) { this.ROOTPATH=""; } } //试用期判断 public static boolean isShakedown(int year,int month,int day) { Date date = new Date(); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance();// 获取一个Claender实例 cal.set(year, month-1, day); Date endDate; try { endDate = sf.parse(sf.format(cal.getTime())); if (date.getTime() > endDate.getTime()) { return true; } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); return true; } return false; } }
web.xml中加入过滤器配置
<filter> <filter-name>loginFilter</filter-name> <filter-class> com.autumn.filter.CheckLoginFilter </filter-class> <init-param> <param-name>userId</param-name> <param-value>USERID</param-value> </init-param> <init-param> <param-name>rootPath</param-name> <param-value>/Bookkeeping/login.jsp</param-value> </init-param> </filter>