springmvc拦截器案例

    技术2025-02-07  15

    index.jsp

    <%-- Created by IntelliJ IDEA. User: 黄国栋 Date: 2020/6/26 Time: 18:27 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>JSON格式数据参数绑定</title> </head> <body> <h1> <a href="user/userLogin">跳转到登陆页面</a> </h1> </body> </html>

    login.jsp

    <%-- Created by IntelliJ IDEA. User: 黄国栋 Date: 2020/6/30 Time: 23:19 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head> <title>登陆页面</title> </head> <body> <form action="login" method="post"> <table align="center" border="1" cellspacing="0"> <tr> <td>用户名:<input type="text" name="username"></td> </tr> <tr> <td>密 码:<input type="text" name="password"></td> </tr> <tr> <td><input type="submit" name="登 陆"></td> </tr> </table> </form> </body> </html>

    success.jsp

    <%-- Created by IntelliJ IDEA. User: 黄国栋 Date: 2020/6/27 Time: 19:55 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>成功</title> </head> <body> <h1 align="center"> <a href="logout">退出登陆</a> </h1> </body> </html>

    springmvc.xml

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd "> <!--配置处理器适配器和处理器映射器--> <mvc:annotation-driven conversion-service="conversionService"/> <!--配置转换器--> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="com.hgd.ssm.utils.DateConverter"></bean> </set> </property> </bean> <!--配置视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> <!--扫描controller--> <context:component-scan base-package="com.hgd.ssm.controller"/> <!--文件上传--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!--上传文件的大小--> <property name="maxUploadSize" value="100000000"></property> </bean> <!--配置拦截器--> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:exclude-mapping path="/user/**"/> <bean class="com.hgd.ssm.interceptor.LoginInterceptor"/> </mvc:interceptor> </mvc:interceptors> </beans>

    LoginInterceptor.java

    package com.hgd.ssm.interceptor; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @auther 黄国栋 * @data 2020-06-30 23:09 * @since * * 登陆拦截器 * */ public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //获取请求的uri String requestURI = request.getRequestURI(); System.out.println("requestURI = " + requestURI); //判断请求的uri地址是否公开地址 if (requestURI.indexOf("user/userLogin")>-1){ return true; } //判断session是否存在username String username = (String) request.getSession().getAttribute("username"); System.out.println("username = " + username); if (username != null && !username.equals("")) { return true; } //不符合条件的,跳转到登录界面 request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response); return false; } }

    LoginController.java

    package com.hgd.ssm.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpSession; /** * @auther 黄国栋 * @data 2020-06-30 23:23 * @since */ @Controller @RequestMapping("user") public class LoginController { //跳转到登陆页面 @RequestMapping("userLogin") public String userLogin(){ System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAAAA"); return "login"; } //登陆 @RequestMapping("login") public String login(HttpSession session,String username){ System.out.println(username); //把用户名保存到session session.setAttribute("username", username); return "success"; } //退出 @RequestMapping("logout") public String logout(HttpSession session){ //清楚session System.out.println("CCCCCCCCCCCCCCCCCCCCCCCCCCC"); session.invalidate(); return "login"; } }

     

    Processed: 0.010, SQL: 9