<filter>
<filter-name>PermissionFilter</filter-name>
<filter-class>xx.xx.PermissionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PermissionFilter</filter-name>
<servlet-name>目标资源一</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>PermissionFilter</filter-name>
<servlet-name>目标资源二</servlet-name>
</filter-mapping>
目标资源一是客户端直接访问,能被过滤.
而当目标资源二是被转发过来的,这时过滤器就不能过滤目标资源二
其实上面的配置等价于:
<filter>
<filter-name>PermissionFilter</filter-name>
<filter-class>xx.xx.PermissionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PermissionFilter</filter-name>
<servlet-name>目标资源一</servlet-name>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>PermissionFilter</filter-name>
<servlet-name>目标资源二</servlet-name>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
当如下配置:
<filter>
<filter-name>PermissionFilter</filter-name>
<filter-class>xx.xx.PermissionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PermissionFilter</filter-name>
<servlet-name>目标资源一</servlet-name>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>PermissionFilter</filter-name>
<servlet-name>目标资源二</servlet-name>
<dispatcher>forword</dispatcher>
</filter-mapping>
我们看对目标资源二过滤的配置方式,这时过滤方式为forward,也就是说会对转发到目标资源二的请求过滤,如果直接访问目标资源二,过滤器将不起作用。
分享到:
相关推荐
- **Dispatcher Types**:过滤器可以根据不同的请求类型(如REQUEST、FORWARD、INCLUDE或ERROR)进行配置。 - **Filter Chain**:多个过滤器可以按顺序连接起来形成一个过滤器链,每个过滤器依次处理请求。 通过...
在Java Web开发中,过滤器(Filter)是一个非常重要的组件,它允许我们在数据处理的前后进行额外的操作,比如数据的转换、验证、日志记录等。在这个“过滤器的使用了javabean”的主题中,我们将深入探讨如何利用Java...
过滤器可以针对不同的Dispatcher Types(如REQUEST, FORWARD, INCLUDE, ERROR等)进行过滤,控制范围更广。 4. **配置过滤器** 在`web.xml`部署描述符中,我们定义过滤器并指定其映射。例如: ```xml ...
- `<dispatcher>`:指定过滤器如何处理不同的请求分发方式,包括`REQUEST`、`INCLUDE`、`FORWARD`和`ERROR`。 #### 五、Filter链 在一个Web应用程序中,可以有多个过滤器协同工作,这些过滤器按照一定的顺序组成...
Filter(过滤器)简介和工作原理 Filter 简介 Filter(过滤器)是 Java EE 中的一种组件,用于拦截和处理 Servlet 容器中的请求和响应。Filter 的基本功能是对 Servlet 容器调用 Servlet 的过程进行拦截,从而在 ...
【Java Filter过滤器详解】 Java Filter是Java Servlet技术的一部分,它允许开发者在Servlet容器中对HTTP请求和响应进行拦截处理,实现数据过滤、权限控制、日志记录等多种功能。Filter的生命周期包括三个主要方法...
- `<dispatcher>`:设置过滤器应用于哪种类型的请求,如REQUEST、INCLUDE、FORWARD、ERROR。 例如: ```xml <filter-name>demo <filter-class>demo.dhee.filter.DemoFilter <filter-name>demo ...
而`过滤器(Filter)`是Servlet API的一部分,它提供了一种机制来拦截请求和响应,实现诸如登录验证、字符编码转换、性能监控等功能。在这个场景中,我们关注的是使用过滤器进行登录验证,以及如何利用`session`来...
【JSP 登录过滤器详解】 在Web开发中,为了保护特定资源,通常需要实现登录过滤器,确保只有已登录的用户才能访问某些页面。在Java Web应用中,我们可以使用Servlet API中的`Filter`接口来实现这个功能。下面将详细...
- **DispatcherType**:表示过滤器何时被调用,比如REQUEST、FORWARD、INCLUDE、ERROR等。 最后,过滤器的顺序非常重要,因为它们按照`web.xml`中定义的顺序执行。如果有多个过滤器匹配同一个请求,那么顺序决定了...
- 可以通过`<dispatcher>`元素指定过滤器对哪些类型的请求进行过滤,例如`REQUEST`、`FORWARD`、`INCLUDE`等。 - 也可以通过`<filter>`和`<filter-mapping>`元素来配置多个过滤器的执行顺序。 #### 过滤器的简单...
`dispatcher`元素用于指定过滤器在哪些请求类型下生效,例如REQUEST表示直接来自客户端的请求,FORWARD表示转发的请求,INCLUDE表示包含的请求。 最后,创建一个JSP页面来测试过滤器的效果。在JSP中,你可以设置...
过滤器可以在web.xml中配置多个Dispatcher类型,包括REQUEST, FORWARD, INCLUDE, ERROR和ASYNC。这意味着过滤器可以针对不同类型请求进行干预。 元素用于将过滤器映射到具体的URL模式或servlet名称上,而元素则定义...
- `<filter-mapping>`元素映射过滤器到特定的URL模式,可以配置多个`dispatcher`类型,如REQUEST、FORWARD、INCLUDE等,以决定过滤器在哪些情况下生效。 **侦听器(Listener)** 侦听器是用于监听特定事件的组件,...
【filter过滤器流程】 在Java Web开发中,Filter(过滤器)是用于处理HTTP请求和响应的重要组件。它遵循Servlet规范中的Filter接口,允许开发者在请求到达目标Servlet或JSP之前以及响应离开Servlet之后进行拦截和...
例如,如果你关注的是 HTTP 流量,可以设置过滤器仅显示 HTTP 协议的数据包。通过这种方式,你可以快速定位到与特定服务或应用相关的网络通信。 Forward 2.71 还具有强大的数据包解析能力,它能够将二进制数据转化...
**监听器与过滤器在Java Web开发中的应用** 在Java Web开发中,监听器和过滤器是两种重要的组件,它们分别用于监听Web应用程序中的特定事件和过滤客户端的请求。这两种技术都基于Java的Servlet API,有助于提升应用...
通常,这样的测试文件会包含设置、执行过滤器、检查响应状态等步骤,通过运行和调试这些测试,可以找出可能导致"Cannot forward after response has been committed"错误的具体原因,并针对性地进行修复。
本篇将详细探讨如何使用过滤器进行权限控制,并结合提供的"用过滤器进行权限控制实例"来深入理解这一概念。 首先,我们需要了解Java Servlet规范中的过滤器(Filter)。根据Servlet 3.1规范,过滤器是一个实现了...