Filter的使用
Filter
必須實現javax.Servlet.Filter接口
必須定義以下三個方法
init(),初始化
doFilter(),處理請求
destory(),銷毀
配置
web.xml配置過濾器
<filter><filter-name>SessionFilter</filter-name><!--過濾器--><filter-class>com.service.SessionFilter</filter-class> </filter> <filter-mapping><filter-name>SessionFilter</filter-name><!--需要過濾的路徑--><url-pattern>/home/*</url-pattern><!--<url-pattern>/user/*</url-pattern>--> </filter-mapping>實現代碼
package cn.com.hwasunsoft.lims.web.filter;import cn.com.hwasunsoft.lims.web.controller.admin.MessageController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.ui.Model; import org.springframework.web.context.WebApplicationContext;import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.HashMap; import java.util.Map;/*** Created by ali on 2018/5/25.*/ public class MessageFilter implements Filter {private WebApplicationContext wac;@Overridepublic void init(FilterConfig arg0) throws ServletException {wac = (WebApplicationContext)arg0.getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {try {if (servletRequest!=null){MessageController messageController = wac.getBean(MessageController.class);servletRequest.setAttribute("messageList", messageController.selectMessageList());}} catch (Exception e) {throw e;} finally {filterChain.doFilter(servletRequest, servletResponse);}}@Overridepublic void destroy() {} }總結
- 上一篇: Filter与Servlet区别
- 下一篇: ActiveMQ介绍