jsp filter 过滤器功能与简单用法示例

来源:脚本之家  责任编辑:小易  

过滤器是针对路径过滤 设置想要过滤路径就可以了 其实更推荐使用spring拦截器

本文实例讲述了jsp filter 过滤器功能与简单用法。分享给大家供大家参考,具体如下:

不管是JSP还是Servlet,其Filter过滤器都是一个东西。因为JSP的本质就是Servlet

过滤器的作用是什么?

web.xml中这样配置:<servlet><servlet-name>

过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。

1、在Jsp页面将文本框输入域放在html表单form之中提交2、后台定义一个过滤器继承Filt

可以将一个或多个过滤器附加到一个 Servlet 或一组 Servlet。过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。 在客户端的请求访问后端资源之前,拦截这些请求。 在服务器的响应发送回客户端之前,处理这些响应。

Filter类:public class EncodingFilter implements

过滤器的实现要实现 java.servlet.Filter 这个接口类

作为已婚人士,我来答一发送礼物:婚前送的很勤快,各种二十四节气,都能过成情人节和交配节。婚后么,给孩子省奶粉钱,能省一点是一点啪啪啪:婚前恨不得一日一月,婚后么,巴不得一月一日。不是不想,实在是太累了,没精神也没体力穿着:婚前穿的还算讲究,耐克阿迪牛逼什么的才愿意穿。婚后么,安踏361李宁统统没所谓家庭关系:婚前是2个人,爱咋地咋地。婚后是两个家庭结合了,爸爸妈妈、岳父岳母、公公婆婆,说不清的恩怨纠缠私人空间:婚前经常玩游戏打篮球,婚后老实呆在家里搞卫生

一个简易的filter 类示例

IDM是一款很著名的下载器,可以多线程下载,可以免费试用三十天,我提供绿色版(获取方式在文末)。借助这个下载器在配合油猴脚本下载获得比较快的速度,仅限电脑客户端使用。-----绿色版IDM的安装----下载并解压文件(下载方式在文末),由于是免安装版本,不需要单独安装及激活,纯小白也可以使用。将文件复制到你的常用安装目录,打开文件夹,双击绿化.bat即可完成安装以及激活,同时自动创建快捷方式。与官方原版不同的是,本绿化版本改进如下:打开软件,输入文件的URL之后即可进行多线程下载。-----油猴脚本的安装以及使用-----说到油猴脚本,不得不提谷歌家的浏览器,或者说是一个小型的操作系统,功能很

