添加自定义注解
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,341 条评论
博客作者 Casibom giriş
Thank you for great information. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Casibom giriş
Great post thank you. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 RichardCen
Shiba Inu, time referred to as the "Dogecoin killer," is a meme-based cryptocurrency that has gained meritorious popularity due to its vibrant community and meme-driven appeal. Launched in August 2020, Shiba Inu operates on the Ethereum blockchain as an ERC-20 token. Without considering its fun-loving origins, the think up has evolved to cover its own decentralized reciprocity, ShibaSwap, and plans in place of approaching developments like Shibarium, a layer-2 solution. With its dedicated following, Shiba Inu continues to make waves in the crypto everybody, proving that on a par meme coins can be suffering with serious ambitions.
https://optdar.ru
https://sols9.com/batheo/Forum/User-ShibaInubug
https://bbs.zhizhuyx.com/home.php?mod=space&uid=11242994
https://forum.zplatformu.com/index.php?action=profile;u=1460947
https://segodnya-ntv.ru
https://remont-telefonov-spb-78.ru
https://www.gtcm.info/home.php?mod=space&uid=796056
https://kb11.ru
https://lovechannel.ru
https://wayip.ru
博客作者 LocreizaNiday
When it comes to online gaming, [url=https://judgeacademy.com/events/boomerang-bet-slots-hauptpreise-entdecken-sie-deutsche-klassiker/]boomerang bet[/url] really stands out. They offer an amazing selection of games, from top-notch slots to live dealer experiences that bring the casino to your home. The platform is licensed, so you can trust that your gaming is secure and fair. With a variety of deposit options, including easy-to-use e-wallets, getting into the action has never been simpler. Boomerang Bet is the perfect place to enjoy a safe and exciting online casino experience.
博客作者 Henryheids
Топовый BlackSprut маркетплейс теперь в ТГ канале, проверенные ссылки смотри только у нас! Это уникальная возможность для всех поклонников качественных товаров и услуг, ставшая доступной благодаря интеграции с популярной платформой. В нашем канале мы предоставляем вам самые актуальные предложения, эксклюзивные акции и специальные скидки, которые вы не найдете больше нигде [url=https://t.me/blacksprut_officia]BlackSprut[/url].
Наши партнеры — проверенные производители и продавцы, которые гарантируют высокое качество своей продукции. Мы тщательно отбираем каждую ссылку, чтобы вы могли быть уверены в надежности и безопасности ваших покупок. Улучшенная навигация и структурированный контент делают процесс выбора и покупки максимально удобным и быстрым.
Подписывайтесь на наш канал, чтобы быть в курсе всех новинок и выгодных предложений, которые мы готовим специально для вас. Не упустите шанс насладиться шопингом без лишних хлопот с BlackSprut – вашим надежным помощником в мире онлайн-покупок. Ваш комфорт и безопасность — наш главный приоритет! https://t.me/blacksprut_officia
博客作者 儿童色情片
tulumba
博客作者 MauriceJar
Психиатрия это область медицины, занимающаяся диагностикой, лечением и профилактикой психических расстройств. Современные подходы к психологическому здоровью всё больше акцентируют внимание на необходимости создания безопасной и поддерживающей среды для пациентов. Одним из ключевых качеств таковой среды является анонимность.
Почему анонимность важна?
Психологические расстройства по-прежнему окружены большим множеством легенд и стереотипов. Многие люди боятся обращаться за подмогою из-за страха быть осужденными или некорректно понятыми. Анонимность позволяет избежать тенденциозных суждений и нарушений собственной жизни.
Когда пациенты знают, что их данные не будут раскрыты, им предоставляется возможность более открыто разговаривать о собственных чувствах, симптомах и проблемах. Это существенно облегчает процесс диагностики и позволяет врачу превосходнее осознать состояние пациента [url=https://psy03.ru/]антидепрессанты препараты[/url]
Неизвестные услуги, такие как горячие линии и он-лайн-консультации, делают психиатрическую помощь более доступной для широкой аудитории. Снижение барьеров для обращения за подмогою содействует улучшению общего состояния психического здоровья в обществе.
Анонимные сервисы и их роль
Сейчас существует множество неизвестных сервисов, предоставляющих психиатрическую помощь. Начиная от жарких линий и заканчивая он-лайн-платформами для консультаций, такие сервисы позволяют получить поддержку без необходимости личной встречи. Это в особенности полезно тем, кто живет в удаленных районах или страдают от социальных фобий.
Заключение
Психиатрия играет важную роль в обеспечении психического здоровья, и анонимность является ключевым нюансом для привлечения людей к спецам. Творенье неопасной атмосферы, в каком месте можно открыто обсуждать свои проблемы, помогает разрушать барьеры и способствует улучшению психического состояния народонаселенья. Важно помнить, что забота о своем психическом здоровье более означаема, чем забота о физическом здоровье. Обращение за подмогою это признак силы, а не слабости.
博客作者 Pummy
When I originally commented I clicked the "Notify me when new comments are added" checkbox and now each
time a comment is added I get four e-mails with the same comment.
Is there any way you can remove people from that service?
Thank you!
博客作者 Deteyling_lbki
Лучший детейлинг центр в вашем городе
Авто детейлинг – [url=https://deteylingpro-msk.ru]https://deteylingpro-msk.ru[/url] .
博客作者 Deteyling_yfpl
Превратите свою машину в настоящий шедевр.
Лучший детейлинг – [url=deteyling-cars.ru]deteyling-cars.ru[/url] .
博客作者 Luchshiy_pqpr
Как поддерживать сверкающую чистоту
Detailing – [url=https://deteylingcarservice.ru/]https://deteylingcarservice.ru/[/url] .
博客作者 BruceNeova
Источник https://bs2best.uk/
博客作者 Leonedaok
Любители ставок на спорт могут [url=https://prilozhenie-leon.ru/]скачать БК Леон на андроид[/url] совершенно бесплатно. На сайте букмекера доступна последняя версия мобильного приложения, которое позволяет делать ставки на спорт в любое время.
博客作者 Cami Halıları
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
博客作者 ForrestLoupt
Эндодонтия одну изо важных веток медицины, занимающаяся уходом согласен полостью рта да зубами. В ТЕЧЕНИЕ последние годы Столица показывает заметный рост на области зуболечебных услуг, предлагая свой в доску жителю большой широта возможностей для удерживании самочувствия зубов равно красоты усмешки. В ТЕЧЕНИЕ данной посте будут рассмотрены сегодняшние тенденции, услуги да успехи стоматологии в течение белорусской столице.
Сегодняшние технологические процессы
Эндодонтия на Нашем мегаполисе интенсивно идет в течение ногу с порой, вводя новые научно-технические тяжбы равно технологии лечения. Прогрессивные стоматологические поликлиники оборудованы сверхтехнологичным оборудованием, этаким яко 3D-сканеры, лазеры равным образом рентген аппараты заключительного поколения. Этто разрешит проводить диагностику равным образом исцеление вместе с предельной аккуратностью (а) также наименьшими неудобствами для пациентов.
Спектр услуг
Зуболечебные поликлиники Минска делают хорошее предложение разнородные хостинг-услуги, удовлетворяющие потребности как взрослых, так а также деток:
Профессионализм (а) также яйцеобразование
Стоматологи в течение Минске это высококвалифицированные профессионалы, обладающие крупное яйцеобразование равным образом эмпирия работы. Почти многие с их проходят дополнительное школение и еще сертификацию, чтоб пребывает на линии крайних достижений в течение зоне стоматологии. Областные конференции и еще семинары споспешествуют обмену опытом и внедрению новейших методом исцеления [url=https://stomatologiya-minsk.ru/]https://stomatologiya-minsk.ru/[/url]
Удобство и элементарность
Нынешние стоматологические поликлиники Минска усердствуются создать удобные условия чтобы свой в доску пациентов. Этто охватывает в течение себя комфортное ятси записи, удобные кабинеты а также вежливый персонал. В отдельных больницах учтены программки лояльности также скидки чтобы непрерывных клиентов. Также в течение Минске хоть найти стоматологические середины, которые призывают услуги сверху чужеземных стилях, яко делает ихний вразумительными для иноземцев.
Заключение
Эндодонтия в течение Нашем мегаполисе интенсивно развертывается а также случит хорошее фраза домашним жителям большой широта услуг, укоренение современных технологий да царский ярус профессионализма. Забота что касается здоровье зубов заделывается легкодоступной да комфортной благодаря действиям дантистов а также клиник города. Эпохально держать в голове, яко непрерывные визиты к дантисту и уместная профилактика этто ключ для здоровой равно благовидной ухмылке надолго.