Servlet过滤器——创建过滤器
1.概述
介绍如何创建一个过滤器,并使用过滤器在打开页面的同时输出信息,此功能是由过滤器处理完成的。
2.技术要点
Serlvet过滤器实现了Filter接口,在Filter接口中定义了以下几个方法:
a. Init().程序启动时调用此方法,用于初始化该Filter。
b. doFilter().客户请求服务器时会经过这里,是具体执行过滤器代码。
c. destroy().程序关闭时调用此方法,用于销毁一些资源。
以上三个方法反映了Filter的生命周期,其中init()和destroy()方法只会被调用一次,分别在web程序加载和卸载的时侯调用,而doFilter()方法每次有客户端请求都会被调用一次。
3.具体实现
(1)创建过滤器类FirstFilter,主要代码如下:
package com.mr;
public class FirstFilter implements Filter {
private FilterConfig filterConfig;
//初始化方法
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
//具体执行的方法
public void doFilter(ServletRequest request, ServletResponse response,FilterChain filterChain) throws IOException{
try {
System.out.println("客户端的请求经过这里!!!!");
filterChain.doFilter (request, response);
System.out.println("帐号和密码请求处理经过这里");
} catch (ServletException e) {
System.out.println("客户端请求失败");
}catch(IOException io){
System.out.println("帐号和密码请失败");
}
}
//销毁过滤器
public void destroy() {
this.filterConfig=null;
}
}
(2)在web.xml中配置过滤器,关键代码如下:
<filter>
<filter-name>FirstFilter</filter-name><!--过滤器名称 -->
<filter-class>com.mr.FirstFilter</filter-class><!--过滤器的实现类 -->
</filter>
<filter-mapping>
<filter-name>firstFilter</filter-name> <!--映射过滤器名称 -->
<url-pattern>/*</url-pattern> <!--使用通配符*什么请求都经过滤器 -->
</filter-mapping>
Servlet过滤器——创建过滤器的更多相关文章
- Servlet过滤器,Servlet过滤器创建和配置
第一:Servlet的过滤器的创建和配置,创建一个过滤器对象需要实现javax.servlet.Filter接口,同时实现Filter的3个方法. 第一方法是过滤器中的init()方法用 ...
- Java 创建过滤器 解析xml文件
今天写了一个过滤器demo,现在是解析actions.xml文件,得到action中的业务规则:不需要导入任何jar包 ActionFilter过滤器类: package accp.com.xh.ut ...
- java Servlet中的过滤器Filter
web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...
- 【转载】Servlet Filter(过滤器)、Filter是如何实现拦截的、Filter开发入门
Servlet Filter(过滤器).Filter是如何实现拦截的.Filter开发入门 Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过F ...
- Servlet中的过滤器Filter详解
加载执行顺序 context-param->listener->filter->servlet web.xml中元素执行的顺序listener->filter->stru ...
- servlet中的过滤器 国际化
1. 过滤器 基本概念 过滤器是需要在xml中配置的. 为什么需用到过滤器? 项目开发中,经常会涉及到重复代码的实现! 注册 ----à Servlet [1. 设置编码] ----à JSP 修改 ...
- Servlet中的过滤器Filter
链web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...
- Servlet Filter(过滤器)、Filter是如何实现拦截的、Filter开发入门
Servlet Filter(过滤器).Filter是如何实现拦截的.Filter开发入门 Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过F ...
- Servlet中的过滤器和监听器
1.什么是过滤器? Servlet规范中定义的一种特殊的组件,用来拦截容器的调用过程.容器收到请求之后,首先调用过滤器,然后再调用Servlet 2.生命周期: 1.servlet:servlet的生 ...
随机推荐
- USACO Arithmetic Progressions 【构造等差数列】
USER: Jeremy Wu [wushuai2] TASK: ariprog LANG: C++ Compiling... Compile: OK Executing... Test 1: TES ...
- Ural 1001 - Reverse Root
The problem is so easy, that the authors were lazy to write a statement for it! Input The input stre ...
- ubuntu 安装python,easy_install和pip
ubuntu12.04默认安装的python为 ms@ubuntums:~$ pythonPython 2.7.3 (default, Aug 1 2012, 05:16:07) 我需要用python ...
- JSpider是一个用Java实现的WebSpider
JSpider是一个用Java实现的WebSpider,JSpider的执行格式如下: jspider [URL] [ConfigName] URL一定要加上协议名称,如:http://,否则会报错. ...
- CSS - 解决使用浮动,父窗体不能撑高问题
浮动的父级元素一定要用 clear 清除浮动,否则高度会无法撑开.
- Aizu 1335 Eequal sum sets
Let us consider sets of positive integers less than or equal to n. Note that all elements of a set a ...
- c++构造析构顺序
class A { public: A(){ cout << "constrcut A" << endl; }; ~A(){ cout << & ...
- struts+hibernate 请求数据库增删改查(小项目实例)
StudentAction.java package com.action; import java.util.ArrayList; import java.util.List; import j ...
- 【转】在CentOS上安装tomcat
原文链接:http://www.cnblogs.com/xsi640/p/3757015.html 另外一个比较详细的博文:http://blog.csdn.net/zhngjan/article/d ...
- 从 Qt 的 delete 说开来
原地址:http://blog.csdn.net/dbzhang800/article/details/6300025 在C++中学习过程中,我们都知道: delete 和 new 必须 配对使用(一 ...