很多朋友在学习Javaweb时可能会对filter(过滤器)的用法产生疑问,本文将为大家介绍javaweb的filter用法
在此之前,各位新朋友可以参见我介绍servlet的文章。
正文:
Filter:
使用方法:
1、首先我们先在Dynamic Web Project 项目中新建一个类,继承Filter类
2、在Web.xml中配置<filter>(与<servlet>的配置大同小异,唯一的区别是,<filter>中的都是<filter-name>、<filter-class>);(里面还有很重要的一点请参看文章结尾)
3、在doFilter方法中设置请求与传输的过滤条件;
4、最后在doFilter方法中执行FilterChain.doFilter(request,response)执行过滤器;
例子:比如设置字体:
Public void doFilter(ServletRequest req,ServletResponse resp,FilterChain fc)throws Exception{
req.setCharacterEncoding(“utf-8”);//设置请求参数为utf-8读取
resp.setCharacterEncoding(“utf-8”);//设置响应参数为utf-8传输
resp.setContentType(“text/html;charset=utf-8”);//设置网页打开时使用utf-8格式展示
fc.doFilter(req,resp);//执行过滤器
}
**注意,我们写的相应的请求或是响应html中,<meta>中的content属性需要将charset也设置为utf-8
另外,有人可能要问,那么我的过滤器类怎么实例化使用呢?
答案是,不必实例化,重点在于,我们在配置<filter-mapping>文件时,需要把<url-pattern>设置为/*
过滤器过滤器,就是通过一个过滤口将用户的访问加以过滤,当我们将<url-pattern>设置为/*后,那么客户输入的路径无论如何就已经经过过滤了。
希望能够帮助各位新朋友