过滤器Filter的简单应用
来源:互联网 发布:网络教育学制 编辑:程序博客网 时间:2024/05/22 15:38
我认为:过滤器的基本原理就是,开始加载的时候就设定一些访问条件,当访问者访问某些特定的页面时,由于与从配置文件中读取的一些过滤信息相符合,因此就对那个用户的某些功能加以限制,也就是过滤的功能。
1.首先要实现一个过滤器
package filter;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class AddressFilter implements Filter{
private FilterConfig filterConfig=null;
private String addressProhibited=null;
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
this.filterConfig=filterConfig;
addressProhibited=filterConfig.getInitParameter("addressProhibited");
//读取配置文件中的参数
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
//获取客户端ip地址
String address=((HttpServletRequest)request).getRemoteAddr();
System.out.println("address="+address);
if(address.equals(addressProhibited)) {
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>这个地址禁止访问</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1 align='center'>这个地址禁止访问</h1>");
out.println("</body>");
out.println("</html>");
out.flush();
return;//结束当前方法,不调用后续的过滤器链或Web资源
}
//调用后续的过滤器链(如果没有后续的过滤器就访问Web资源)
chain.doFilter(request, response);
}
public void destroy() {
// TODO Auto-generated method stub
this.filterConfig=null;
}
}
2.其次,是在配置文件中设置过滤信息,以便过滤器读取相关信息
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>AddressFilter</filter-name>
<filter-class>filter.AddressFilter</filter-class>
<init-param>
<param-name>addressProhibited</param-name>
<param-value>192.168.1.1</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>AddressFilter</filter-name>
<url-pattern>/hello.jsp</url-pattern>
</filter-mapping>
</web-app>
3.访问相关页面并进行测试。
0 0
- 过滤器Filter的简单应用
- 写个简单的关于Filter过滤器应用的例子
- JavaWeb的Filter过滤器应用
- Filter简单过滤器的实现
- Filter过滤器的简单使用
- 过滤器Filter的应用:编码过滤
- 过滤器Filter的应用:登录验证
- javaweb中Filter(过滤器)的常见应用
- Filter过滤器的理解及应用
- Filter过滤器的应用--处理字符编码
- 基于Filter的简单登录过滤器
- JSP Filter过滤器的简单实例.
- 一个简单的Filter:安全级别与过滤器
- Filter过滤器最简单的使用
- JAVA-EE过滤器Filter的简单使用
- HBase学习之三: hbase filter(过滤器)和coprocessor(协处理器)统计行数的简单应用
- hbase filter(过滤器)和coprocessor(协处理器)统计行数的简单应用
- web应用过滤器(filter)
- Cookie+Session+ServletContentext的区别和用法
- 深入Struts2的配置文件
- hashmap使用的简单案例
- JavaMail发送邮件(韩顺平)
- 韩顺平Servlet与JSP视频课程心得与体会
- 过滤器Filter的简单应用
- 监听器的使用与案例
- (转)MyEclipse SVN插件的安装
- CKeditor插件的使用
- java.sql-学习(浏览)
- 使用博客编辑工具插件的案例-->CKeditor的使用
- (转)ckeditor3.2.1文档翻译(用goole翻译的)
- DBUtils的综合应用--DBUtils连接池管理工具对连接池的管理
- TCP/IP协议族