<mvc:mapping path="/**"/>
</mvc:interceptor>
</mvc:interceptors>
- 编写一个 Controller,接收请求:
package com.yusael.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
// 测试拦截器的控制器
@RestController
public class InterceptorController {
@RequestMapping("/interceptor")
public String testFunction() {
System.out.println(“控制器中的方法执行了!”);
return “hello”;
}
}
- 前端 index.jsp
- 启动 Tomcat 进行测试。
如果自定义拦截器中 preHandle
返回 false
,表示不放行,被拦截了,不继续执行了。
如果自定义拦截器中 preHandle
返回 true
,表示放行,继续执行后面的代码。
==================================================================================
思路:
-
有一个登陆页面,需要写一个 Controller 访问页面。
-
登陆页面有一个提交表单的动作,需要在 Controller 中处理;
判断用户名密码是否正确:如果正确,向 session 中写入用户信息,返回登陆成功。
- 拦截用户请求,判断用户是否登陆。
如果用户已经登陆,放行;
如果用户未登陆,跳转到登陆页面;
如果没有拦截器,也就是上面思路中的 1 和 2 步,用户未登录也可以进入主页。
- 编写一个登陆页面 login.jsp
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
登录页面
用户名:
密码:
- 编写一个 Controller 处理请求
package com.yusael.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;