1. package com.tongtech.bjvsp.sysmng.filter; 2. 3. import java.io.IOException; 4. import java.io.PrintWriter; 5. 6. import javax.servlet.Filter; 7. import javax.servlet.FilterChain; 8. import javax.servlet.FilterConfig; 9. import javax.servlet.ServletException; 10. import javax.servlet.ServletRequest; 11. import javax.servlet.ServletResponse; 12. import javax.servlet.http.HttpServlet; 13. import javax.servlet.http.HttpServletRequest; 14. import javax.servlet.http.HttpServletResponse; 15. 16. import com.tongtech.bjvsp.sysmng.constant.ConstantServlet; 17. 18. public class EncodingFilter extends HttpServlet implements Filter { 19. private FilterConfig filterConfig; 20. 21. // Handle the passed-in FilterConfig 22. public void init(FilterConfig filterConfig) throws ServletException { 23. this.filterConfig = filterConfig; 24. } 25. 26. // Process the request/response pair 27. public void doFilter(ServletRequest request, ServletResponse response, 28. FilterChain filterChain) { 29. try { 30. 31. HttpServletRequest httpRequest = (HttpServletRequest) request; 32. HttpServletResponse httpResponse = (HttpServletResponse) response; 33. boolean isValid = true; 34. String uriStr = httpRequest.getRequestURI(); 35. if (uriStr.indexOf(".jsp") == -1 && uriStr.indexOf(".do") == -1) { 36. isValid = true; 37. } else if (uriStr.indexOf("login.jsp") == -1 && uriStr.indexOf("login.do") == -1 38. && httpRequest.getSession().getAttribute("UserWraper") == null) { 39. isValid = false; 40. } 41. 42. if (isValid) { 43. request.setCharacterEncoding("GBK"); 44. filterChain.doFilter(request, response); 45. } 46. 47. else { 48. request.setCharacterEncoding("GBK"); 49. PrintWriter out = httpResponse.getWriter(); 50. if( uriStr.indexOf("index.jsp") == -1 ) { 51. out.write("<mce:script type="text/javascript"><!-- window.parent.parent.location.href='../../login.jsp' // --></mce:script>"); 52. } else { 53. out.write("<mce:script type="text/javascript"><!-- window.parent.parent.location.href='../login.jsp' // --></mce:script>"); 54. } 55. 56. } 57. 58. } catch (ServletException sx) { 59. filterConfig.getServletContext().log(sx.getMessage()); 60. } catch (IOException iox) { 61. filterConfig.getServletContext().log(iox.getMessage()); 62. } 63. } 64. 65. // Clean up resources 66. public void destroy() { 67. } 68. }