添加自定义注解
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,535 条评论
博客作者 promyshlen_uvSn
Где купить промышленный 3D принтер | Советы по выбору промышленного 3D принтера | Сравнение промышленных 3D принтеров | Продажа промышленных 3D принтеров | Где найти выгодные цены на промышленные 3D принтеры | Какой бренд промышленного 3D принтера выбрать | Почему стоит выбрать промышленный 3D принтер | Совместимость материалов с промышленным 3D принтером | За и против приобретения промышленного 3D принтера
купить промышленный 3d принтер [url=https://www.promddd-printer2.ru]https://www.promddd-printer2.ru[/url] .
博客作者 Lahore call girls
You definitely made the point.|
博客作者 Donaldhaize
Hello there! [url=https://mexicopharm.top/#]legit online pharmacy viagria[/url] very good site.
博客作者 order
[url=https://diflucand.com/]diflucan pills for sale[/url]
博客作者 Duzkaror
Всем привет! Устали от отказов и долгих проверок? Заходите к нам в канал – здесь вы найдете подборку [url=https://t.me/s/mfo_bez_otkaza_vsem]МФО[/url], которые дают займы без лишних вопросов и с минимальными требованиями. Мы каждый день обновляем список, чтобы вы могли выбрать самое выгодное предложение. Быстрые займы, удобные условия и никаких скрытых комиссий – все это ждет вас у нас. Присоединяйтесь!
博客作者 Davidagini
Gambling for skins in the game Counter-Strike: Global Offensive (CSGO) has become a popular and very controversial phenomenon in the world of gambling. A huge number of websites offer for players to place bets on CSGO skins in hopes of winning, making this type of gambling extraordinary attractive for young people and fans of the game.
CSGO Skin Gambling Sites operate on the basis of virtual skins – cosmetic items that players can use to decorate their character in business. Skins can have different values ??and can be swapped, traded or used for betting on different websites.
At CSGO Skin Gambling Sites, players https://technosp.ru/media/pgs/222csgo-skins-gambling-in-russia-best-cs2-gambling-websites-in-russian-federation.html participate in various games, including roulette, dice, coin and others, where they can to place bets on skins and win them in case of luck. Bets can be both on increasing the value of skins, and on exchanging them for other more valuable items.
But it is worth noting that gambling for skins in CSGO often causes controversy conditionally its ethics and legality. Some critics believe that it a form of gambling that may be harmful to players, unusually minors. In addition that such websites can attract cheaters and create a risk to the security of player data.
As a result some countries prohibited skin gambling in CSGO, and Valve, the developer of the fun, took steps to limit this phenomenon. However, more, many websites continue to operate, attracting new players and offering them the opportunity to play for skins in CSGO.
Overall, CSGO Skin Gambling Sites are a unique and exciting form of gambling that its own good and disadvantages. But before participating in such games it is important to assess the risks and be careful to avoid troubles and negative consequences.
博客作者 KevinDub
предприниматель игра экономическая игра андроид mini racing много денег интернет казино джекпот играть бесплатно игровые сайты на компьютер торрент игра магнат с выводом денег взлом игр на деньги читы кейсы кс го магик дроп лучший мониторинг экономических игр скачать игру design this home много денег на андроид бонус коды для демон слеер бонус при регистрации проекты без вложений реальный заработок в интернете без развода бонус коды для ворлд мануал заработок в интернете без вложений заработок в интернете на просмотре новостей
https://perfectbuilding.ru/index.php?subaction=userinfo&user=efevulyh заработок в интернете агент https://bbs.aldgame.com/home.php?mod=space&uid=60643 понятие соглашения о разделе имущества https://seafishzone.com/home.php?mod=space&uid=1303374 онлайн бесплатно гонки на тракторах видео смотреть бесплатно https://www.vennews.net/home.php?mod=space&uid=157734&do=profile&from=space Хостинг для сайта https://www.apicarrara.it/modules.php?name=Journal&file=display&jid=4106
ферма соседи игра с выводом денег вход скачать игру мой говорящий том мод много денег на андроид бесплатно бонус код в онлайн казино fortuna деньги чит на игру мир танков игры на деньги это грех интернет заработки в без заработки вложений бонус код для world of tanks бесплатно 2017 где за игру платят деньги как можно заработать в вконтакте играя в игры игры для школьников на экономическую тему
программа для прописи денег в игре https://www.koelnmedia2.de/fastelovend/member.php?action=showprofile&user_id=15161 закон об автономной некоммерческой образовательная организация https://52yuemei.com/space-uid-119122.html стратегии ставок в спорте https://forum.moto-fan.pl/uzytkownik-itabozoxu бонусы в казино без вейджера https://www.outandaboutinparis.com/2012/09/whats-meaning-of-enterrement-de-vie-de.html заработать в интернете фрилансер https://radhavatika.ac.in/radha-vatikas-wonderful-result-in-2-board-exam-2/?unapproved=12520&moderation-hash=015cb087ed9372bfd826da4a09a71419#comment-12520
博客作者 Donaldhaize
Hi there! [url=https://mexicopharm.top/#]windsor-canada-pharmacy[/url] good web site.
博客作者 儿童色情
Rurulu DAMAR https://nullvips.com https://nulledtr.net https://secretturk.com
博客作者 Fixbet
Hi, just required you to know I he added your site to my Google bookmarks due to your layout. But seriously, I believe your internet site has 1 in the freshest theme I??ve came across.Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 onwin
Hello! I could have sworn I’ve been to this blog before but after browsing through some of the post I realized it’s new to me.Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Onwin
Everything is very open and very clear explanation of issues. was truly information.Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 tablet
[url=https://doxycyclineo.online/]can you buy doxycycline online[/url]
博客作者 Donaldhaize
Hello! [url=https://mexicopharm.top/#]pharmacy express canada[/url] excellent internet site.
博客作者 KevinDub
игровой сайт бесплатно играть код для получения денег в игре симс 3 сайты для серфинга с выводом денег на кошелек деньги к игре обливион бездепозитные бонусы при регистрации в автоматах список лучшие сливы по заработку в интернете скачать приложение на андроид для заработка в интернете скачать игры с мод много денег заработок в интернете комментировать игра нужны деньги 1 видео куда вводить в танках бонус код игра герои 3 читы на деньги игра кубок мутантов 2 с читами на деньги игра гонки на настоящие деньги какой сайт ставки мобильный
https://35.247.101.134/index.php?title=вавада бонус код на 2016 год в вот https://bbs.161forum.com/bbs/home.php?mod=space&uid=277370 ликвидация ооо цена сроки https://zlatremont.ru/index.php?subaction=userinfo&user=ujicexaz игры онлайн бесплатно стрелялки бродилки https://www.lbmoffice.ie/product/avita-liber-i3-14-laptop/?unapproved=13921&moderation-hash=573b55819e23300f352aaac8a9124ec7#comment-13921 Виртуальный хостинг сайтов https://www.techieshah.com/2019/08/eclipse-server-tomcat-v85-server-at.html
детский игровой центр балу в ростове на дону сайт советские настольные экономические игры виртуальный заработок в интернете экономическая игра с выводом денег такси сайты на которых можно заработать деньги для игр сайт для заработка денег без вложений выполняя задания бонус код для казино твист взлома игр на деньги или опыт для андроид открытие кейсов в cs go на сайте смотреть не верьте заработку в интернете
джаст кейс 2 мод на деньги https://popcornchannel.gonna.jp/simpleoekaki/index.php место подачи заявления взыскания долга https://baanjompra.com/webboard/home.php?mod=space&username=eqifod как заработать в интернете от 20000 рублей https://worldpoetry.cn/home.php?mod=space&username=olatejaq тираж 6 из 45 джекпот https://beachhouse-interior.de/index.php/component/kunena/user/24542-ulenah ставки на спорт для начинающих теннис https://mtpkrskstate.ru/forum/user/201203/