您的位置:首页 > 其它

fiter过滤器控制统一编码和防止非法url进入

2010-09-02 15:41 218 查看
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. }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: