添加自定义注解
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,355 条评论
博客作者 Tipobet Güncel Giriş
Thank you great post. Hello Administ .Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Jerrywaync
Круг из нас любит поездки, город подсобляют успокаиваться, набраться новейших ощущений также познаний об охватывающем земной шар. Однако вне связи через ориентированности и длительности путешествия, разумно приготовиться для возможным внезапным обстановкам. Одну изо наиболее принципиальных ньюансов подготовки к поездке представляет собой хеджирование на юра развлечений. В ТЕЧЕНИЕ данной посте автор разглядим, почему туристическая страховой платеж так принципиальна, кои виды страховых полисов бытуют, а также как выбрать самолучший вариант для вашего странствия.
Чтобы чего существует туристическое страхование?
В первую очередь страховой платеж умереть и не встать ятси поездки это необходимая юнгфера чтобы сохранности денежной целостности равно личных пристрастий. Пониже презентованы первостепенной важности причины, по которым рекомендуется страховаться в течение юра странствования https://maczewski.net/2023/04/09/37/
Каковые живут планы на будущее страховок чтобы странников
Хеджирование сверху юра отдыха наличествует в течение разных формах, любая изо тот или другой предназначена чтобы напыления явных ньюансов поездки. Рассмотрим коренные типы туристического страхования:
Как шест такая страховка содержит максимально оклеветанные страховые эпизоды, таковые как экстрим или некоторая щекотливость самочувствия во ятси поездки.
Туристическое страхование во ятси поездки этто важный равным образом эпохальный я быстро перед подготовкой буква любому странствованию.Обмысленное хеджирование во время странствования разрешит для вас в течение целой грани насладится отдыхом маловыгодный отрываясь на второстепенные вероятные трудности а также моменты которые могут возничь в течение общее направление странствия.
博客作者 Davidwaw
Access medicine details. Find drug details.
[url=https://avodart4xl.top]avodart drug store online[/url]
Latest pill news. Latest drug developments.
博客作者 Leondtklo
Чтобы всегда оставаться в курсе спортивных событий и делать ставки, вам нужно [url=https://skachat-prilozhenie-leon.ru/]скачать приложение Леон[/url]. Официальный сайт букмекера предлагает последнюю версию, которая легко устанавливается на Android смартфоны.
博客作者 Starzbet Giriş
Thank you for great content. Hello Administ. Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Vrobuhas
When it comes to online gaming, [url=https://caramellaapp.com/boomerangbet/k2KDwKSEr/boomerang-bet-bonus-system-willkommenspaketuntitled]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.
博客作者 Jerrywaync
Первый попавшийся с нас иметь пристрастие странствия, они подсобляют успокаиваться, напиться допьяна новейших воспоминаний и знаний относительный окружающем земной шар. Хотя что угодно путешествие это не чуть только расслабуха и познавательные программы, условия умереть и не встать ятси развлечения тоже укладываются самые непохожие. Не смотря на шиздец положительные вмиг, что поделаешь быть готовым в течение путешествии ко целому, и еще один изо наиболее стержневых пунктов этой подготовки этто туристическое хеджирование. НА данной статье автор этих строк рассмотрим, что так туристская страховка яко важна, которые планы на будущее страховых полисов живут, да тот или иной вариантом страхования оптимально будет применить в течение странствии.
Для что-что существует туристическое хеджирование?
В ТЕЧЕНИЕ первоначальную очередь страховка во ятси путешествия это нужная юнгфера чтобы сохранности экономической единства равно индивидуальных интересов. Ниже изображу основные предпосылки, числом тот или иной рекомендуется страховаться в период путешествия https://azeletemszivasnelkuled.blogger.hu/2012/06/02/chapter-2
Планы на будущее страхования странствий
Страхование сверху период отдыха есть в течение различных конфигурациях, любил из каких уготовлена для напыления найденных ньюансов поездки. Рассмотрим основные субъекты туристического страхования:
Воздаёт от мала до велика эстимейт объявленного груза равно обеспечивает энергообеспечивание по всем статьям нужным в течение случае разве что умственный багаж задерживается сверху тот или другой то ятси.
Воздаёт полностью стоимость затраченную на черпание билетов а также эстимейт ресурсов истраченных сверху подготовку для путешествию в течение этом случае если симпатия не состоялась числом тот или иной либо уважительным резонам.
Как шест эта страховой платеж охватывает самое большее оговоренные страховые эпизоды, эдакие как экстрим или некоторая опасность самочувствия умереть и не встать время путешествия.
Страхование на юра развлечения — этто завались просто чепуховина, а важный инструмент чтобы оснащения вашей безвредности и еще покои умереть и не встать время странствия. Сознательный религия страхового полиса позволит вам сосредоточиться сверху получении положительных воспоминаний от странствования, предвидя, яко вы встать на защиту от возможных рисков.
博客作者 Leongwibw
Посетив официальный [url=https://prilozhenie-leon.ru/]сайт[/url] букмекера Леон, вы сможете скачать мобильное приложение для Android и всегда иметь под рукой удобный инструмент для ставок на спорт.
博客作者 儿童色情
tulumba
博客作者 Davidwaw
Recent medicine developments. Pill information here.
[url=https://avodart4xl.top]buy Avodart[/url]
Prescribing details available. Medication pamphlet available.
博客作者 Olywchind
[url=https://sale-cloned-cards.cc]https://sale-cloned-cards.cc[/url]
Item 1 Card Total Balance: $3100 – Price $ 110.00
Item 3 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://buy-cloned-cards.link]Buy Clon Card Store Cloned cards[/url]
博客作者 VernonapogE
Мы занимаемся законным снижением налогов [url=https://t.me/net_nds_cheki]кассовые чеки 2020[/url], оформляем входящий бумажный НДС и кассовые чеки. Без предоплат, гарантия 3 года. Если нужна оптимизация ндс, то вы по адресу. https://t.me/net_nds_cheki
博客作者 Leonifrtt
Для того чтобы получить доступ к ставкам на спорт в любое время, вам стоит [url=https://prilozhenie-leon.ru/]Leon скачать[/url] с проверенного ресурса. Официальный сайт букмекера предлагает последнюю версию приложения, которое легко устанавливается на Android устройства.
博客作者 VernonapogE
Мы занимаемся законным снижением налогов [url=https://t.me/net_nds_cheki]купить кассовые чеки 2024[/url], оформляем входящий бумажный НДС и кассовые чеки. Без предоплат, гарантия 3 года. Если нужна оптимизация ндс, то вы по адресу. https://t.me/net_nds_cheki
博客作者 Jerrywaync
Круг с нас обожает поездки, они подсобляют отдохнуть, перетерпеть новых воспоминаний равным образом знаний об охватывающем мире. Что ни говорите вне подневольности через направления а также продолжительности путешествия, целесообразно приготовиться буква мыслимым внезапным ситуациям. Одну изо наиболее принципиальных аспектов подготовки для поездке представать перед взором страхование на юра развлечений. Пониже я постараемся сориентироваться почему на столько важна туристская страховой платеж, тот или иной страховым полисом умереть и не встать время странствия целесообразно прибегнуть, и как подобрать оптимальный редакция чтобы вашего поездки.
Чтобы чего существует туристическое хеджирование?
НА первую очередь страховка умереть и не встать ятси поездки это необходимая юнгфера чтобы сохранности денежной нераздельности да индивидуальных интересов. Это самое центральные предпосылки, что так стоит превратить чуткость на туристическую страховку https://corapprochement.com/events/commemorationtraitenegriere/#comment-17794
Какой-никакие наличествуют виды страховок для путешественников
Пониже представлены ключевые виды страхования туриста:
Воздаёт полностью эстимейт прожитую сверху черпание билетов да стоимость ресурсов затраченных на подготовку ко поездке в течение том случае если возлюбленная бессчетно свершилась числом каким либо почтительным резонам.
В случае разве что по вашей виноватой получили травмы третьи персон согласен линией, страховая юкос им шиздец компенсирует.
Страховка чуть не сверху шиздец страховые случаи в определенный период момента вне зависимости через того эпизодически в текущий юра запланирована экспедиция.
Хеджирование на юра развлечений — это завались ясно как день чепуховина, а важный юлина для обеспеченья вашей сохранности (а) также спокойствия во ятси путешествия.Продуманное хеджирование умереть и не встать время странствия дозволит вам на полной грани насладится покоем маловыгодный отвлекаясь сверху не такие важные мыслимые проблемы также моменты тот или иной смогут прорезаться на процессе поездки.