Filter学习总结
来源:互联网 发布:java多线程异步处理 编辑:程序博客网 时间:2024/06/08 14:14
Filter接口
FilterChain接口
Filter的三个方法
init(FilterConfig config)
doFilter(ServletRequest request,ServletResponse response,FilterChain chain) ; chain为过滤链
destory();
在web.xml中的配置
<filter>
<filter-name>myfilter</filter-name>
<filter-class>com.bai.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/*</url-pattern>
<filter-mapping>
此处的url表示过滤所有的资源
<filter>
<filter-name>sf</filter-name>
<filter-class>com.bai.filter.SessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sf</filter-name>
<url-pattern>/pages/*</url-pattern>
</filter-mapping>
此处的url表示过滤pages下面的资源
使用filter,只需要建一个java类,使其实现flilter接口,重写dofilter方法,并在web.xml中配置
filter是自动执行,不用调用,当你访问url-pattern下的资源时,filter将起作用
在一个项目中,我们可以设置一个Filter来设置编码,减少了每个页面或者servlet的编码设置
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
req.setCharacterEncoding("utf-8");
res.setCharacterEncoding("utf-8");
chain.doFilter(req, res);
}
还可以使用Filter来验证用户是否登录
使用filter之后,在dofilter方法内必须写上chain.doFilter(requset,response);
该语句的作用是使代码继续执行下去
如果使用Httpservlet,那么在dofilter方法中,需要对request和response进行强制类型转换
如: HttpServletRequest req = (HttpServletRequest)request;
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) arg0;
HttpServletResponse response = (HttpServletResponse) arg1;
HttpSession session = request.getSession();
String name = (String) session.getAttribute("1");
if(name!=null&&!name.equals("")){
System.out.println("in firlter if lanuage");
chain.doFilter(request, response);
}else{
System.out.println("in firlter esle lanuage");
request.setAttribute("msg", "你还没有登录!!");
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}
- Filter学习总结
- Filter过滤器学习总结
- java Filter过滤器 学习总结
- javaweb学习总结Filter(过滤器)常见应用
- PHP学习(10)-Filter过滤器总结
- Filter总结
- Filter总结
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结 ——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- 【且听我说“镶嵌数据集建库”】9、操作:影像产品建库
- SSH的一个BaseDao继承HibernateDaoSupport(一)
- 浅谈JAVA与C++的人力投入
- 第一篇博文
- linux fedora18 root 启动 google chrome
- Filter学习总结
- hdu 1016——Prime Ring Problem(DFS)
- linux中的rtnl_lock
- Trie树以及应用
- post上传文件bug记录-Jsp
- Hadoop执行本地命令
- C#实现打印机功能
- QT MSVC 2008 编译mysq
- Need custom data field in mysql