我来给你简单的说一下吧:)
首先要明确。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继续运行哦
--------------------------------
分享到:
相关推荐
### doFilter过滤器详解 #### 引言 在Java Web开发中,`doFilter`方法是Servlet过滤...上述两个示例只是过滤器众多应用场景中的冰山一角,理解并熟练掌握过滤器的使用,对于提高Web应用的安全性和性能具有重要意义。
java过滤(Filter)--过滤乱码、登陆等。
JAVA配置跨越访问Filter APP要访问WEB系统,需要进行跨域设置 关键: public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {}
Filter的生命周期包括三个主要方法:`init()`、`doFilter()` 和 `destroy()`。 1. **生命周期方法** - `init(FilterConfig filterConfig)`: 这是过滤器的初始化方法,Servlet容器在加载过滤器时会调用此方法,传递...
在实际应用中,`ChainFilter`可能使用工具类来帮助构建和管理过滤器链,这样可以更方便地添加、删除或调整过滤器的顺序。例如,`FilterManager`类可以用来注册过滤器,`FilterChain`类则负责按顺序调用过滤器的`...
在`doFilter`方法中,我们可以使用`chain.doFilter(request, response)`前,将原始请求包装成`CustomRequestParamWrapper`实例: ```java public void doFilter(ServletRequest request, ServletResponse response,...
公有类 CheckLoginFilter 实现 Filter 接口,重写 doFilter 方法,使用 HttpSession 对象来存储用户的登陆信息,并进行重定向操作。 三、字符编码的过滤器 这个过滤器的作用是统一字符编码,避免乱码的问题。实现...
【Jsp Filter的简单使用】 在Java Web开发中,Servlet Filter是实现动态网页(JSP)功能增强的重要组件。Filter接口允许我们对HTTP请求和响应进行拦截处理,它提供了在请求到达目标Servlet或JSP之前对其进行预处理...
### 使用过滤器解决中文乱码问题 在Web开发过程中,经常遇到的一个问题是中文或其它非ASCII字符的乱码问题。这种现象通常出现在浏览器接收的数据与实际编码格式不匹配时。解决此类问题的一种常见方法是使用过滤器...
在这个主题中,我们将深入探讨"过滤器简单使用代码",包括字符编码、检查字符以及如何使用过滤器验证用户是否登录。 1. **字符编码**: 在Web应用中,字符编码问题常常引起乱码。过滤器可以用来统一设置请求和响应...
在这个"Filter使用范例--登陆验证"的主题中,我们将深入探讨如何利用Filter进行用户登录验证,以确保只有经过身份验证的用户才能访问受保护的资源。 Filter接口在`javax.servlet`包中定义,它提供了`doFilter()`...
.NET Core 结合 Nacos 实现配置加解密的方法是指在 ASP.NET Core 应用程序中使用 Nacos 作为配置中心,并对敏感的配置信息进行加解密。该方法可以保护敏感信息不被泄露,并且可以灵活地扩展各种加解密方式。 在 ...
本文将详细讲解Java Web项目中过滤器的使用方法,以及如何配置和实现过滤器。 1. **过滤器的概念** 过滤器是Servlet规范的一部分,它在请求被Servlet处理之前或之后执行,可以用来实现如登录检查、字符编码转换、...
本文将深入探讨Java中过滤器的几种使用方法及其应用场景,以帮助开发者更好地理解和应用这一特性。 ### 一、过滤器的基本概念 过滤器在Java Web应用中扮演着“守门人”的角色,它通过`javax.servlet.Filter`接口...
本篇文章将深入探讨Java中的过滤器使用技术,旨在帮助开发者理解和掌握这一核心技术。 首先,我们需要了解过滤器的概念。在Java Servlet规范中,过滤器是一个实现了javax.servlet.Filter接口的类,它可以对HTTP请求...
本文将深入解析J2EE过滤器Filter的使用方法,并通过实例来阐述其工作原理。 过滤器在J2EE环境中扮演着预处理和后处理的角色,它可以拦截进入和离开Web应用程序的请求和响应,对数据进行处理或验证,从而提供诸如...
本练习5(Exercise5)专注于过滤器的使用,通过代码实现和作业报告来深入理解这一概念。 过滤器的工作原理基于Servlet规范中的`Filter`接口。当用户发起一个HTTP请求时,服务器会按照`web.xml`配置文件中定义的顺序...
Java过滤器(Filter)是Java Web开发中的一个重要概念,它主要应用于Servlet容器中,如Tomcat、Jetty等。过滤器允许我们在请求被发送到目标...通过熟练掌握过滤器的使用,我们可以提高Java Web应用的健壮性和用户体验。
在这个“过滤器的使用了javabean”的主题中,我们将深入探讨如何利用Java Filter进行中间处理以及JavaBean在其中的作用。 首先,让我们了解什么是过滤器。在Java Servlet规范中,过滤器是一个实现了javax.servlet....
在`doFilter`方法中,我们通常会使用`ServletRequestWrapper`和`ServletResponseWrapper`来包装原始的请求和响应对象,然后设定它们的编码。 下面是一个`EncodingFilter`的基本实现示例: ```java public class ...