servlet和JSP过滤器Filter
servlet API的2.3版本中最重要的一个新功能就是能够为servlet和JSP页面定义过滤器。过滤器提供了某些早期服务器所支持的非标准
“servlet链接”的一种功能强大且标准的替代品。
过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可
附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择:
l
以常规的方式调用资源(即,调用servlet或JSP页面)。
l 利用修改过的请求信息调用资源。
l
调用资源,但在发送响应到客户机前对其进行修改
l 阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。
过滤
器提供了几个重要好处。
首先,它以一种模块化的或可重用的方式封装公共的行为。你有30个不同的serlvet或JSP页面,需要压缩它们的内容
以减少下载时间吗?没问题:构造一个压缩过滤器(参阅第11节),然后将它应用到30个资源上即可。
其次,利用它能够将高级访问决策与表现代码相
分离。这对于JSP特别有价值,其中一般希望将几乎整个页面集中在表现上,而不是集中在业务逻辑上。例如,希望阻塞来自某些站点的访问而不用修改各页面
(这些页面受到访问限制)吗?没问题:建立一个访问限制过滤器(参阅第8节)并把它应用到想要限制访问的页面上即可。
最后,过滤器使你能够对许多
不同的资源进行批量性的更改。你有许多现存资源,这些资源除了公司名要更改外其他的保持不变,能办到么?没问题:构造一个串替换过滤器(参阅第10节),
只要合适就使用它。
但要注意,过滤器只在与servlet规范2.3版兼容的服务器上有作用。如果你的Web应用需要支持旧版服务器,就不能使用
过滤器。
1. 建立基本过滤器
建立一个过滤器涉及下列五个步骤:
1)建立一个实现Filter接口的类。这个类需要三个方法,
分别是:doFilter、init和destroy。doFilter方法包含主要的过滤代码(见第2步),init方法建立设置操作,而
destroy方法进行清楚。
2)在doFilter方法中放入过滤行为。doFilter方法的第一个参数为ServletRequest对
象。此对象给过滤器提供了对进入的信息(包括表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在
简单的过滤器中忽略此参数。最后一个参数为FilterChain,如下一步所述,此参数用来调用servlet或JSP页。
3)调用
FilterChain对象的doFilter方法。Fil
相关文档:
JSP页面间传递参数方法介绍
本文介绍了JSP页面间传递参数的几个方法。最直接的方法就是直接在URL请求后添加,不过多个页面的情况会复杂一些。
JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数。下面介绍一下实现的方法。
(1)直接在URL请求后添加
如:< a href="thexuan.jsp?action=t ......
风格一
星期四,4月19日,2007年
风格二 1:23:15下午
风格三 星期四,4月19日,2007年 1:23:15下午
风格四 4../../../19../../../07
风格五: 13:23:15
风格六: Thu Apr 19 13:23:15 UTC+0800 2007
风格七 Microsoft Internet Exp ......
本文是新的 JSP 最佳实践系列文章的第一部分,它介绍了 JavaServer Pages include 机制。请跟随 Java 编程专家 Brett McLaughlin 学习如何使用 include 将静态的头文件和脚注文件加入您的网站或 Web 应用程序页面中。
欢迎阅读 Java 专区中最新的最佳实践系列文章。如果您看过先前的系列文章,那么您会知道最佳实践旨在让 ......
在WEB应用中,如果使用jsp作为view层的显示模板,都会被空格/空换行问题所困扰.
这个问题当年也困扰了我比较长的时间.因为在jsp内使用的EL标签和其他标签时,会产生大量的空格和换行符.例如:
------- start ----------
<c:choose>
<c:when test="${fn:length(mainPageList)>1&}&q ......