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 ...{}}