国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|JavaScript|易語(yǔ)言|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

2021-08-07 23:46~祝今在 Java教程

這篇文章主要介紹了SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、定義登錄控制器

目錄結(jié)構(gòu)

SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

代碼:

1、創(chuàng)建TUser類

  1. package com.demo.pojo;
  2.  
  3. import lombok.AllArgsConstructor;
  4. import lombok.Data;
  5. import lombok.NoArgsConstructor;
  6.  
  7. @Data
  8. @AllArgsConstructor
  9. @NoArgsConstructor
  10. public class TUser {
  11. private String name;
  12. private String password;
  13. }

2、創(chuàng)建LoginController類

  1. package com.demo.controller;
  2.  
  3. import com.demo.pojo.TUser;
  4. import com.demo.pojo.User;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.ui.Model;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RequestMethod;
  9. import org.springframework.web.bind.annotation.RequestParam;
  10.  
  11. import javax.servlet.http.HttpServletRequest;
  12. import javax.servlet.http.HttpServletResponse;
  13. import javax.servlet.http.HttpSession;
  14.  
  15. @Controller
  16. @RequestMapping("/user")
  17. public class LoginController {
  18. @RequestMapping("/login")
  19. public String login(Model model){
  20. model.addAttribute("msg","這里是登陸界面");
  21. return "login";
  22. }
  23.  
  24. @RequestMapping("/doLogin")
  25. public String doLogin(TUser tUser,
  26. HttpServletRequest req, HttpServletResponse resp, Model model){
  27. System.out.println("###LoginController.doLogin()");
  28.  
  29. if(!"admin".equals(tUser.getName())||!"admin".equals(tUser.getPassword())){
  30. model.addAttribute("msg","用戶名或密碼不正確!");
  31. return "loginFail";//跳轉(zhuǎn)到loginFail.jsp
  32. }
  33.  
  34. HttpSession httpSession=req.getSession(true);//存在session則使用,不存在則創(chuàng)建
  35. httpSession.setAttribute("user",tUser);
  36. model.addAttribute("msg","登錄成功");
  37. return "success";//跳轉(zhuǎn)到success.jsp
  38. }
  39.  
  40. @RequestMapping("/loginOut")
  41. public String loginFail(HttpSession session,Model model){
  42. model.addAttribute("msg","退出登錄");
  43. session.removeAttribute("user");
  44. return "login";
  45. }
  46.  
  47. }

頁(yè)面代碼:

1、login.jsp

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>login</title>
  5. </head>
  6. <body>
  7. <h1>${msg}</h1>
  8. <form id="login" action="${pageContext.request.contextPath}/user/doLogin" method="post">
  9. 用戶名:<input type="text" name="name"/><br/>
  10. 密碼:<input type="password" name="password"><br/>
  11. <input type="submit">
  12. </form>
  13.  
  14. </body>
  15. </html>

2、loginFail.jsp

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>loginFail</title>
  5. </head>
  6. <body>
  7. <h1>${msg}</h1>
  8. <h2><a href="${pageContext.request.contextPath}/user/loginOut" rel="external nofollow" rel="external nofollow" >返回登錄界面</a></h2>
  9. </body>
  10. </html>

3、success.jsp

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>success</title>
  5. </head>
  6. <body>
  7. ${msg}
  8. <h2><a href="${pageContext.request.contextPath}/user/loginOut" rel="external nofollow" rel="external nofollow" >退出登錄</a></h2>
  9. </body>
  10. </html>

二、自定義登錄攔截器

代碼:

1、創(chuàng)建LoginInterceptor類,作為攔截器類需實(shí)現(xiàn)HandlerInterceptor,并重寫里面的三個(gè)方法preHandle、postHandle、afterCompletion:

  1. package com.demo.interceptor;
  2.  
  3. import org.springframework.web.servlet.HandlerInterceptor;
  4. import org.springframework.web.servlet.ModelAndView;
  5.  
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8.  
  9. public class LoginInterceptor implements HandlerInterceptor {
  10. @Override
  11. public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
  12. Object handler) throws Exception {
  13. System.out.println("LoginInterceptor preHandle");
  14. //放行:判斷什么情況下
  15. //1、請(qǐng)求到登陸界面放行,首次登陸
  16. if(request.getRequestURI().contains("login")||request.getRequestURI().contains("doLogin")){
  17. return true;
  18. }
  19. //2、退出登錄可直接放行
  20. if(request.getRequestURI().contains("loginOut")){
  21. return true;
  22. }
  23. //3、通過(guò)登錄進(jìn)入 放行
  24. if(request.getSession().getAttribute("user")!=null){
  25. return true;
  26. }
  27. //非法請(qǐng)求進(jìn)行攔截
  28. //重定向到登錄頁(yè)面
  29. response.sendRedirect(request.getContextPath()+"login");
  30. //攔截
  31. return false;
  32. }
  33.  
  34. @Override
  35. public void postHandle(HttpServletRequest request, HttpServletResponse response,
  36. Object handler, ModelAndView modelAndView) throws Exception {
  37. System.out.println("LoginInterceptor "+"postHandle");
  38. }
  39.  
  40. @Override
  41. public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
  42. Object handler, Exception ex) throws Exception {
  43. System.out.println("LoginInterceptor "+"afterCompletion");
  44. }
  45. }

