sponsored links

过滤器:两个非常有用的过滤器

LoginFilter.java:    import javax.servlet.FilterChain;  import javax.servlet.ServletRequest;  import javax.servlet.ServletResponse;  import java.io.IOException;  import javax.servlet.Filter;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import javax.servlet.ServletException;  import javax.servlet.FilterConfig;      /*   *    * @author Ace   * web.xml配置如下:    * <filter>    * <filter-name>login</filter-name>   * <filter-class>   * org.waityou.news.util.filters.LoginFilter   * </filter-class>   * </filter>    * <filter-mapping>    * <filter-name>login</filter-name>   * <url-pattern>/manager/*</url-pattern>    * </filter-mapping>   */  public class LoginFilter implements Filter {        protected FilterConfig filterConfig;        public void doFilter(final ServletRequest req, final ServletResponse res,              FilterChain chain) throws IOException, ServletException {          HttpServletRequest hreq = (HttpServletRequest) req;          HttpServletResponse hres = (HttpServletResponse) res;          String isLog = (String) hreq.getSession().getAttribute("isLog");          if ((isLog != null) && ((isLog.equals("true")) || (isLog == "true")))//检查是否登录          {              chain.doFilter(req, res);              return;          } else              hres.sendRedirect("/error.html");//如果没有登录,把视图派发到登录页面      }        public void destroy() {          this.filterConfig = null;      }        public void init(FilterConfig config) {          this.filterConfig = config;      }        public void setFilterConfig(final FilterConfig filterConfig) {          this.filterConfig = filterConfig;      }  }          SetCharacterEncodingFilter.java:    import java.io.IOException;  import javax.servlet.Filter;  import javax.servlet.FilterChain;  import javax.servlet.FilterConfig;  import javax.servlet.ServletException;  import javax.servlet.ServletRequest;  import javax.servlet.ServletResponse;    /**   * @author Ace 编码过滤,一律设置成UTF-8   *    * web.xml中配置如下:    * <filter>   * <filter-name>Set Character Encoding</filter-name>   * <filter-class>   * org.waityou.news.util.filters.SetCharacterEncodingFilter   * </filter-class>    * </filter>    * <filter-mapping>   * <filter-name>Set Character Encoding</filter-name>    * <url-pattern>/*</url-pattern>   * </filter-mapping>   */  public class SetCharacterEncodingFilter implements Filter {            public void destroy() {}      public void doFilter(ServletRequest request, ServletResponse response,              FilterChain chain) throws IOException, ServletException {          request.setCharacterEncoding("UTF-8");          // 传递控制到下一个过滤器          chain.doFilter(request, response);      }            public void init(FilterConfig filterConfig) throws ServletException {}    }    LoginFilter.java:    import javax.servlet.FilterChain;  import javax.servlet.ServletRequest;  import javax.servlet.ServletResponse;  import java.io.IOException;  import javax.servlet.Filter;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import javax.servlet.ServletException;  import javax.servlet.FilterConfig;      /*   *    * @author Ace   * web.xml配置如下:    * <filter>    * <filter-name>login</filter-name>   * <filter-class>   * org.waityou.news.util.filters.LoginFilter   * </filter-class>   * </filter>    * <filter-mapping>    * <filter-name>login</filter-name>   * <url-pattern>/manager/*</url-pattern>    * </filter-mapping>   */  public class LoginFilter implements Filter {        protected FilterConfig filterConfig;        public void doFilter(final ServletRequest req, final ServletResponse res,              FilterChain chain) throws IOException, ServletException {          HttpServletRequest hreq = (HttpServletRequest) req;          HttpServletResponse hres = (HttpServletResponse) res;          String isLog = (String) hreq.getSession().getAttribute("isLog");          if ((isLog != null) && ((isLog.equals("true")) || (isLog == "true")))//检查是否登录          {              chain.doFilter(req, res);              return;          } else              hres.sendRedirect("/error.html");//如果没有登录,把视图派发到登录页面      }        public void destroy() {          this.filterConfig = null;      }        public void init(FilterConfig config) {          this.filterConfig = config;      }        public void setFilterConfig(final FilterConfig filterConfig) {          this.filterConfig = filterConfig;      }  }          SetCharacterEncodingFilter.java:    import java.io.IOException;  import javax.servlet.Filter;  import javax.servlet.FilterChain;  import javax.servlet.FilterConfig;  import javax.servlet.ServletException;  import javax.servlet.ServletRequest;  import javax.servlet.ServletResponse;    /**   * @author Ace 编码过滤,一律设置成UTF-8   *    * web.xml中配置如下:    * <filter>   * <filter-name>Set Character Encoding</filter-name>   * <filter-class>   * org.waityou.news.util.filters.SetCharacterEncodingFilter   * </filter-class>    * </filter>    * <filter-mapping>   * <filter-name>Set Character Encoding</filter-name>    * <url-pattern>/*</url-pattern>   * </filter-mapping>   */  public class SetCharacterEncodingFilter implements Filter {            public void destroy() {}      public void doFilter(ServletRequest request, ServletResponse response,              FilterChain chain) throws IOException, ServletException {          request.setCharacterEncoding("UTF-8");          // 传递控制到下一个过滤器          chain.doFilter(request, response);      }            public void init(FilterConfig filterConfig) throws ServletException {}    }    

Tags:
  • Java 五个有用的过滤器
    五个有用的过滤器 一.使浏览器不缓存页面的过滤器     import javax.servlet.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; / * 用于的使 Browser 不缓存页面的过滤器 */ public class ForceNoCa ...
  • java Filter__五个有用的过滤器(三)
    五个有用的过滤器 一.使浏览器不缓存页面的过滤器    import javax.servlet.*;    import javax.servlet.http.HttpServletResponse;    import java.io.IOException;       / * 用于的使 Browser 不缓存页面的过滤器 */   public cl ...
  • 五个有用的过滤器 Filter
    五个有用的过滤器 Filter 一.使浏览器不缓存页面的过滤器     import javax.servlet.*;    import javax.servlet.http.HttpServletResponse;    import java.io.IOException;       /   * 用于的使 Browser 不缓存页面的过滤器   */ ...
  • web.xml配置五个有用的过滤器
    web.xml配置五个有用的过滤器
    web.xml配置五个有用的过滤器 转载自:http://royzhou1985.iteye.com/blog/418318 一.使浏览器不缓存页面的过滤器    Java代码  Java代码   import javax.servlet.*;         import javax.servlet.http.HttpServletResponse;    ...
  • 主题:五个有用的过滤器
    五个有用的过滤器 一.使浏览器不缓存页面的过滤器    import javax.servlet.*;    import javax.servlet.http.HttpServletResponse;    import java.io.IOException;       / * 用于的使 Browser 不缓存页面的过滤器 */   public cl ...