WEB开发网
开发学院软件开发Java Tomcat 的过滤诀窍 阅读

Tomcat 的过滤诀窍

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: doFilter() 完成了大部分工作,我们来检查一下叫做“用户代理”标题的请求标题,Tomcat 的过滤诀窍(6),所有的浏览器都提供这个标题,我们将其转换成小写字母,让后续过滤器和处理器能在得到请求时获得执行的机会:清单 5. 进行正常链式操作chain.doFilt

doFilter() 完成了大部分工作。我们来检查一下叫做“用户代理”标题的请求标题。所有的浏览器都提供这个标题。我们将其转换成小写字母,然后查找说明问题的标识字符串 "msie"。如果检测到了 Internet Explorer,我们就从响应对象中获取一个 PrintWriter 来写出自己的响应。在写出了定制的响应后,方法无需连到其它过滤器就能返回。这就是过滤器阻止后续处理的方法。

如果浏览器并非 Internet Explorer,我们就能进行正常的链式操作,让后续过滤器和处理器能在得到请求时获得执行的机会:


清单 5. 进行正常链式操作
   chain.doFilter(request, response); 
  } 

随后,我们粗略地执行该过滤器中的 init() 和 destroy() 方法:


清单 6. init() 和 destroy() 方法

  public void destroy() { 
  } 
  
 public void init(FilterConfig filterConfig) { 
  this.filterConfig = filterConfig; 
  } 
} 

测试 IEFilter

假设您安装了 Tomcat 4 beta 3 (或更新版本)并能使用,请按下列步骤启动 IEFilter 并运行:

在 $TOMCAT_HOME/conf 目录下的 server.xml 文件里创建一个新的应用程序上下文,如下所示:

    <!-- Tomcat Examples Context --> 
    <Context path="/examples" docBase="examples" debug="0" 
         reloadable="true"> 
    ... 
     </Context> 
    <Context path="/devworks" docBase="devworks" debug="0" 
         reloadable="true"> 
     <Logger className="org.apache.catalina.logger.FileLogger" 
           prefix="localhost_devworks_log." suffix=".txt" 
       timestamp="true"/> 
     </Context> 


上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Tomcat 过滤 诀窍

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接