Java web自定义filter代码实例

filter顾名思义,过滤器的意思,在javaweb中的Struts就利用了这种机制去实现视图和业务分离。

这里来配置下自己的Filter来理解下Struts的内在。

在web.xml 中添加下面:

<filter>
    <filter-name>myfilter</filter-name>
    <filter-class>sun.fifter.MyFifter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>myfilter</filter-name>
    <url-pattern>*</url-pattern>
  </filter-mapping>

这里意思是只要url的类型是* ,就会调 myfilter,

然后定义myfilter这个类:

package sun.fifter;

import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.tools.JavaCompiler;

public class MyFifter implements javax.servlet.Filter
{

  public MyFifter()
  {
    // TODO Auto-generated constructor stub

  }

  @Override
  public void destroy()
  {
    // TODO Auto-generated method stub
    System.out.println("destroy");
  }

  @Override
  public void doFilter(ServletRequest arg0, ServletResponse arg1,
      FilterChain arg2) throws IOException, ServletException
  {
    // TODO Auto-generated method stub
    System.out.println("doFilter");

  }

  @Override
  public void init(FilterConfig arg0) throws ServletException
  {
    // TODO Auto-generated method stub
    System.out.println("init");
  }

}

]

这样在调用的时候:http://localhost:8080/WebProject1/index.html

