Servlet过滤器

过滤器概述

对web应用来说,过滤就是驻留在服务器端,在源数据的目的数相同的数据间、对web请求和web响应的头属性和内容体进行操作的一种特殊web组件。

 

当web容器收到一个对资源的请求时,容器将判断是否有过滤器和这个资源相关。如果有,容器把这个请求发给过滤器进行处理,过滤器处理请求后再把请求发送给目标资源。当目标资源对请求做出响应时,响应也会被容器想先转发给过滤器,在过滤器中对响应内容进行处理,然后响应被发送到客户端。

 

在一个web应用程序中,可以配置多个过滤器,这些过滤器组成一个过路器链。过滤器链中的每个过滤器都有特定的操作,请求和响应在浏览器和目标资源之间按照部署描述符中声明的过滤器顺序,在过滤器之间进行传递。

 

在请求资源是按照过滤器链中过滤器的顺序依次对请求进行处理,并将请求沿过滤器传递给下个过滤器,直到传递到目标资源;发送响应则是按照过滤器链相反的方向对响应进行处理和传递,直到把响应传到客户端为止。过滤器并不是必须把请求出送到下一个过滤器,它也可以根据处理结果直接给客户端发送响应,也可以将请求转发给另外一个目标资源。


Java代码:


<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
    you get me!!!!! <br>
  </body>
</html>


JSP代码:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
    you get me!!!!! <br>
  </body>
</html>

xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
 <filter>
  	<filter-name>FILTERyangshunfan</filter-name>
  	<filter-name>com.yangshunfan</filter-name>
  </filter>
  
  <filter-mapping>
  	<filter-name>FILTERyangshunfan</filter-name>
  	<url-pattern></url-pattern>
  </filter-mapping>

</web-app>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值