package demo; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class DemoFilter implements Filter { private String name=null; @Override public void destroy() { } @Override public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { arg0.setAttribute("name", "init text string : " + name); arg2.doFilter(arg0, arg1); } @Override public void init(FilterConfig arg0) throws ServletException { //获得web.xml中filter init-param 中的配置 name = arg0.getInitParameter("name"); } }

谢谢邀请。今天看悟空才知道这件事。让我感到气愤已经不是倚老卖老恶语相向的老人了,而是拍照搬弄是非的那个女人。如今自媒体大行其道,在一定程度上,使世界变得更加透明,为百姓提供了一个客观的视角去看待事情。然而短视频通常没有事情的开头和结尾,只是事件的一个片段,加之作者对事件缺乏事实根据的主观评述,反而容易误导吃瓜群众。这样不负责任的视频在赚取点击率,只为了从平台赚取收益的当下,丛出不穷。如果这股风气不能得到有效的制止,自媒体变成少数人搬弄是非,颠倒黑白的工具这对于广大吃瓜群众和诚恳用心创作的自媒体作者都是一种伤害。网络不是个人随心所欲,肆意妄为的地方,每个人都该为自己说的话负责。言论虽然自由,但也

仅仅只是写好了这个过滤器类还不行。我们要在web.xml中声明哪些请求需要过滤器的调用

快手这个软件也算火遍大江南北,但快手是怎么火的呢,没错,就是现在这些大网红捧火的,那这些大网红怎么火的,没错,就这些游客捧火的好有逻辑的关系链,请灌水各个网红的快手发展路线先说说社会我驴哥,大家应该不陌生,驴家班创始人,国际庄磊哥的死对头驴哥刚开始好像也是个段子手,还带有点炫富,亮排面,走到哪都是小队型,小车队的,刚开始也是和磊哥们都一起,后来有了跟天佑的一次约架(我只发表代表性的,欢迎补充),具体咱们也不知道是炒作还是真实,总之效果不错,驴哥正式进军歪歪,然后就开始和外星人还有散打系列的合拍,说到这,其实最给力的互推就是网红们一起玩耍,粉丝们各种追,你的粉看我,我的粉看你,大点都有推广,转变

web.xml

<!--声明一个filter--> <filter> <!--filter的名称--> <filter-name>demoFilter</filter-name> <!--filter 类--> <filter-class>demo.DemoFilter</filter-class> <!--该filter类需要的配置--> <init-param> <param-name>name</param-name> <param-value>my name is tanyong</param-value> </init-param> </filter> <!--为url-pattern 中相匹配的url链接 映射至相应的filter filter 通过 filter-name来识别--> <filter-mapping> <filter-name>demoFilter</filter-name> <!--匹配映射规则,我这里用的是所有请求都要在demoFilter filter 里面去兜晃一圈--> <url-pattern>/*</url-pattern> </filter-mapping>

希望本文所述对大家jsp程序设计有所帮助。

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

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处理请求响应后要做的代码

}

java jsp 中过滤器 filter 有什么功能

过滤器,听名字就是过滤作用了!!!

就是在浏览器发送请求道服务器,可以先经过过滤器,然后再到我们写的逻辑部分。

这些过滤器可以实现 表单验证,用户权限等功能。比如一些不合法的表单输入,就可以再过滤

器中处理不让他运行我们的后面的逻辑。比如权限低的用户不能进入某些页面或者实现某些功能

JSP Filter过滤器设置编码问题。。。

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.omg.CORBA.Request;

public class EncodeFilter implements Filter {

@Override

public void destroy() {

// TODO Auto-generated method stub

}

@Override

public void doFilter(ServletRequest req, ServletResponse res,

FilterChain chain) throws IOException, ServletException {

// TODO Auto-generated method stub

System.out.println("字符编码过滤器");

HttpServletRequest request = (HttpServletRequest)req;

HttpServletResponse response = (HttpServletResponse)res;

request.setCharacterEncoding("UTF-8");

chain.doFilter(request, response);

}

@Override

public void init(FilterConfig config) throws ServletException {

// TODO Auto-generated method stub

}

}

以上就是Filter过滤器的代码,  都设置成UTF-8 支持中文,  写好了以上代码之后,要在web.xml文件中进行配置。

追问我配置web.xml也配好,你上面说的我知道可以

我问的是response.setCharacterEncoding("GBK");为什么不起作用

JSP中Filter的工作机制和他的主要用途是什么?

一般用于处理字符集编码,有些也用于对权限的控制。一个过滤器要实现javax.servlet.Filter

这个接口,重写

destroy()

doFilter(ServletRequest req, ServletResponse req,FilterChain arg2)

init(FilterConfig arg0)

这三个方法。

其中在doFilter中实现过滤:

比如说字符集过滤:

req.setCharacterEncoding(GBK);

doFilter(request,response);

如何配置Filter过滤器处理JSP中文乱码

注意问题:在学习用selvert的过滤器filter处理中文乱码时,在filter配置初始化时用了utf-8处理中文乱码,而在提交的jsp页面中却用了gbk。虽然两种都可以出来中文乱码,但是却造成了处理乱码的格式不一致。所以编译出错。

解决方法:所有地方都用utf-8或gbk

//过滤器类

CharactorFilter.jsp

package cn.com.Filter;

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

public class CharactorFilter implements Filter { //继承Filter类

//字符编码

String encoding=null;

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

if(encoding!=null){

//设置request字符编码

request.setCharacterEncoding(encoding);

//设置response字符编码

response.setContentType("text/html;charset="+encoding);

}

//传递给下一个过滤器

chain.doFilter(request, response);

}

public void init(FilterConfig filterConfig) throws ServletException {

//获取初始化参数

encoding=filterConfig.getInitParameter("encoding");

}

public void destroy() {

// TODO Auto-generated method stub

encoding=null;

}

}

web.xml

<filter> <!--注意这里是filter,不要配置成servlet-->

<filter-name>CharactorFilter</filter-name> <!--过滤器名称-->

<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--过滤器的完整类名-->

<init-param> <!--初始化参数-->

<param-name>encoding</param-name> <!--参数名称-->

<param-value>utf-8</param-value> <!--参数值-->

</init-param>

</filter>

<filter-mapping> <!--过滤器映射-->

<filter-name>CharactorFilter</filter-name><!--过滤器名称-->

<url-pattern>/*</url-pattern><!--URL映射,给所有页面处理乱码-->

</filter-mapping>

  • 本文相关:
  • 通过过滤器(filter)解决jsp的post和request中文乱码问题
  • jsp过滤器filter配置过滤类型全部汇总
  • jsp 开发中过滤器filter设置编码格式的实现方法
  • jsp使用servlet过滤器进行身份验证的方法
  • jsp过滤器防止xss漏洞的实现方法(分享)
  • jsp使用过滤器防止sql注入的简单实现
  • jsp实现登录验证的过滤器
  • jsp中过滤器选择过滤器的写法详解
  • 详解jsp中使用过滤器进行内容编码的解决办法
  • servlet+jsp实现过滤器 防止用户未登录访问
  • jsp使用过滤器防止xss漏洞
  • jsp 中servlet的自己实现
  • jsp页面实现文件上传下载类代码
  • ejb3.0之实体bean的继承
  • java/jsp学习系列之八(改写mysql翻页例子)
  • jsp传参 servlet接收中文乱码问题的解决方法
  • 关于jsp中cookie丢失问题(详解)
  • 详解 spring注解的(list&map)特殊注入功能
  • struts2集成javamail发邮件示例详解
  • 搭建ssh时的思考和遇到的几个问题的解决方法
  • jsp分页显示的实例代码
  • jsp过滤器的三个方法 里面都要写些什么..
  • java jsp 中过滤器 filter 有什么功能
  • JSP Filter过滤器设置编码问题。。。
  • JSP中Filter的工作机制和他的主要用途是什么?
  • 如何配置Filter过滤器处理JSP中文乱码
  • filter过滤器,怎样可以配置成除某几个jsp文
  • 在Jsp页面或者Filter过滤器中怎么过滤脏话
  • JSP中用filter 过滤某个包中的所有servlet
  • 如何在过滤器Filter.java中获取jsp页面文本框的值?
  • 如何配置Filter过滤器处理JSP中文乱码
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved