国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

攔截器咋個使用?

nanchen2251 / 1531人閱讀

摘要:咋個在云南方言是怎么的意思,標題的意思就是攔截器怎么使用太多的概念我們在這里就不細講,主要講一講怎么使用,給大家講一個舍友的故事是我的一個大學舍友,剛上大學的時候相中了隔壁班的一個女生,在我們的慫恿下,他終于要到了那個女生的號碼,趁著周末約

咋個:在云南方言是怎么的意思,標題的意思就是“攔截器怎么使用?”

太多的概念我們在這里就不細講,主要講一講怎么使用,給大家講一個舍友Mic的故事:

Mic是我的一個大學舍友,剛上大學的時候 相中了隔壁班的一個女生,在我們的慫恿下,他終于要到了那個女生的號碼,趁著周末Mic約這個女生去看某個明星的演唱會(假設沒有大麥等等,需要現場購票),過安檢的時候,檢票人員發現Mic和那個女生沒有買票,就阻止他們進入會場并告知他們到什么地方買票,他們來到了售票大廳買了票順利的通過檢票進入會場,其他舍友和我剛好遇到會場,讓Mic出來拿一個充電寶,Mic出來之后又一次通過的檢票區進入了會場,和女神度過了難忘的一天。
(以上純屬瞎編亂造)

故事邏輯如上圖

其中檢票去扮演的是攔截器的角色,售票大廳扮演Cookie登記角色,會場扮演請求地址

直接貼代碼:

登陸界面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>



    
        
        Login
    

    
    
    
    
    

    
    

    

        
        

效果:

登陸成功需要寫入cookie:
User user = userMapper.selectUserByEmail(loginDto.getEmail());
        
        String md5 = Md5Util.md5(loginDto.getPassword());
        
        if(user==null || StringUtils.isEmpty(user)){
            return null;
        }
        
        if(!(user.getPassword()).equals(md5)){
            return null;
        }
        
        StringBuilder data = new StringBuilder();
        
       data.append(user.getEmail()).append("|").append(user.getPortraitUrl());
        
       //寫入cookie,CookieUtil為自己寫的工具類
        CookieUtil.setCookie(res, data.toString(), Constant.COOKIE_NAME);
        
        TempUser tempUser = new TempUser();
        tempUser.setEmail(user.getEmail());
        tempUser.setPortraitUrl(user.getPortraitUrl());
        
        return tempUser;
攔截器配置

用于攔截/admin/下的所有子項目:

  
  
        
            
            
        
    

實現HandlerInterceptor接口:判斷是否有Cookie存在,若存在放行,若不存在跳轉到登錄界面

package com.blog.interceptor;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.util.StringUtils;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import com.blog.util.Constant;
import com.blog.util.CookieUtil;

public class LoginInterceptor implements HandlerInterceptor{

    @Override
    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        
    }

    @Override
    public void postHandle(HttpServletRequest req, HttpServletResponse res, Object arg2, ModelAndView arg3)
            throws Exception {
    }

    @Override
    public boolean preHandle(HttpServletRequest req, HttpServletResponse res, Object arg2) throws Exception {
        
        
        /*
         * 網站前綴
         */
        String basePath = req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+req.getContextPath()+"/";
        
        boolean cookie = CookieUtil.getCookie(req, Constant.COOKIE_NAME);
        
        if(cookie==false){
            res.sendRedirect(basePath+"login");
            return false;
        }
        
        return true;
        
        
    }

}

若沒有登錄成功:
訪問http://localhost:8080/Blog/admin/index跳轉回登錄界面

若登陸成功寫入Cookie:
訪問http://localhost:8080/Blog/admin/index 放行

最近正在寫自己的個人博客,也想把它當作應聘工作時的項目展示,希望大家多給我提提意見,謝謝!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70663.html

相關文章

  • Angular4 動態加載組件雜談

    摘要:最近接手了一個項目,客戶提出了一個高大上的需求要求只有一個主界面,所有組件通過來顯示。 最近接手了一個項目,客戶提出了一個高大上的需求:要求只有一個主界面,所有組件通過Tab來顯示。其實這個需求并不詭異,不喜歡界面跳轉的客戶都非常熱衷于這種展現形式。 好吧,客戶至上,搞定它!這種實現方式在傳統的HTML應用中,非常簡單,只是在這Angular4(以下簡稱ng)中,咋個弄呢? 我們先來了...

    testHs 評論0 收藏0
  • [初識C++] 何為最:心酸歷史

    摘要:上面需要了解的是這倆個版本都是破蛹成蝶的版本世界挑戰榜咋才前三還沒擠進去呀,你想想世界上有幾千中編程語言,在其中脫穎出來,可以說是天之嬌子,鳳毛麟角了。支持正版圖靈上面買吧,如果沒錢買盜版吧學完以后買本正版支持一下,創作不易是吧 ...

    forrest23 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<