1-
实现Servlet.Filter接口
public class AdminLoginFilter implements Filter
新建一个实现filter接口的类,实现dofilter方法,在dofilter方法里面写一个判读,比如如果用户名密码为空,则返回到登录页面
public class TestFilter implements Filter {
public void doFilter(ServletRequest srt, ServletResponse sre,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)srt;
HttpServletResponse response = (HttpServletResponse)sre;
String name= (String)request.getSession().getAttribute("name");
if( name== null || name.trim().length() < 1) {
response.sendRedirect( "/denglu.jsp" );
}else {
filterChain.doFilter(request, response);
}
}
web.xml配置过滤器
<filter>
<filter-name>TestFilter </filter-name>
<filter-class>/test/TestFilter </filter-class>
</filter>
配置多个映射,哪些请求执行过滤器
<filter-mapping>
<filter-name>TestFilter </filter-name>
<url-pattern>/web-inf/test/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>TestFilter </filter-name>
<url-pattern>/login.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>TestFilter </filter-name>
<url-pattern>/loginin.do</url-pattern>
</filter-mapping>
分享到:
相关推荐
在上述代码中,`addPathPatterns`定义了拦截器将拦截的URL路径,而`excludePathPatterns`则排除了某些特定的URL,使其不会被拦截。 在实际应用中,我们可以利用拦截器进行权限验证、日志记录、计时分析等多种功能。...
而在Spring MVC中,拦截器是基于Servlet规范的Filter和Spring的HandlerInterceptor接口实现的。 接下来,我们将关注描述中的"登录login.jsp和userlogin.jsp"测试场景。在J2EE应用中,登录功能通常涉及用户输入验证...
这种方法的优点是不需要在SpringMVC的拦截器中进行繁琐的配置,而且默认的Servlet可以很高效地处理静态资源请求。不过,这种方法的缺点是,需要在web.xml中手动配置,而且可能会增加服务器的负载,因为静态资源需要...
Spring MVC的拦截器基于Servlet API的Filter和HandlerInterceptor接口,但相比Filter,Interceptor更关注于业务逻辑,更易于与Spring MVC的其他组件集成。 接下来,我们来创建一个简单的自定义拦截器。首先,我们...
例如,`struts-default.xml`中包含了默认的拦截器栈,如`params`拦截器用于处理请求参数,`exception`拦截器用于处理异常,`validation`拦截器进行数据校验。 在深入源码之前,我们需要了解几个关键类: 1. `...
Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在HTTP请求到达Servlet之前或之后进行拦截处理。在标题"Servlet过滤器的简单使用源码+文档"中,我们可以理解为这个压缩包包含了一个关于Servlet过滤器的...
在Struts2中,过滤器(Filter)虽然与拦截器有相似的作用,但它们是基于Servlet API的,通常用于处理HTTP请求的预处理和后处理,如登录检查、字符编码转换等。过滤器通过实现`javax.servlet.Filter`接口并在`web.xml...
在SpringBoot框架中,拦截器是一个非常重要的组件,它能够在请求到达控制器(Controller)之前或者之后对请求进行拦截,以完成一些预处理或后处理操作。拦截器通常用于权限检查、日志记录、性能监控等场景。 拦截器...
- **独立性较高**:拦截器并不依赖于Servlet容器,因此可以在任何环境中使用拦截器技术来实现类似的功能。 - **适用范围广**:除了传统的Web应用外,拦截器还可以应用于各种基于Java的框架或库中。 - **过滤器**...
- **代码重用原则**:通过拦截器机制,可以将多个Action中需要重复指定的代码提取出来,放在拦截器类中定义,实现更好的代码复用。 - **AOP设计模式**:Struts2的拦截器体系采用的是面向切面编程(Aspect-Oriented ...
Struts2的拦截器是基于Java的Servlet Filter机制实现的,但是更加强大和灵活。 2. **拦截器链**:在Struts2中,多个拦截器可以形成一个拦截器链,每个拦截器按照定义的顺序依次执行。如果所有拦截器都允许Action...
通过拦截器,我们可以统一处理这些常见的安全问题,而不是在每个控制器方法中重复同样的代码。这个简单的设计使得我们的应用更加模块化,更易于维护。 最后,关于"springboot3"这个压缩包子文件的文件名称,可能指...
Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达Servlet之前或者响应离开Servlet之后进行拦截处理。在这个实例代码中,我们将深入探讨Servlet过滤器的使用,以及如何通过它来增强应用程序的...
而"拦截器代码(可根据业务进行修改)"这部分,可能是一个Java类,它实现了拦截器接口,如Servlet的Filter或Spring框架的Interceptor。这个类会拦截每个HTTP请求,检查请求头中的`X-Forwarded-For`或`RemoteAddr`...
Filter是Servlet API中的另一种组件,用于在请求到达Servlet之前和之后进行拦截处理,如登录验证、日志记录等。Listener则监听特定的Web事件,如Session创建、销毁,或者Context初始化、销毁等。 9. **MVC模式和...
Spring MVC的拦截器是基于Servlet的Filter的一种扩展,它允许开发者在请求被控制器处理之前或之后执行一些操作。拦截器可以用来进行权限检查、日志记录、性能统计等任务。 2. **创建自定义拦截器** 首先,我们...
本篇将详细讲解如何在Spring Boot中创建并使用自定义拦截器,并提供相关的示例代码。 首先,我们需要了解Spring MVC中的拦截器(HandlerInterceptor)接口。该接口定义了三个方法: 1. `preHandle...
本项目主要关注的是如何使用过滤器(Filter)和拦截器(Interceptor)来实现登录页面的控制与跳转。以下是对这些知识点的详细说明: 1. **SpringBoot**: SpringBoot是Spring框架的一个子项目,旨在简化Spring应用...