• 首页
  • 作文
  • 散文
  • 故事
  • 古诗
  • 短文
  • 语录
  • 写作
  • 诗歌
  • 百科
  • 知识
  • 首页
  • 作文
  • 散文
  • 故事
  • 古诗
  • 短文
  • 语录
  • 写作
  • 诗歌
  • 百科
  • 知识
首页 » 生活常识 » filter方法(java中Filter的方法)

filter方法(java中Filter的方法)

分类:生活常识 日期:2022-07-08 07:20 浏览:6 次

1.java中Filter的方法有哪些

public void destroy() {

// TODO Auto-generated method stub

销毁时用

}

public void doFilter(ServletRequest arg0, ServletResponse arg1,

FilterChain arg2) throws IOException, ServletException {

// TODO Auto-generated method stub

处理过滤代码

}

public void init(FilterConfig arg0) throws ServletException {

// TODO Auto-generated method stub

初始化时调用

}

2.如何实现一个简单地Filter

// 1. 创建一个web项目

// 2. 编写一个类实现 Filter 接口

// 3. 实现三个方法

// 4. 在web.xml中配置Filter参数

// 1

public class MyFilter01 implements Filter {

// 2

@Override

// filter对象初始化方法 filter对象创建时执行

// 服务器启动时就创建该filter对象

public void init(FilterConfig filterConfig) throws ServletException {

// 其中参数config代表 该Filter对象的配置信息的对象,内部封装是该filter的配置信息

String filterName = filterConfig.getFilterName();

ServletContext servletContext = filterConfig.getServletContext();

String initParameter = filterConfig.getInitParameter("aaa");

}

@Override

// 执行过滤的核心方法,如果某资源在已经被配置到这个filter进行过滤的话,那么每次访问这个资源都会执行doFilter方法

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

// ServletRequest/ServletResponse:每次在执行doFilter方法时

// web容器负责创建一个request和一个response对象作为doFilter的参数传递进来。

// 该request个该response就是在访问目标资源的service方法时的request和response。

// FilterChain:过滤器链对象,通过该对象的doFilter方法可以放行该请求

System.out.println("filter");

chain.doFilter(request, response);

}

@Override

// filter销毁方法 当filter对象销毁时执行该方法

// 服务器关闭时filter销毁

public void destroy() {

}

}

// 3 配置

<filter>

<filter-name>Filter01</filter-name>

&lt;!-- 包名.类名 -->

<filter-class>my.filter.MyFilter01</filter-class>

</filter>

<filter-mapping>

<filter-name>Filter01</filter-name>

&lt;!-- 拦截所有 -->

