您好,登錄后才能下訂單哦!
小編給大家分享一下Servlet過濾器Filter是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
特點
1)Filter是依賴于Servlet容器,屬于Servlet規范的一部分,在Servlet API中定義了三個接口類:Filter, FilterChain, FilterConfig。
2)基本功能是對 調用 Servlet 的過程進行攔截,從而在 Servlet 進行響應處理的前后實現一些特殊的功能。
3)需要在 web.xml 文件中進行注冊和設置它所能攔截的資源。
編碼
public class UserNoFilter implements Filter { private FilterConfig filterConfig; //獲取參數配置 public void init(FilterConfig fConfig) throws ServletException { this.filterConfig = fConfig; } /** * 業務邏輯判斷 */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { String initUser = filterConfig.getInitParameter("userNo"); String userNo = request.getParameter("userNo");//從提交請求獲取用戶賬號 if(!initUser.equals(userNo)){ request.setAttribute("message", "用戶名不正確"); request.getRequestDispatcher("/index.jsp").forward(request, response); return; } chain.doFilter(request, response); } public void destroy() { } }
web.xml參數
<!-- 配置過濾器 --> <filter> <display-name>UserNoFilter</display-name> <filter-name>UserNoFilter</filter-name> <filter-class>com.demo.filter.UserNoFilter</filter-class> <init-param> <param-name>userNo</param-name> <param-value>admin</param-value> </init-param> </filter> <filter-mapping> <filter-name>UserNoFilter</filter-name> <url-pattern>/hello.jsp</url-pattern> </filter-mapping>
應用
1)指定編碼格式
request.setCharacterEncoding(encoding); filterChain.doFilter(request, response);
2)用戶是否登錄、用戶能否訪問菜單
String userId=(String) session.getAttribute("userId"); if (userId ==null){ }
看完了這篇文章,相信你對Servlet過濾器Filter是什么有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。