zoukankan      html  css  js  c++  java
  • 拦截器登录验证

    拦截器登录验证

    1. 配置

      <mvc:interceptor>
          <mvc:mapping path="/user/**"/>
          <bean class="cn.pinked.config.LoginInterceptor"/>
      </mvc:interceptor>
      
    2. 拦截器

      public class LoginInterceptor implements HandlerInterceptor {
          public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
              HttpSession session = request.getSession();
              //已登录,放行
              if (session.getAttribute("userLoginInfo") != null) {
                  return true;
              }
              //在登陆页面,放行
              if (request.getRequestURI().contains("login")) {
                  return true;
              }
              //未登录,转发到登录页面
              request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response);
              return false;
          }
      }
      
    3. 控制器

      @Controller
      @RequestMapping("/user")
      public class LoginController {
          //主页
          @RequestMapping("/main")
          public String main() {
              return "main";
          }
          //跳转到登陆页面
          @RequestMapping("/login")
          public String login() {
              return "login";
          }
          //登陆后回到主页
          @RequestMapping("/userlogin")
          public String login(HttpSession session, String username, String pwd, Model model) {
              session.setAttribute("userLoginInfo", username);
              model.addAttribute("username", username);
              return "main";
          }
          //注销后回到登陆页面
          @RequestMapping("/logout")
          public String logout(HttpSession session){
              session.removeAttribute("userLoginInfo");
              return "login";
          }
      }
      
    4. 主页

      <h1>首页</h1>
      <span>${username}已登录</span>
      <p>
          <a href="${pageContext.request.contextPath}/user/logout">注销</a>
      </p>
      
    5. 登陆页面

      <h1>登陆页面</h1>
      <form action="${pageContext.request.contextPath}/user/userlogin" method="post">
          用户名:<input type="text" name="username">
          密码:<input type="password" name="pwd">
          <input type="submit" value="登录">
      </form>
      
  • 相关阅读:
    如何更好的学习编译原理?
    组合数据类型练习
    简化版c语言文法
    Python基础练习
    Linux 命令
    实验一:词法分析实验报告
    20160930 词法分析程序
    大数据概述
    WP7应用开发笔记(7) 配置和存储
    欧拉计划 第九题
  • 原文地址:https://www.cnblogs.com/pinked/p/12234847.html
Copyright © 2011-2022 走看看