控制台就会输出;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • javaweb设计中filter粗粒度权限控制代码示例

    1 说明 我们给出三个页面:index.jsp.user.jsp.admin.jsp. index.jsp:谁都可以访问,没有限制: user.jsp:只有登录用户才能访问: admin.jsp:只有管理员才能访问. 2 分析 设计User类:username.password.grade,其中grade表示用户等级,1表示普通用户,2表示管理员用户. 当用户登录成功后,把user保存到session中. 创建LoginFilter,它有两种过滤方式: 如果访问的是user.jsp,查看sess

  • Java web三件套listener、filter、servelt原理解析

    一.listener.filter.servelt 的执行顺序和生命周期 1.启动顺序 想知道 web 三大件的启动顺序其实只需要查看启动日志就好了,启动顺序为:listener.filter.servelt 2.生命周期 查看结束和运行时候的日志不难发现: 1> listener 的生命周期:一直从程序启动到结束,其中: ServletRequestListener (用来监控 session 的创建,销毁等):每次访问一个 Request 资源前,都会执行 requestInitialize

  • JavaWeb Servlet中Filter过滤器的详解

    JavaWeb Servlet中Filter过滤器的详解 1.简述 Filter过滤器,对web服务器所有web资源进行过滤,从而实现一些特殊的功能(权限访问控制.过滤敏感词汇.压缩响应信息).Filter能够对Servlet容器的请求和响应进行检查和修改,其本身不能生成请求request和响应response,只提供过滤作用(Servlet被调用之前检查Request对象修改其相关信息,Servlet被调用后检查Response修改其相关信息),Filter对象常驻服务器. 2.Lifecyc

  • Java Web Filter 过滤器学习教程(推荐)

    一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压缩响应信息等一些高级功能. Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter.通过F

  • javaweb中Filter(过滤器)的常见应用

    一.统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题 package me.gacl.web.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException;

  • web.xml中servlet, bean, filter, listenr 加载顺序_动力节点Java学院整理

    web.xml 文件中一般包括 servlet, spring, filter, listenr的配置.那么他们是按照一个什么顺序加载呢?加载顺序会影响对spring bean 的调用. 比如filter需要用到 bean ,但是加载顺序是 先加载filter 后加载spring,则filter中初始化操作中的bean为null:首先可以肯定 加载顺序与他们在web.xml 文件中的先后顺序无关. web.xml 中 listener 和 serverlet 的加载顺序为 先 listener

  • JavaWeb之Filter过滤器详解

    原本计划这一篇来总结JSP,由于JSP的内容比较多,又想着晚上跑跑步减减肥,所以今天先介绍Filter以及它的使用举例,这样的话还有些时间可以锻炼锻炼.言归正传,过滤器从字面理解她的话有拦网.过滤的功能,可以算是JavaWeb的拦精灵. 一.由来 客户端发起请求,那服务器不能什么请求都做出响应,做拦截处理,不仅能减轻服务器的压力,还能保护数据的安全,同样服务端做出响应给客户端时有时也需要进行过滤,比如我们常见的图片添加水印.为了处理这些问题,于是过滤器出现了.有时不仅仅对请求与响应进行一层的过滤

  • Java web自定义filter代码实例

    filter顾名思义,过滤器的意思,在javaweb中的Struts就利用了这种机制去实现视图和业务分离. 这里来配置下自己的Filter来理解下Struts的内在. 在web.xml 中添加下面: <filter> <filter-name>myfilter</filter-name> <filter-class>sun.fifter.MyFifter</filter-class> </filter> <filter-mapp

  • SpringCloud Zuul自定义filter代码实例

    实现过滤器很简单,只需要继承ZuulFilter,并实现ZuulFilter中的抽象方法. filterType():定义过滤器的类型,它有4种类型,分别是pre.post.routing和error filterOrder():过滤顺序,它是一个Int类型的值,值越小,越早执行该过滤器 shouldFilter():表示该过滤器是否过滤逻辑,如果为true,则执行run方法,如果为false,则不执行run方法 Object run():写具体的过滤逻辑 注意重要说明,有些版本在转发post时

  • Java基础之Filter的实例详解

    Java基础之Filter的实例详解 定义: Filter,是Servlet的一种,接口类为javax.servlet.Filter,以一种模块化或者可重用的方法封装公共行为,本质是可复用的代码片段. 职责:在请求到达Servlet之前对请求头作预处理,或者在服务器响应完成之后对响应内容作后处理.分界线为chain.doFilter的调用.该调用是将请求处理权交给其Filter列表链上的其它Filter. 生命周期:  Filter在Web容器启动时被容器实例化,并调用其init方法完成初始化,

  • java 中自定义OutputFormat的实例详解

    java 中 自定义OutputFormat的实例详解 实例代码: package com.ccse.hadoop.outputformat; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apa

  • Java数据封装树形结构代码实例

    这篇文章主要介绍了Java数据封装树形结构代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.实体类 @data public class PublishServiceType implements Comparable<PublishServiceType>{ /** * */ private static final long serialVersionUID = -3572108154932898825L; /* * @see

  • Spring web集成rabbitmq代码实例

    这篇文章主要介绍了Spring web集成rabbitmq代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 引入java包: 本项目中仅引入了四个java包:amqp-client-5.7.3.jar,spring-rabbit-2.2.2.RELEASE.jar,spring-retry-1.2.4.RELEASE.jar,spring-amqp-2.2.2.RELEASE.jar spring-rabbitmq.xml <?xml v

  • Java servlet执行流程代码实例

    这篇文章主要介绍了Java servlet执行流程代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.先附上代码如下 Servlet1.java public class Servlet1 implements Servlet { @Override public void init(ServletConfig config) throws ServletException { } @Override public ServletCon

  • Java Web请求与响应实例详解

    Servlet最主要作用就是处理客户端请求并作出回应,为此,针对每次请求,Web容器在调用service()之前都会创建两个对象,分别是HttpServletRequest和HttpServletResponse.其中HttpServletRequest封装HTTP请求消息,HttpServletResponse封装HTTP响应消息.需要注意的是,Web服务器运行过程中,每个Servlet都会只创建一个实例对象,不过每次请求都会调用Servlet实例的service(ServletRequest

  • 使用jquery 的ajax 与 Java servlet的交互代码实例

    这篇文章主要介绍了使用jquery 的ajax 与 Java servlet的交互代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 由于是使用jquery的 所以别忘记导入jq 下面是jsp文件 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!

  • Java程序生成Access文件代码实例

    这篇文章主要介绍了Java程序生成Access文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 package access; import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.sql.Types; import org.junit.Test; import com.healthmarketscience

随机推荐