`
王非123
  • 浏览: 24565 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

拦截器-----extends HandlerInterceptorAdapter

阅读更多
  代码:
   首先在spring的mvc的xml中加入
  
    <!-- mvc拦截器 -->
<mvc:interceptors>
    <mvc:interceptor> <!-- 可以增加多个拦截器 -->
        <mvc:mapping path="/**"/> <!-- 需要拦截的 -->
        <mvc:exclude-mapping path="/"/>  <!-- 不需要拦截的 -->
        <mvc:exclude-mapping path="/login"/>
        <mvc:exclude-mapping path="/logout"/>
        <mvc:exclude-mapping path="/manage/**"/>
       <bean class="com.smarcloud.control.aop.SessionHelper" />
    </mvc:interceptor>
</mvc:interceptors>

上面配置了 spring将拦截那些,不拦截那些访问。当中的com.smarcloud.control.aop.SessionHelper这个类是要自己写的,拦截后进入这个类

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Repository;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.smarcloud.control.util.Constant;
@Repository //将这个类交给spring容器管理
public class SessionHelper extends HandlerInterceptorAdapter {
      @Override
      public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler) throws Exception {
    //Constant.LOGIN_USER_SESSION 为session的名字
        Object obj = request.getSession().getAttribute(Constant.LOGIN_USER_SESSION);
        if(obj==null){
          request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
        return false;
        }
        else{
          return super.preHandle(request, response, handler);
        }
      }
}

这个各类将拦截的访问中的request中寻找session 如果是空的,则回到登入页面.
分享到:
评论

相关推荐

    springmvc(自定义拦截器的使用)

    自定义拦截器是扩展Spring MVC功能、添加自定义行为的一种常见方式。以下是对自定义拦截器实现步骤的详细解释: ### 1. 自定义拦截器类 #### 1.1 继承 `HandlerInterceptorAdapter` 你可以选择继承`...

    Spring MVC 拦截器

    HandlerInterceptorAdapter是Spring MVC提供的一般拦截器适配器,通过继承该类并重写其方法,我们可以轻松创建自定义的拦截逻辑。 以下是HandlerInterceptorAdapter的三个关键方法: 1. `preHandle...

    企业级开发-SpringMVC使用拦截器实现用户登录权限验证实验报告.docx

    接下来,我们需要实现拦截器 `LoginInterceptor`,这个类通常继承自 `HandlerInterceptorAdapter`,并重写 `preHandle()` 方法。在这个方法中,我们可以检查会话中的用户信息,如果用户未登录,则阻止进一步的请求...

    springboot拦截器实现拦截器 权限校验,登录demo

    这个类通常会继承`HandlerInterceptorAdapter`,这是一个Spring提供的抽象拦截器类,包含了`preHandle()`, `postHandle()`, 和 `afterCompletion()` 这三个关键方法。我们将主要关注`preHandle()` 方法,因为它是...

    SpringBoot拦截器

    在Spring Boot中,拦截器是通过实现`HandlerInterceptor`接口或者继承`HandlerInterceptorAdapter`抽象类来创建的。 2. **工作流程** 当一个HTTP请求到达Spring Boot应用时,Spring MVC会按照配置的拦截器顺序逐个...

    SpringMVC学习(十二)——SpringMVC中的拦截器

    在Spring MVC中,拦截器是通过实现`HandlerInterceptor`接口或者继承`HandlerInterceptorAdapter`抽象类来创建的。 `HandlerInterceptor`接口定义了三个方法: 1. `preHandle(HttpServletRequest request, ...

    springmvc拦截器

    创建一个Spring MVC拦截器需要实现`HandlerInterceptor`接口或者继承`HandlerInterceptorAdapter`抽象类。例如,我们创建一个名为`LoggingInterceptor`的拦截器: ```java public class LoggingInterceptor extends...

    spring mvc拦截器过滤json中的null值

    要创建一个自定义的拦截器,你需要继承`HandlerInterceptorAdapter`类,并重写其中的三个方法: 1. `preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)`: 在目标处理器执行前...

    Springboot拦截器进行拦截请求的一系列操作演示.docx

    在这个例子中,`TstCfg`类是自定义的拦截器,它扩展了`HandlerInterceptorAdapter`,这是一个抽象的拦截器基类,提供了默认的实现,简化了拦截器的编写。 接下来,我们来看`TstCfg`类中的具体拦截逻辑: ```java ...

    SpringMVC拦截器

    首先,我们需要创建一个自定义的拦截器类,该类需要继承自Spring MVC的`HandlerInterceptor`接口或实现`HandlerInterceptorAdapter`抽象类。这里我们选择后者,因为它提供了一些默认的空实现,使我们的开发更加方便...

    Springboot拦截器+http的4中请求小demo

    首先,我们需要创建一个自定义的拦截器类,它需要继承Spring MVC的`HandlerInterceptor`接口或者`HandlerInterceptorAdapter`抽象类。`HandlerInterceptor`接口包含三个方法:`preHandle()`、`postHandle()`和`...

    拦截器原理及案例(csdn)————程序.pdf

    【拦截器原理及案例】 拦截器是Spring框架中的一个重要组件,它允许我们在处理请求之前、之后以及处理完成后插入自定义的逻辑。与过滤器相比,拦截器提供了更细粒度的控制,可以在多个阶段进行干预。 ### 1. 概念...

    Java的过滤器与拦截器的区别.docx

    Spring Boot中,我们可以使用Spring MVC的`@RestControllerAdvice`或者Spring Web的`HandlerInterceptorAdapter`来实现拦截器。例如: ```java public class MyInterceptor extends HandlerInterceptorAdapter { @...

    文件上传和拦截器组合.zip

    public class LoginInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { /...

    SpringBoot配置拦截器方式实例代码

    在上面的代码中,我们定义了一个名为LoginInterceptor的拦截器,该拦截器继承自HandlerInterceptorAdapter。我们可以在preHandle方法中根据请求的URL来决定是否拦截请求。 结论 本文讲解了SpringBoot配置拦截器...

    spring boot配置拦截器代码实例

    接下来,需要编写拦截器类,继承自 `HandlerInterceptorAdapter`,并使用 `@Component` 注解将其注册到 Spring 容器中: ```java import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory....

    在spring-boot工程中添加spring mvc拦截器

    实现拦截器可以自定义实现 HandlerInterceptor 接口,也可以通过继承 HandlerInterceptorAdapter 类,后者是前者的实现类。例如,下面是一个判断用户是否登录的拦截器的实现例子: ```java public class ...

    详解SpringMVC拦截器(资源和权限管理)

    创建自定义拦截器需要继承`HandlerInterceptorAdapter`抽象类,并重写相关方法。例如: ```java public class AuthInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle...

    spring boot如何添加拦截器

    Spring Boot中的拦截器是通过实现`HandlerInterceptorAdapter`接口来创建的。下面是一个简单的登录拦截器示例: ```java public class LoginInterceptor extends HandlerInterceptorAdapter { private final ...

Global site tag (gtag.js) - Google Analytics