首先要明确。Filter是JSP2.0里面的东西 ,顾名思义,也就是过滤器的意思
和你说说如何用吧。要用Filter就得在web.xml中配置
例:
//配置方法和配置普通的Servlet一样的哦
<filter>
<filter-name>PrivFilter</filter-name>
<filter-class>com.myPriv.filter.PrivFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrivFilter</filter-name>
<url-pattern>/resource/*</url-pattern>
</filter-mapping>
//com.myPriv.filter.PrivFilter是这个过滤器所在的位置。当然这个过滤器必须实现接口javax.servlet.Filter。
然后就可以在过滤器这个接口方法中增加过滤条件了
public void doFilter(ServletRequset request, ServletResponse response,FilterChain chain)
thows ServletException, IOException{
}
然后你可以把过滤条件写出来,写在doFilter方法里面
我这里写一个简单的例子:
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session=request.getSession();
ServletContext application=session.getServletContext();
if(session.getAttribute("userSession")==null)
{
response.sendRedirect("error/priv_error.jsp");
return;
}
else
{
chain.doFilter(request, response);
}
}
在上面的这个过滤方法中,如果session.getAttribute("userSession")==null)那就跳转到错误页面。如果不为空,则继续
所以
chain.doFilter(request, response);的意思就是跳转到下个页面,
明白了吧?
------------------------
java会在处理每一个Servlet时都走一次Filter的。所以你不必担心你的过滤不起作用了
而且chain.doFilter(request.response);
是必须的。没有他,程序就不会继续了:)他是让你的request和response继续运行哦
- 浏览: 14460 次
- 性别:
- 来自: 天津
相关推荐
Filter的生命周期包括三个主要方法:`init()`、`doFilter()` 和 `destroy()`。 1. **生命周期方法** - `init(FilterConfig filterConfig)`: 这是过滤器的初始化方法,Servlet容器在加载过滤器时会调用此方法,传递...
为了增强应用程序的安全性、性能优化或者实现特定的功能,我们常常会使用过滤器(Filter)来拦截请求和响应。本文将详细介绍如何使用filter来对servlet和jsp页面的内容进行过滤,并在过滤后输出。 首先,了解...
在`doFilter`方法中,我们可以使用`chain.doFilter(request, response)`前,将原始请求包装成`CustomRequestParamWrapper`实例: ```java public void doFilter(ServletRequest request, ServletResponse response,...
同时,为了防止重复生成,我们可以使用文件系统或数据库来跟踪已生成的静态页面。 4. **处理缓存**:当请求的资源已经存在静态版本时,我们可以直接返回该文件,而无需再次调用后端服务。 5. **错误处理**:对于...
【Jsp Filter的简单使用】 在Java Web开发中,Servlet Filter是实现动态网页(JSP)功能增强的重要组件。Filter接口允许我们对HTTP请求和响应进行拦截处理,它提供了在请求到达目标Servlet或JSP之前对其进行预处理...
在`doFilter()`方法中,`request.setCharacterEncoding("GBK")`确保了请求数据的编码方式,而`httpresp.setHeader("Cache-Control","no-cache")`和`httpresp.setHeader("Pragma","no-cache")`则用于禁止浏览器缓存...
本篇文章将深入探讨Java中的过滤器使用技术,旨在帮助开发者理解和掌握这一核心技术。 首先,我们需要了解过滤器的概念。在Java Servlet规范中,过滤器是一个实现了javax.servlet.Filter接口的类,它可以对HTTP请求...
本文将详细讲解Java Web项目中过滤器的使用方法,以及如何配置和实现过滤器。 1. **过滤器的概念** 过滤器是Servlet规范的一部分,它在请求被Servlet处理之前或之后执行,可以用来实现如登录检查、字符编码转换、...
在这个主题中,我们将深入探讨"过滤器简单使用代码",包括字符编码、检查字符以及如何使用过滤器验证用户是否登录。 1. **字符编码**: 在Web应用中,字符编码问题常常引起乱码。过滤器可以用来统一设置请求和响应...
在这个“过滤器的使用了javabean”的主题中,我们将深入探讨如何利用Java Filter进行中间处理以及JavaBean在其中的作用。 首先,让我们了解什么是过滤器。在Java Servlet规范中,过滤器是一个实现了javax.servlet....
在`doFilter`方法中,我们通常会使用`ServletRequestWrapper`和`ServletResponseWrapper`来包装原始的请求和响应对象,然后设定它们的编码。 下面是一个`EncodingFilter`的基本实现示例: ```java public class ...
例如,在处理用户的输入数据时,我们可以使用过滤器来过滤掉一些非法字符,以避免系统的安全性问题。 四、图像格式转换 过滤器可以对响应的内容进行图像格式转换。例如,在Web应用程序中,我们可以使用过滤器来将...
在这个"Filter使用范例--登陆验证"的主题中,我们将深入探讨如何利用Filter进行用户登录验证,以确保只有经过身份验证的用户才能访问受保护的资源。 Filter接口在`javax.servlet`包中定义,它提供了`doFilter()`...
在标题提到的"filter过滤器的简单使用.rar"压缩包中,很显然包含了一个关于如何在Maven项目和Spring Boot项目中使用Filter的示例。下面将详细介绍Filter的基本概念、工作原理以及如何在两种项目环境中应用。 **...
本练习5(Exercise5)专注于过滤器的使用,通过代码实现和作业报告来深入理解这一概念。 过滤器的工作原理基于Servlet规范中的`Filter`接口。当用户发起一个HTTP请求时,服务器会按照`web.xml`配置文件中定义的顺序...
本教程将详细介绍如何使用过滤器,并通过实例帮助你理解其工作原理。 首先,我们要了解过滤器的基本概念。在Java Web中,Filter是实现了javax.servlet.Filter接口的类。它可以在请求到达Servlet或JSP之前和之后进行...
本文将深入探讨JAVAEE过滤器的使用。 1. **过滤器的基本概念** - **Filter接口**:Java Servlet API定义了`javax.servlet.Filter`接口,过滤器必须实现这个接口。 - **生命周期**:过滤器的生命周期包括初始化...
本篇文章将详细探讨Java中过滤器的使用,并通过一个具体的测试实例进行说明。 首先,我们需要了解Java中的Servlet规范定义了Filter接口,该接口提供了对HTTP请求和响应进行拦截的能力。过滤器通过在Web应用程序部署...
本篇文章将详细介绍如何在Java Web应用中使用过滤器,这对于初学者来说是非常基础且实用的知识。 一、过滤器的概念与作用 过滤器是Java Servlet规范的一部分,定义在`javax.servlet.Filter`接口中。它的主要任务是...