<url-pattern>/*</url-pattern>

<dispatcher></dispatcher>

</filter-mapping>

3.路由过滤的几种方法

1.Distribut-list x inx影响路由表,但不影响LSA 2.Distribut-list x outx既影响路由表,又影响LSA,用于ASBR路由重发。

4.neighbor x.x.x.x database-filter all out在OSPF进程中过滤 neighbor的路由 5.area x filter-list prefix xxx in/out area x 向外通告prefix-list的内容,prefix允许的就通告,其他的滤掉。 附: prefix 最难理解的ge与le的理解:1.1.1.1/8 ge 16 le 32子网掩码前8位一样,另外大于16位,小于32位。

4.如何创建过滤器Filter

建立一个过滤器涉及下列五个步骤:

1、建立一个实现Filter接口的类。这个类需要三个方法,分别是:doFilter、init和destroy。doFilter方法包含主要的过滤代码,init方法建立设置操作,而destroy方法进行清楚。

2、在doFilter方法中放入过滤行为。doFilter方法的第一个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在简单的过滤器中忽略此参数。最后一个参数为FilterChain,如下一步所述,此参数用来调用servlet或JSP页。

3、调用FilterChain对象的doFilter方法。Filter接口的doFilter方法取一个FilterChain对象作为它的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过滤器。如果没有另一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。

4、对相应的servlet和JSP页面注册过滤器。在部署描述符文件(web.xml)中使用filter和filter-mapping元素。

5、禁用激活器servlet。防止用户利用缺省servlet URL绕过过滤器设置。doFilter方法:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)

throws ServletException, IOException{HttpServletRequest req = (HttpServletRequest)request;

System.out.println(req.getRemoteHost() + " tried to access " +req.getRequestURL() +" on " + new Date() + ".");

chain.doFilter(request,response);

}在web.xml中进行部署

分别是:filter和filter-mapping。filter元素向系统注册一个过滤对象,filter-mapping元素指定该过滤对象所应用的URL。

1.filter元素

filter元素位于部署描述符文件(web.xml)的前部,所有filter-mapping、servlet或servlet-mapping元素之前。filter元素具有如下六个可能的子元素:

:icon 这是一个可选的元素,它声明IDE能够使用的一个图象文件。

:filter-name 这是一个必需的元素,它给过滤器分配一个选定的名字。

:display-name 这是一个可选的元素,它给出IDE使用的短名称。

:description 这也是一个可选的元素,它给出IDE的信息,提供文本文档。

:filter-class 这是一个必需的元素,它指定过滤器实现类的完全限定名。

:init-param 这是一个可选的元素,它定义可利用FilterConfig的getInitParameter方法读取的初始化参数。单个过滤器元素可包含多个init-param元素。2.filter-mapping元素

filter-mapping元素位于web.xml文件中filter元素之后serlvet元素之前。它包含如下三个可能的子元素::

:filter-name 这个必需的元素必须与用filter元素声明时给予过滤器的名称相匹配。

:url-pattern 此元素声明一个以斜杠(/)开始的模式,它指定过滤器应用的URL。所有filter-mapping元素中必须提供url-pattern或servlet-name。但不能对单个filter-mapping元素提供多个url-pattern元素项。如果希望过滤器适用于多个模式,可重复整个filter-mapping元素。

:servlet-name 此元素给出一个名称,此名称必须与利用servlet元素给予servlet或JSP页面的名称相匹配。不能给单个filter-mapping元素提供多个servlet-name元素项。

5.jsp过滤器的三个方法 里面都要写些什么..

1. Servlet过滤器基础

Servlet过滤器是Servlet的一种特殊用法,主要用来完成一些通用的操作。比如编码的过滤,判断用户的登陆状态等等。Servlet过滤器的适用场合:

A.认证过滤

B.登录和审核过滤

C.图像转换过滤

D.数据压缩过滤

E.加密过滤

F.令牌过滤

G.资源访问触发事件过滤

Servlet过滤器接口的构成:

所有的Servlet过滤器类都必须实现javax.servlet.Filter接口。这个接口含有3个过滤器类必须实现的方法:

方法 说明

init(FilterConfig cfg) 这是Servlet过滤器的初始化方法,性质等同与servlet的init方法。

doFilter(ServletRequest,ServletResponse,FilterChain) 完成实际的过滤操作,当请求访问过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器

destroy() Servlet容器在销毁过滤器实例前调用该方法,这个方法中可以释放Servlet过滤器占用的资源。,性质等同与servlet的destory()方法。

Servlet过滤器的创建步骤:

A.实现javax.servlet.Filter接口的servlet类

B.实现init方法,读取过滤器的初始化函数

C.实现doFilter方法,完成对请求或过滤的响应

D.调用FilterChain接口对象的doFilter方法,向后续的过滤器传递请求或响应

F.在web.xml中配置Filter

2.使用过滤器处理中文问题

当用用户登陆页面输入帐号时,如果输入是中文,后台servlet再次输出这个内容时,可能就会是乱码,这是因为serlvet中默认是以ISO-8859-1格式编码的,如果后台有多个Servlet,多个参数,这样就不合适,这个问题,我们可以通过一个过滤器统一解决,使后台的输出输出都支持中文!将ISO-8859-1转码为GBK的那段代码!

3.使用过滤器认证用户:

每个过滤器也可以配置初始化参数,可以将不需要过滤的地址配置到这个Filter的配置参数中,过滤时,如果请求地址在配置参数中,则放行,这样就避免了在程序中硬编码。每个Filter中初始化时,都可以得到配置对象,在Filter中配置二个不需要过滤的地址,一个是登陆页面,一个是执行登陆认证的servlet;

====华丽的分割线====

上面是理论知识

下面是实践写法

Filter中的三个方法其实只写doFilter方法,另外两个直接由父类实现即可。

下面给出doFilter方法覆盖例子:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

//执行servlet处理请求响应前需要做的代码

chain.doFilter(request, response);

//执行servlet处理请求响应后要做的代码

}

6.filter 过滤器js 可以过滤哪些类型

一般我的方法是判断uri的是不是这三个如果是这三个,不做处理,直接直接下一步=================唉,直接给你看源码吧在doFilter方法里写上StringcontextPath=InitObjects.getContextPath();=(HttpServletRequest)request;//获得用户请求的uriStringuri=httpServletRequest.getRequestURI();//eccludedPages是个List,存放着比如index.jsp,error.jsp等不需要过滤的页面if(!excludedPages.contains(uri)){}}filterChain.doFilter(request,response);。

7.java filter具体如何应用,需要具体

建立一个过滤器涉及下列五个步骤:

1)建立一个实现Filter接口的类。这个类需要三个方法,分别是:doFilter、init和destroy。doFilter方法 包含主要的过滤代码(见第2步),init方法建立设置操作,而destroy方法进行清楚。

2) 在doFilter方法中放入过滤行为。doFilter方法的第一个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括 表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在简单的过滤器中忽略此参数。最后一个参数为 FilterChain,如下一步所述,此参数用来调用servlet或JSP页。

3)调用FilterChain对象的doFilter方法。 Filter接口的doFilter方法取一个FilterChain对象作为它的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过 滤器。如果没有另一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。

4)对相应的servlet和JSP页面注册过滤器。在部署描述符文件(web.xml)中使用filter和filter-mapping元素。

5)禁用激活器servlet。防止用户利用缺省servlet URL绕过过滤器设置。

filter有哪些方法

相关推荐:
  • 国投公司属于什么编制?(黄冈齐安国投公司官网)
  • 水胶布缠法 怎样缠防水胶布视频
  • 速冻混沌煮多久好(速冻混沌要怎么煮)
  • 美国国宝是什么(美国国宝是什么?)
  • 怎么快速徒手剥山竹壳(怎样才能快速剥山竹)
上一篇:pandorasbox英文典故(潘多拉的英文故事) 下一篇:房地产开发售房先进什么(房地产会计需要用到哪些)

相关推荐

国投公司属于什么编制?(黄冈齐安国投公司官网)
水胶布缠法 怎样缠防水胶布视频
速冻混沌煮多久好(速冻混沌要怎么煮)
美国国宝是什么(美国国宝是什么?)
怎么快速徒手剥山竹壳(怎样才能快速剥山竹)
怎样清洗毛巾才能使毛巾更干净(怎样洗毛巾可以让毛巾变得更干净)
中国目前哪座城市树木森林覆盖率最高的
法西斯是什么意思
处暑的意思是什么(处暑中的处是什么意思)
40身份证开头是哪里的(身份证37开头是哪个省)
潮流时尚 写作素材 创新创业
生活常识 策划方案 安全知识
自考专业 家居生活 三农创业
励志故事 时尚穿搭 星座知识
热门分类

声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
 蜀ICP备2020033479号-4  Copyright © 2016  学习鸟. 页面生成时间:3.214秒

返回顶部