1.不同類型的過濾器只能被對應類型的請求所觸發。過濾器默認為request類型,而瀏覽器發送請求也是request類型的。同理,req.getRequestDispatcher().forward()、include()或forward、include的jsp標簽發送的請求分別是forward、include類型的請求,只能觸發對應類型的過濾器(即執行doFilter方法)
2.重定向:相當于瀏覽器發送了兩次不同的請求,所以瀏覽器的URL會改變,而且是request類型的請求。
轉向:是服務器內部自己發送的新請求,瀏覽器并不知道這個新請求,故URL不變
2.重定向:相當于瀏覽器發送了兩次不同的請求,所以瀏覽器的URL會改變,而且是request類型的請求。
轉向:是服務器內部自己發送的新請求,瀏覽器并不知道這個新請求,故URL不變
2017-09-05
可以這樣理解,,去一個網頁可以通過 request 請求和 請求轉發。。。通過過濾器的時候他會判斷你是通過request還是請求轉發覺得要不要讓你走過濾器。(過濾器是什么過濾器,也就是這節課講的過濾器的分類)
2017-09-02
@WebFilter(filterName = "LoginFilter",
value = "/*",
initParams = {
@WebInitParam(name = "noLoginPaths", value = "login.jsp;fail.jsp;LoginServlet"),
@WebInitParam(name = "charset", value = "UTF-8")
})
value = "/*",
initParams = {
@WebInitParam(name = "noLoginPaths", value = "login.jsp;fail.jsp;LoginServlet"),
@WebInitParam(name = "charset", value = "UTF-8")
})
2017-08-29
本課在servlet3.0 中使用注解的方式配置是:
@WebFilter(filterName = "LoginFilter",
value = "/success.jsp",
initParams = {
@WebInitParam(name = "noLoginPaths", value = "login.jsp;fail.jsp;LoginServlet")
})
@WebFilter(filterName = "LoginFilter",
value = "/success.jsp",
initParams = {
@WebInitParam(name = "noLoginPaths", value = "login.jsp;fail.jsp;LoginServlet")
})
new String(username.getBytes("ISO-8859-1"),"UTF-8"); //改變字符串的編碼
request.setCharacterEncoding("UTF-8");
也可以直接在過濾器中設置 charset = "UTF-8";
request.setCharacterEncoding("UTF-8");
也可以直接在過濾器中設置 charset = "UTF-8";
2017-08-28
過濾器的生命周期和Servlet的生命周期類似,都是起始于服務器啟動,終于服務器關閉。
過濾器的生命周期
1. 實例化:啟動服務器時加載過濾器的實例
2. 初始化:調用init()方法來初始化實例
3. 執行過濾:doFilter
4. 銷毀:服務器關閉時調用destory()方法進行銷毀
過濾器的生命周期
1. 實例化:啟動服務器時加載過濾器的實例
2. 初始化:調用init()方法來初始化實例
3. 執行過濾:doFilter
4. 銷毀:服務器關閉時調用destory()方法進行銷毀
2017-08-28
過濾器和攔截器是不同的,過濾器基于servlet,攔截器基于Spring MVC??梢钥匆幌逻@篇博客。http://blog.csdn.net/chenleixing/article/details/44573495
2017-08-28