2、在spring-mvc.xml中配置LoginInterceptor攔截器 測(cè)試: 1、正常登錄(正確密碼:admin)

SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

1.1、點(diǎn)擊退出登錄

SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

2、用戶名密碼錯(cuò)誤

SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

2.1、點(diǎn)擊返回登錄界面

SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

3、非法請(qǐng)求

SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

到此這篇關(guān)于SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringMVC自定義攔截器內(nèi)容請(qǐng)搜索我們以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/codeblank/article/details/119247408

延伸 · 閱讀

精彩推薦
  • Java教程Java使用ObjectMapper的簡(jiǎn)單示例

    Java使用ObjectMapper的簡(jiǎn)單示例

    這篇文章主要介紹了Java使用ObjectMapper的簡(jiǎn)單示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面...

    學(xué)海無(wú)涯5198962020-09-18
  • Java教程詳解java倒計(jì)時(shí)三種簡(jiǎn)單實(shí)現(xiàn)方式

    詳解java倒計(jì)時(shí)三種簡(jiǎn)單實(shí)現(xiàn)方式

    這篇文章主要介紹了詳解java倒計(jì)時(shí)三種簡(jiǎn)單實(shí)現(xiàn)方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧...

    黑仔00212132021-01-09
  • Java教程淺談java 執(zhí)行jar包中的main方法

    淺談java 執(zhí)行jar包中的main方法

    下面小編就為大家?guī)?lái)一篇淺談java 執(zhí)行jar包中的main方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧...

    999abcd6952020-06-16
  • Java教程全面解析Java中的HashMap類

    全面解析Java中的HashMap類

    HashMap類為Java提供了鍵值對(duì)應(yīng)的map類型,本文將從源碼角度全面解析Java中的HashMap類,同時(shí)包括其各種常用操作方法等,歡迎參考與借鑒 ...

    pastqing1352020-05-01
  • Java教程JAVA線上常見問(wèn)題排查手段匯總

    JAVA線上常見問(wèn)題排查手段匯總

    這篇文章主要介紹了JAVA線上常見問(wèn)題排查手段匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參...

    云淡風(fēng)輕博客3692020-08-27
  • Java教程java實(shí)現(xiàn)遠(yuǎn)程桌面的實(shí)例代碼

    java實(shí)現(xiàn)遠(yuǎn)程桌面的實(shí)例代碼

    下面小編就為大家分享一篇java實(shí)現(xiàn)遠(yuǎn)程桌面的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧...

    一艷傾華10802021-03-22
  • Java教程Spring Boot集成Java DSL的實(shí)現(xiàn)代碼

    Spring Boot集成Java DSL的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Spring Boot集成Java DSL的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下...

    jdon.8762021-06-30
  • Java教程JVM 方法調(diào)用之靜態(tài)分派(詳解)

    JVM 方法調(diào)用之靜態(tài)分派(詳解)

    下面小編就為大家?guī)?lái)一篇JVM 方法調(diào)用之靜態(tài)分派(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧...

    Java教程網(wǎng)5272020-09-22
主站蜘蛛池模板: 精品免费视频 | 免费的一级黄色片 | 日韩视频在线播放 | 色中色综合 | 伊人色私人影院蜜桃va | 欧美日韩成人一区二区 | 精品国产乱码久久久久久牛牛 | 91精品国产综合久久久久久 | 久草久 | 久久久久久中文字幕 | 欧美成人h版在线观看 | 亚洲国产精品yw在线观看 | 欧美伦理一区二区 | 亚洲成人精品久久 | 视频一区二区在线观看 | 成人三级视频 | 一区二区三区在线免费视频 | 成人欧美一区二区三区视频xxx | 国产欧美一区二区精品性色 | 国产高潮久久 | 天天综合久久 | 久久久久久成人 | 黄色免费在线观看 | av在线一区二区 | 亚洲精品国产setv | 久久久久久网站 | 黄色毛片免费看 | 免费精品视频 | 91在线播放视频 | 久久精品久久久久久 | 在线a视频 | 一区二区三区四区精品 | 在线一区视频 | 黄色小网站免费观看 | 久久不卡| 国产一级片 | 欧美日韩一区二区三区不卡视频 | 欧美日本韩国一区二区 | 精品视频在线免费观看 | 日韩精品专区 | 搞黄视频在线观看 |