添加自定义注解
package org.book.configuration.aop; import java.lang.annotation.*; @Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface NoCheckLogin { }
创建一个SpringMvcHandler 类,继承HandlerInterceptorAdapter
package org.book.configuration.Handler; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.book.common.JsonResult; import org.book.configuration.aop.NoCheckLogin; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.lang.reflect.Method; @Slf4j public class SpringMvcHandler extends HandlerInterceptorAdapter { public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HandlerMethod hm = null; Method method = null; if(handler instanceof HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod();// 获取方法 } else { return true; } // 该方法是否添加 允许未登录访问注解 if (method !=null && method.isAnnotationPresent(NoCheckLogin.class)) { // 不拦截 return true; } String name = (String) request.getSession().getAttribute("user"); if (name != null) { return true; } else { response.setCharacterEncoding("UTF-8"); response.setContentType("application/json; charset=utf-8"); PrintWriter out = null; try { out = response.getWriter(); out.append(new JSONObject().toJSONString(JsonResult.renderFail("用户未登录")) ); }catch (Exception e){ out = response.getWriter(); out.append(new JSONObject().toJSONString(JsonResult.renderError("后台出错"))); log.info(e.getStackTrace().toString()); } return false; } } }
被@NoLoginCheck注解的方法不会被拦截在springmvc配置文件配置拦截路径和排除路径
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:mapping path="/"/> <mvc:mapping path="/index.jsp"/> <mvc:exclude-mapping path="/assets/**"/> <mvc:exclude-mapping path="/images/**"/> <bean class="org.book.configuration.Handler.SpringMvcHandler"></bean> </mvc:interceptor> </mvc:interceptors>
1)预处理preHandle()方法
用户发送请求时,先执行preHandle()方法。会先按照顺序执行所有拦截器的preHandle方法,一直遇到return false为止,比如第二个preHandle方法是return false,则第三个以及以后所有拦截器都不会执行。若都是return true,则执行用户请求的url方法。
2)后处理postHandle()
方法调用了Service并返回ModelAndView,但未进行页面渲染,可以在这里继续修改ModelAndView
3)返回处理afterCompletion()
方法已经渲染了页面,在afterCompletion中,可以根据ex是否为null判断是否发生了异常,进行日志记录。注:一般使用preHandle这个拦截器进行预处理,对url进行请求拦截
Comments | 13,433 条评论
博客作者 Sarıca Cami Halısı
Thank you for great content. Hello Administ. Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 online pharmacy
Genuinely when someone doesn’t know after that its up to other people that they will assist, so here it occurs.
博客作者 canada online pharmacies
Everything composed was very logical. However, think about this, suppose you were to create a awesome post title? I am not suggesting your content isn’t good., however what if you added a headline that makes people want more? I mean %BLOG_TITLE% is a little vanilla. You ought to peek at Yahoo’s home page and note how they write article titles to get people interested. You might add a video or a picture or two to get readers interested about everything’ve written. In my opinion, it might bring your blog a little bit more interesting.
博客作者 medical pharmacy
Good day! I know this is kinda off topic but I was wondering if you knew where I could locate a captcha plugin for my comment form? I’m using the same blog platform as yours and I’m having trouble finding one? Thanks a lot!
博客作者 list of canadian pharmaceuticals online
Hi! I’ve been following your website for a long time now and finally got the bravery to go ahead and give you a shout out from New Caney Texas! Just wanted to mention keep up the fantastic work!
博客作者 list of canadian pharmaceuticals online
Hurrah, that’s what I was exploring for, what a data! present here at this blog, thanks admin of this website.
博客作者 KennethScabs
кс го обмен скинами кейсы скачать игровую виндовс 10 64 бит с официального сайта заработок в интернете без вложений на кликах qiwi отзывы сайты для заработка без вложений видео сложная экономическая стратегия игра экономическая игра парк юрского периода бонус коды варпланес баг на сайте с кейсами с деньгами купить бонус коды для warface заработать денег на онлайн играх вконтакте для игр деньги как взломать игру mount and blade на деньги немного о заработке в интернет заработок в интернете на видеоиграх обзор игр экономические
https://103.224.192.183/login/enc/comments drakensang как ввести бонус код https://www.shikhavivek.com/2019/10/things-to-check-while-buying-smart-plugs.html бесплатная юридическая консультация краснодар ул https://fukuta-shuujiatyourservice.com/sunbbs/sunbbs.cgi?mode=form&no=24088&page=1/ эротические игры стрелялки онлайн https://angelteam.uv.ro/profile.php?mode=viewprofile&u=213024 Хостинг VDS https://vetchka.ru/snippets/25147/edit
бесплатная онлайн игры экономическая стратегия как заработать играя на торгах скачать игры на андроид plants vs zombies 2 мод много денег много денег в игре разрушители бездепозитные бонусы казино 2016 с выводом без пополнения пассивный заработок в интернете ютуб игры с выводом денег смешарики как заработать скины в кс го бесплатно играя в агарио банк втб 24 в уфе официальный сайт процентные ставки по игра накапливать деньги
открыть бесплатный кейс в кс го https://www.lawfirmidea.com/bbs/board.php?bo_table=free&wr_id=173621 анализ субконто контрагенты договоры https://olddle.orkclub.ru/index.php?subaction=userinfo&user=yzipe ставки на спорт это моя профессия https://santodomingooesteinforma.blogspot.de/2016/04/elecciones-del-2016-el-pld-los-yankees.html деньги для игры в магазин в детском саду распечатать рубли https://worldartdalia.blogspot.ru/2015/06/blog-post_92.html книги о ставках на спорт скачать бесплатно https://www.bj1777.com/dzbbs/home.php?mod=space&username=ijomohu
博客作者 canadian online pharmacies legitimate
Very rapidly this web site will be famous amid all blog users, due to it’s nice content
博客作者 KubovWoodquorb
Хорошая статья, спасибо!
В качестве благодарности хочу поделиться информацией: деревянные наличники на окна и двери в Санкт-Петербурге для для загородных домов являются превосходных выбором среди владельцев коттеджей.
[url=https://kub-era.ru/nalichniki]Наличник лиственница купить[/url] для домов – это превосходный вариант, сочетающий в себе отличный внешний вид, прочность и экологическую чистоту. Если у вас есть желание придать своему коттеджу особый шарм, обратите внимание на наличники из массива дерева.
В Санкт-Петербурге работает много организаций, которые занимаются изготовлением и монтажем деревянных наличников. Одна из них – компания КубЭра. Предлагает большой ассортимент моделей, цветов и отделок.
博客作者 Чужой Ромул
Чужой Ромул https://bit.ly/watch-film-tag-movies-chuzhoi-romul-new-2024
博客作者 Kennethsnals
Comprehensive medicine overview. Drug facts here.
[url=https://propecia365n.top/#]buy finasteride online[/url]
Medication effects explained. Dosing guidelines here.
博客作者 canada pharmaceuticals
Undeniably believe that which you said. Your favorite reason appeared to be on the net the simplest thing to be aware of. I say to you, I certainly get annoyed while people think about worries that they just don’t know about. You managed to hit the nail upon the top as well as defined out the whole thing without having side-effects , people could take a signal. Will probably be back to get more. Thanks
博客作者 prescription drugs from canada
If you desire to grow your knowledge only keep visiting this web site and be updated with the hottest gossip posted here.
博客作者 online drugstore
Today, I went to the beachfront with my kids. I found a sea shell and gave it to my 4 year old daughter and said "You can hear the ocean if you put this to your ear." She placed the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear. She never wants to go back! LoL I know this is entirely off topic but I had to tell someone!
博客作者 KennethScabs
деньги грузчиков игра сайты для ставок на спорт леон премиум на 1 день wot 2017 бонус код игры магазинов мод много денег рейтинг онлайн игр с выводом денег бонус коды для герои и генералы лучший заработок в интернете бинарные опционы топ 5 заработков в интернете без вложений экономические биткоин игры монополия настольная игра правила экономическая бонус при регистрации без депозита покер старс на коды на деньги к игре в вконтакте скачивай игры для телефонов и получай деньги на телефон онлайн игра с выводом денег invest town игры на андроид нова 3 много денег скачать бесплатно
https://www.4homeimprove.com/cat-f1/home.php?mod=space&uid=92678 проги для заработка в интернете реально https://kotogi.com/grbbs_hsk/apeboard_plus.cgi раздел имущества при разводе примеры https://probki.vyatka.ru/content/reshenie-1542012 игры губка боб гонки играть бесплатно онлайн https://www.sawineimport.dk/2023/10/lismore-besoeger-alleroed/?unapproved=1635421&moderation-hash=ecc438751840a554253213cc4ff214bb#comment-1635421 Виртуальный хостинг сайтов https://bbszy.com/home.php?mod=space&uid=6072
freedom для покупки денег в играх скачать на андроид игру джетпак много денег скачать игру сабвей серф с читом на деньги на андроид игры для девочек одевалки на деньги интернете дополнительный заработок в заработок заработок на конкурсах в интернете казино дает бонус бездепозитный как взломать игру на деньги plants vs zombies онлайн игра стратегия с выводом реальных денег без вложений реклама на сайте игровой портал
i казино бонус без депозита играть 60 минут на деньги казино https://karagandasobaka.kabb.ru/viewtopic.php?f=26&t=4617 произвести раздел совместно нажитого имущества https://www.tutublue.com/blogs/news/try-these-unique-ideas-for-valentines-day бот для ставок на спорт скачать https://www.zgqsz.com/home.php?mod=space&uid=393243 код бонуса в ла редут https://mbukckschkalovsk.ru/2020/10/15/1180/?unapproved=41255&moderation-hash=a564de3fd8fd36963bb5e8d1a1c7ab38#comment-41255 бесплатные ставки на спорт без депозита 2017 https://bcrenov.com/livre_or.php