添加自定义注解
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,523 条评论
博客作者 WilliamFurne
Камень искусственного изготовления это материал, который широко употребляется в интерьерном дизайне и ландшафтном дизайне для творения эффектных и элегантных элементов. Он имитирует натуральный камень, но при этом более легок в обработке и установке, что делает его более практичным и удобным материалом.
[url=https://www.fazenda-tv.ru/dt_team/white-hills/]облицовочный камень[/url] применяют для отделки фасадов зданий, стен, каминов, баров, колонн, ступеней, потолков, но также для создания элементов дизайна ландшафта, таких как водоемы, клумбы, дорожки и др.
Преимущества искусственного камня:
Искусственный камень это универсальный и элегантный материал, который поможет создать комфортную и оригинальную обстановку как в помещении, так и на открытых площадках. Его преимущества делают его модным выбором посреди дизайнеров и заказчиков, желающих добавить уникальный шарм и красоту в свое место.
博客作者 Wenychind
[url=https://buyclonedcards.cc]https://buyclonedcards.cc[/url]
Item 01 Card Total Balance: $3100 – Price $ 110.00
Item 03 Cards Total Balance $9600 – Price $ 180.00
Item PayPal Transfers $500 – Price $ 49.00
Item PayPal Transfers $2000 – Price $ 149.00
Item Western Union Transfers $ 1000 – Price $ 99.00
Item Western Union Transfers $ 300 – Price $ 249.00
*Prices on the website may vary slightly
[url=https://buycloned-cards.com]https://buycloned-cards.com[/url]
博客作者 online
[url=https://avermox.online/]where can i buy vermox medication online[/url]
博客作者 Antoniower
Hi! [url=https://erectiledysfunctionpills365.com/#]best ed medication[/url] beneficial internet site.
博客作者 Jerryteels
World of Warcraft (WoW) is one of the most favorite multiplayer online games in the whole in every respect, where players can fight jointly in epic raids to overcome effective bosses and draw unmatched rewards. In whatever way not diverse players by to successfully total raids all enough to their inscrutability and the coordination and test requirements. Recompense those who fondness to get aid and concluded the pounce upon without dispensable problems, there is the WoW Invade Conduct service.
WoW Raid Keep on Service is a service provided aside https://wishestv.com/retirement-wishes/#comment-8231
Incursion Carry services may group various options, large https://originalreformas.com/news/#comment-4536 on the needs of the player. Owing pattern, this could be running a solid loot from start to finish, juncture participation in battles with indicated bosses, leveling up a character, or receiving certain rewards and items . Each player can on the opportunity that is satisfactory suited for himself and collect professional resist from practised players.
WoW Onset Transmit services are wholly extremely habitual surrounded by those who value their stretch https://htxanthuy.com/san-pham/cay-giong-mo-hoa-doa-cu/#comment-3025 don’t fancy spoil it on leveling up and completing bloody-minded raids. It is also a tickety-boo method to recover your skills and conception in the strategy by culture from professionals and getting valuable tips and tips.
Blanket, WoW Invade Convey Usefulness is a commodious and efficient method to complete fussy raids in Community of Warcraft https://shahrespun.com/Product/40110/Success without any extra hassle and problems. Thanks to au fait players and pro relief, every contender can charge out of playing and reach the desired results in inadequate time.
博客作者 drugs
[url=https://lyricamd.online/]lyrica prescription cost[/url]
博客作者 Antoniower
Howdy! [url=https://erectiledysfunctionpills365.com/#]ed medications online[/url] great web site.
博客作者 zapchasti_kamaz_seKt
Запчасти КАМАЗ оптом и в розницу
магазин запчасти камаз [url=https://zapchasty-kamaz01.ru/]https://zapchasty-kamaz01.ru/[/url] .
博客作者 WilliamFurne
Камень искусственного изготовления это материал, который широко употребляется в интерьерном дизайне и ландшафтном дизайне для творенья красивых и стильных частей. Он имитирует натуральный камень, но при этом более легок в обработке и установке, что делает его более практичным и комфортным материалом.
[url=https://1pofasady.ru/raznoe/trotuarnaya-plitka-nadezhnoe-i-praktichnoe-reshenie]декоративный камень[/url] применяют для отделки фасадов зданий, стен, каминов, баров, колонн, ступеней, потолков, но также для сотворения элементов ландшафтного дизайна, таких как водоемы, клумбы, дорожки и др.
Преимущества камня искусственного изготовления:
Камень искусственного изготовления это универсальный и стильный материал, который поможет создать уютную и оригинальную обстановку как в помещении, так и на открытых площадках. Его превосходства делают его пользующимся популярностью выбором посреди дизайнеров и заказчиков, желающих добавить уникальный шарм и красоту в свое место.
博客作者 JosephCog
Отечественная Премьер-Лига (РПЛ) является одну из наиболее популярных футбольных турниров в течение России, скапливая состояние воздыхателей числом круглой стране. С любым сезоном борьба согласен ярл чемпиона останавливается шиздец сильнее забирающей, а также болельщики алчут следить за матчами своих излюбленных команд.
Одну из избранных технологий кайфонуть футболом на https://abdus.se/guest/guestbook.php ровном эфире является упущение онлайн трансляций РПЛ. НЕ БЕЗ; подмогою разных интернет-платформ равным образом стриминговых сервисов вы можете небольшой комфортом засмотреться матчи домашних излюбленных приказов в течение строю действительного периоду, безлюдный (=малолюдный) получаясь изо у себя или офиса.
Суть несколько технологий созерцать онлайн трансляции РПЛ. Многие https://astarta.info/zakaz/?unapproved=212529&moderation-hash=e9af00a094f396e4f2fe0802cd205a08#comment-212529 телевизионные каналы, подобные как "Турнир ТВ", "Россия 1" да др., передают матчи РПЛ в течение ровном эфире на своих официальных веб-сайтах чи приложениях. Тоже живут специальные онлайн-платформы, экие как "Созерцать тип-кикк он-лайн" чи "LiveTV", кои дают трансляции футбольных матчей в течение всамделишном времени.
Для того чтобы смотреть онлайн трансляции РПЛ, для вас что поделаешь пендюрить прочное интернет-соединение https://xianham.com/home.php?mod=space&uid=189245&do=profile равным образом электроустройство, даровитое восстанавливать в памяти видео. Большинство ресурсов дают эвентуальность выбора особенности ютуб, яко дозволяет настроить поток в соответствии с вашими надобностями также полномочиями интернет-соединения.
Просмотр он-лайн трансляций РПЛ – отличный способ таиться в течение ориентации и стар и млад футбольных происшествий и еще хворать согласен свой в доску команду вживую. Благодаря технологиям стриминга, топерва вы можете быть от кого в восторге выступлением личных излюбленных футбольных клубов в течение что угодно спокойное ятси да ямыжник, находясь хронически сверху связи один-два сообща спорта.
Бессчетно пропустите ни одной важной зрелище РПЛ и радуйтесь футболом хором один-два миллионами болельщиков с всего тест, досматривая согласен передачами он-лайн а также поддерживая собственную команду до самого последнего свистка судьи.
博客作者 drugs
[url=https://adexamethasonep.online/]dexamethasone 0.5 mg tablet price[/url]
博客作者 pill
[url=https://bacclofen.online/]buy baclofen online australia[/url]
博客作者 DonaldSex
Бурение проколов способом ГНБ (горизонтально-направленное бурение) является важным и инновационным методом проведения работ в геологии, горнодобывающей промышленности, строительстве и других отраслях. Этот метод дает возможность создавать горизонтальные или наклонные скважины с высокой точностью и минимальными повреждениями окружающей среды.
ГНБ является эффективным https://www.stellarlotusnotesrecovery.com/?unapproved=98936&moderation-hash=442c3189b58b5829998a20fa18146399#comment-98936 методом проходки скважин в сложных геологических условиях, в каком месте традиционные методы производства буровых работ неэффективны или невозможны. Применение данного метода позволяет получить доступ к месторождениям угля, газа, нефти, воды и прочим находящийся под землей ресурсам, а также проводить прокладку коммуникаций, строительство подземных сооружений и другие работы.
Главные превосходства бурения проколов методом ГНБ включают в себя:
Важно отметить, что для успешного проведения бурения проколов методом ГНБ требуется квалифицированный персонал, специализированное оборудование и тщательное планирование работ. Этот способ является многообещающим направлением развития по части бурения и геологических исследований и способствует увеличению эффективности процессов добычи и строительства.
博客作者 online
[url=https://amoxicillinir.online/]amoxicillin 320 mg[/url]
博客作者 новые займы
Привет! Надоели банки с их вечными отказами? Тогда вам к нам! В нашем канале мы собрали все [url=https://t.me/s/mfo_bez_otkaza_vsem]МФО[/url], которые реально дают деньги без лишних вопросов. Хотите получить займ быстро и просто? У нас только проверенные компании с самыми выгодными условиями. Подписывайтесь и будьте в курсе лучших предложений каждый день. Деньги уже ждут вас!