您好,登錄后才能下訂單哦!
小編給大家分享一下Servlet過濾器Filter是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
特點
1)Filter是依賴于Servlet容器,屬于Servlet規(guī)范的一部分,在Servlet API中定義了三個接口類:Filter, FilterChain, FilterConfig。
2)基本功能是對 調(diào)用 Servlet 的過程進行攔截,從而在 Servlet 進行響應(yīng)處理的前后實現(xiàn)一些特殊的功能。
3)需要在 web.xml 文件中進行注冊和設(shè)置它所能攔截的資源。
編碼
public class UserNoFilter implements Filter { private FilterConfig filterConfig; //獲取參數(shù)配置 public void init(FilterConfig fConfig) throws ServletException { this.filterConfig = fConfig; } /** * 業(yè)務(wù)邏輯判斷 */ 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參數(shù)
<!-- 配置過濾器 --> <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>
應(yīng)用
1)指定編碼格式
request.setCharacterEncoding(encoding); filterChain.doFilter(request, response);
2)用戶是否登錄、用戶能否訪問菜單
String userId=(String) session.getAttribute("userId"); if (userId ==null){ }
看完了這篇文章,相信你對Servlet過濾器Filter是什么有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。