过滤器(Filter)
创建⼀个类实现Filter接⼝
public class CharSetFilter implements Filter{}
重写接⼝中的⽅法
public void destroy() { //销毁的⽅法}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain
chain) throws ServletException, IOException {
//过滤⽅法 主要是对request和response进⾏⼀些处理,然后交给下⼀个过滤器或
Servlet处理
chain.doFilter(req, resp);
}
public void init(FilterConfig config) throws ServletException {
/*初始化⽅法 接收⼀个FilterConfig类型的参数 该参数是对Filter的⼀些配置*/
}
在web.xml⽂件中配置
<filter>
<filter-name>过滤器名称</filter-name>
<filter-class>过滤器所在的路径</filter-class>
</filter>
<filter-mapping>
<filter-name>过滤器名称</filter-name>
<url-pattern>需要过滤的资源</url-pattern>
</filter-mapping>
使⽤场景
如何防⽌⽤户未登录就执⾏后续操作
String name=(String)session.getAttribute("key");
if(name==null){
//跳转到登录⻚⾯
}
设置编码⽅式--统⼀设置编码
加密解密(密码的加密和解密)
⾮法⽂字筛选
下载资源的限制
过滤器的特点:在servlet之前和之后都会被执⾏
监听器(Listener)
分类:
第⼀维度按照被监听的对象划分:ServletRequest域、HttpSession域、ServletContext域
第⼆维度按照监听的内容分:监听域对象的创建与销毁的、监听域对象的属性变化的

监听器的编写步骤(重点)
需要在web.xml中进⾏配置—注册
<listener>
<listener-class>监听器所在的路径</listener-class>
</listener>
创建监听器类:
public class SessionListener implements HttpSessionListener { }
重写方法:
210

被折叠的 条评论
为什么被折叠?



