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

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - 應用市場中Java攔截器和切面的使用實例詳解

應用市場中Java攔截器和切面的使用實例詳解

2021-03-23 13:28WalkerAlone JAVA教程

這篇文章主要介紹了應用市場中Java攔截器和切面的使用實例詳解,具有一定借鑒價值,需要的朋友可以參考下

相信大家對攔截器切面的概念已經不陌生了,本文我們就看一些在應用市場中,攔截器和切面的使用是怎樣的。

攔截器的使用:每次接收到某個請求之前,都會調用此攔截器中的方法,其中preHandle方法如果return true,表示繼續(xù)調用對應的controller,如果return false,

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public class CheckLoginInterceptor implements HandlerInterceptor {
    private Logger logger = Logger.getLogger(CheckLoginInterceptor.class);
    private static String TOKEN_VALID_MSG ;
    static
      {
        TOKEN_VALID_MSG=JsonUtil.writeObject2JSON(new AMSResultVO(CodeNum.TOKEN_VALID, CodeMessage.TOKEN_VALID));
    }
    public Boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //request.getMethod獲取請求是get,post等
        if ("OPTIONS".equals(request.getMethod()))
             {
            // 指定允許其他域名訪問
            response.setHeader("Access-Control-Allow-Origin", "*");
            // 響應類型
            response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
            // 響應頭設置
            response.setHeader("Access-Control-Allow-Headers", "Content-Type, x-requested-with, X-Custom-Header");
            response.setStatus(204);
            return true;
        }
        // 獲取從header中得到的數據
        String userName = request.getHeader(CommonConsts.PARAM_USER_NAME);
        String userToken = request.getHeader(CommonConsts.PARAM_USER_TOKEN);
        Boolean result = true;
        String method = request.getRequestURI();
        if(method.equals("/ams/fileUpload"))
            {
            return true;
        }
        if(StringUtil.isEmpty(userName) || StringUtil.isEmpty(userToken))
            {
            result = false;
        } else
            {
            result = TokenUtil.validToken(userName, userToken);
        }
        // token校驗失敗
        if(!result)
            {
            response.setContentType("text/html;charset=UTF-8");
            response.getWriter().print(TOKEN_VALID_MSG);
            response.getWriter().flush();
            response.getWriter().close();
        }
        return result;
    }
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    }
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
    }
}

切面的使用:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//壞繞通知:需要攜帶ProceedingJoinPoint類型的參數
//環(huán)繞通知類似于動態(tài)代理的全過程:ProceedingJoinPoint類型的參數可以決定是否執(zhí)行目標方法
//且環(huán)繞通知必須有返回值,返回值即目標方法的返回值。
@Around("execution(* com.sowell.controller.*Controller.*(..))")
  public Object aroundMethod(ProceedingJoinPoint pjd) {
    Object result = null;
    String methodName = pjd.getSignature().getName();
    Object args = Arrays.asList(pjd.getArgs());
    //執(zhí)行目標方法
    try {
        logger.info("request channels begin, param{pageNum:" + methodName + ", pageSize:" + args);
        //前置通知,表示在此之前的代碼會在調用controller之前調用
        result = pjd.proceed();
        recordOprationLog(result, methodName, result);
        //后置通知
        logger.info("Arround:The method "+ methodName+" ends");
    }
    catch (Throwable e) {
        e.printStackTrace();
        //異常通知
        logger.error("Arround:The method "+ methodName+"occurs exception:"+e);
        //throw new RuntimeException(e);
        //不拋出異常的話,異常就被上面抓住,執(zhí)行下去,返回result,result值為null,轉換為int
    }
    //返回通知
    logger.info("Arround:The method "+ methodName+" ends with the Result "+ result);
    return result;
}

總結

以上就是本文關于應用市場中Java攔截器和切面的使用實例詳解的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/qq_28893679/article/details/72841958

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 一区二区三区在线免费观看 | 亚洲欧美日韩在线 | www.99re | 伊人网电影 | 久久久久无码国产精品一区 | 91麻豆精品国产91久久久更新资源速度超快 | 日本天天操 | 97国产在线 | 黄色av网 | 久毛片| 日韩在线观看一区 | 国产成人黄色片 | 最近的中文字幕在线看视频 | 日日夜夜精品免费视频 | 永久黄网站色视频免费 | 狠狠爱天天操 | 亚洲色图p | 日韩av一区二区在线观看 | 欧美一级一区 | 综合久久久久 | 欧美专区在线观看 | 久久精选 | av免费观看网页 | 欧美日韩国产在线播放 | 在线免费看黄视频 | 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲高清在线观看 | 日韩欧美国产一区二区三区 | 精品无码久久久久久国产 | 日韩精品免费一区二区夜夜嗨 | 精品福利av导航 | 亚洲精品综合中文字幕 | 国产成人高清精品免费5388 | 在线视频中文字幕 | 激情五月婷婷丁香 | 欧美视频中文字幕 | www.久久久久久久 | 在线看片你懂得 | www天天干 | 亚洲精品无 | 国产一级特黄 |