1 package com.pv.utils;
2
3 import java.io.IOException;
4 import java.io.PrintWriter;
5
6 import javax.servlet.*;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9 import javax.servlet.http.HttpSession;
10
11 public class RequestFilter implements Filter {
12 private FilterConfig config;
13 //实现初始化方法
14 public void init(FilterConfig config){
15 this.config = config;
16 }
17 public void destroy(){
18 this.config = null;
19 }
20
21 @Override
22 public void doFilter(ServletRequest req, ServletResponse res,
23 FilterChain chain) throws IOException, ServletException {
24 // TODO Auto-generated method stub
25 req.setCharacterEncoding("utf-8");
26 HttpServletRequest request = (HttpServletRequest) req;
27 HttpServletResponse response = (HttpServletResponse) res;
28 HttpSession session = request.getSession();
29 //获取客户请求的页面
30 String url = request.getServletPath();
31 System.out.println("wangming"+url);
32 if((!request.getServletPath().equals("/login.jsp"))
33 &&(!request.getServletPath().equals("/solar.jsp"))
34 &&(!request.getServletPath().equals("/index.jsp"))){
35 System.out.println(request.getServletPath());
36 if(session.getAttribute("username")==null){
37 session.invalidate();
38 response.setContentType("text/html;charset=gb2312");
39 PrintWriter out = response.getWriter();
40 out.println("
41 out.println("alert('由于你长时间没有操作,导致Session失效!请你重新登录!');top.location.href='" + request.getContextPath() + "/solar.jsp'");
42 out.println("");
43 }else{
44 chain.doFilter(request , response );
45 }
46 }else{
47 chain.doFilter(request , response );
48 }
49 }
50 }