首先写一个权限过滤filter
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
public class RightFilter
implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
//从session里取的用户名信息
String username = (String) session.getAttribute("username");
//判断如果没有取到用户信息,就跳转到登陆页面
if (username == null || "".equals(username)) {
//跳转到登陆页面
res.sendRedirect("http://"+req.getHeader("Host")+"/login.jsp");
}
else {
//已经登陆,继续此次请求
chain.doFilter(request,response);
}
}
public void destroy() {
}
}
然后在web.xml里配置那些JSP文件需要登陆权限验证:
1.如果是某个具体的JSP文件(如a.jsp)需要登陆验证
<web-app>
...
<filter>
<filter-name>right</filter-name>
<filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/a.jsp</url-pattern>
</filter-mapping>
...
</web-app>
2.如果是某一个目录(如a/目录)整个目录下的文件都需要登陆验证:
<web-app>
...
<filter>
<filter-name>right</filter-name>
<filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/a/*</url-pattern>
</filter-mapping>
...
</web-app>
分享到:
相关推荐
在这个场景下,我们讨论的是如何使用过滤器来实现用户登录验证的功能。下面将详细解释这一过程。 首先,我们需要了解过滤器的基本概念。在Java Web应用中,过滤器是实现了javax.servlet.Filter接口的类。它们通过在...
JavaWeb-过滤器Filter学习(三)实现用户的自动登录与IP黑名单过滤JavaWeb-过滤器Filter学习(三)实现用户的自动登录与IP黑名单过滤JavaWeb-过滤器Filter学习(三)实现用户的自动登录与IP黑名单过滤JavaWeb-过滤器Filter...
ExtJS 是一个强大的JavaScript库,专门用于构建...以上就是关于ExtJS Grid Filter实现表格过滤的基本介绍和应用场景。在实际开发中,根据项目需求,灵活运用各种过滤策略,可以极大地提升数据管理的便捷性和用户体验。
### JSP Filter 过滤器判断用户是否登录 在Web应用开发中,权限验证是非常重要的一个环节。通过使用过滤器(Filter),可以在请求到达目标资源(如Servlet或JSP页面)之前进行处理,例如实现登录状态检查、权限验证...
在本例中,要实现一个简单的登录验证过滤器,可以阻止未登录用户访问除了登录页面以外的其他后台管理页面。通过实现javax.servlet.Filter接口,我们创建了一个LoginFilter类。这个过滤器会在每个请求到达目标页面...
本文将深入探讨如何在用户登录界面实现基于Servlet的验证码功能,并结合Filter进行验证。 首先,验证码的生成通常涉及到以下几个步骤: 1. **生成随机字符串**:验证码一般由4-6个随机字母或数字组成,可以通过...
filter-name是filter的名称,而filter-class是filter的实现类。在这个例子中,filter-name是onlineFilter,而filter-class是filter.OnlineFilter。 在filter-mapping中,我们可以看到url-pattern的配置,这意味着这...
本文将详细讲解如何利用Filter拦截用户登录,确保只有已登录的用户才能访问特定页面。 首先,我们需要了解`Filter`的基本概念。在Java Web中,Filter是Servlet API的一部分,它可以通过实现`javax.servlet.Filter`...
2. **Filter实现**:创建一个自定义的`Filter`类,检查每个请求的`Session`中是否存在登录信息。如果不存在或者登录信息过期,则重定向到登录页面。 3. **权限判断**:在`Filter`中,可以进一步检查请求的资源是否...
### JSP中Filter类实现过滤器功能 #### 概述 在Java Web开发中,`Filter`是一种常用的技术,它可以对请求和响应进行预处理或后处理,常用于执行一些通用的操作,例如权限验证、编码统一设置、敏感词过滤等。本文...
实现用户自动登录功能。 2、 实验环境 Eclipse 3、 实验内容 (1)编写User类,在项目中创建cn.itcast.chapter08.entity包,该类用于封装用户的信息。 (2)实现登录页面和首页 (3)编写idex.jsp页面,该页面...
* 认证和授权:可以使用 Filter 来实现认证和授权功能,例如检查用户的登录状态和权限。 * 日志记录:可以使用 Filter 来记录客户端的请求和响应信息,以便进行日志记录和分析。 * 缓存处理:可以使用 Filter 来实现...
以下是一个简单的Java Filter实现示例,用于检查请求中的session中是否存在登录用户的信息: ```java import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; ...
通过使用Java EE中的过滤器,我们可以有效地管理项目的字符编码,并且可以实现对未登录用户的访问权限控制。这两种方法不仅可以提高系统的安全性,还能提升用户体验。在实际项目开发过程中,开发者可以根据具体需求...
下面将详细解释`Filter`的工作原理以及如何运用它来实现登录验证。 ### Filter工作原理 `Filter`是Java Web应用程序中的一个接口,位于`javax.servlet`包下。它提供了一种机制,可以在HTTP请求被处理前和处理后...
在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而过滤器(Filter)是Servlet规范的一部分,允许我们在请求处理前后插入逻辑,以实现诸如数据验证、字符编码转换、日志记录等功能。...
在SpringBoot中,我们可以自定义Filter实现预处理和后处理功能,例如检查用户是否已登录,未登录时重定向到登录页面。 4. **拦截器(Interceptor)**: Spring MVC提供了拦截器(Interceptor)机制,它同样可以...
为了能够使用 Servlet 过滤器实现用户对 JSP 页面访问的合法性验证,需要根据用户登录号和密码等与数据库中的信息相比较,若能匹配成功,则是用户登录成功,就用 session 对象存储该用户的标识。 知识点4: Servlet ...
在IT领域,特别是Java Web开发中,Servlet过滤器(Filter)是实现用户权限管理、登录状态验证等关键功能的重要机制之一。本文将深入探讨如何利用Servlet过滤器来验证用户是否已登录,以及如何配置过滤器以针对特定的...
在本主题中,我们将重点讨论如何使用过滤器来实现用户登录验证。这在保护网站资源、确保只有已登录的用户才能访问特定页面时尤其重要。 过滤器的工作原理是基于Servlet规范中的Filter接口。当一个HTTP请求到达...