手机版

JSP过滤器的应用方法

时间:2021-11-21 来源:互联网 编辑:宝哥软件园 浏览:

Servlet有一个非常有趣和有用的功能,那就是Filter。所谓的过滤器是一个小程序,在用户请求到达Servlet之前或Servlet执行之后执行。这个程序可以对用户请求进行预处理,或者对Servlet返回的结果进行一些常见的处理。过滤器可以在请求到达Servlet之前执行,即使请求了静态页面或图片,过滤器也会首先执行。这样,我们就可以通过Filter对应用程序中的所有对象(包括Java程序和静态内容)进行预处理。(这个功能PHP程序恐怕做不到。)过滤器通常可用于以下情况:认证记录、访问日志、加密、解密、字符编码、转换和数据压缩。作为上面最常用的“认证”,验证码可以写在Filter中,既省去了Servlet中认证的麻烦,又控制了网站中静态内容的访问。过滤器是一个位于javax.servlet.Filter的接口.它与其他接口的关系如下:

当我们编写自己的过滤器时,我们只需要编写一个类来实现过滤器接口。要实现Filter接口,需要实现以下方法:复制代码如下: void init(Filter config Filter config)抛出servletexceptionfilter初始化方法。复制代码如下: VoidDestroy()在筛选器结束之前执行的方法。复制代码如下: void do筛选器(servlet请求请求,servlet响应响应,筛选器链链)抛出io异常,servlet异常筛选器。参数请求和响应分别是输入和输出参数,而链是Filter链对象。所谓的FilterChain是指一个应用程序中可以有多个过滤器,它们像链一样链接在一起。在执行一个过滤器之后,可以调用chain.doFilter(请求、响应)将执行权转移到下一个过滤器,直到所有过滤器都被执行。我们修改了上一节中的登录过程,并添加了一个下载链接(详见SessionTest.java)。此下载链接指向img/sample.jpg我们希望在用户尝试通过Filter下载img/sample.jpg时验证用户身份。如果验证失败,则禁止用户下载并跳转到登录页面。遗憾的是,在创建Filter时,不能像Servlet那样直接从右键菜单中选择new,只能先编写源代码,然后手动添加到web.xml中.如下图所示,创建新类时,注意实现javax.servlet.Filter接口。

编写完代码后,打开web.xml文件并手动添加过滤器。与Servlet类似,您需要添加两个标签,和。在这里,我们需要验证/img/下所有文件的登录,所以我们在url模式中填写/img/*。

最后,访问/learn JSP/img/sample . jpg,您将跳转到登录页面。登录后,再次访问以上链接,查看正确的图片。示例下载:servlet-filter _ jb51net.zip。

版权声明:JSP过滤器的应用方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。