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