添加自定义注解
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,306 条评论
博客作者 Новые МФО займ под залог на карту
Когда деньги нужны срочно, ожидание становится неприемлемым. Круглосуточные займы без проверок и отказов – идеальный выход из сложной ситуации. [url=https://t.me/s/mfo_2024_online]Новые МФО быстрые займы до 30 000[/url] работают 24/7, предоставляя возможность получить деньги в любое время дня и ночи. Процесс оформления прост и доступен каждому, кто достиг 18 лет. Мгновенный перевод на карту позволяет решить финансовые вопросы без лишних задержек – деньги будут у вас тогда, когда они действительно нужны.
博客作者 Boomerangde.com
In conclusion [url=https://boomerangde.com/]boomerang bet[/url] is more than just a casino; it’s a all-in-one gaming hub that delivers something for everyone. Whether you’re playing for the excitement of the game or the anticipation of winning, boomerangde.com is the perfect choice. Don’t miss out—join today and begin your adventure all the amazing opportunities that are waiting!
博客作者 Rolandbig
Medication leaflet available. Patient drug facts.
[url=https://propecia365n.top/#]buy propecia germany[/url]
Patient drug facts. Drug impacts explained.
博客作者 Doberttip
[url=https://torsite.biz]Deep Web Tor[/url]
[url=https://torsite.biz]Links Tor sites deep[/url]
博客作者 Larryvinge
Балясина это элемент архитектурного дизайна, который служит поддержкой для перил и ограждений, а также принципиальной составной долею лестниц, веранд и балконов. В заключительные годы все большее внимание уделяется натуральным материалам, и деревянные балясины занимают особенное место в этом тренде. В данной статье мы рассмотрим преимущества деревянных балясин, их виды, этапы изготовления и советы по уходу.
Преимущества деревянных балясин
Виды деревянных балясин
Древесные балясины могут различаться по форме, стилю и материалу. Более популярные виды:
Этапы производства древесных балясин
Уход за деревянными балясинами
Чтобы деревянные балясины служили [url=https://ekolestnica.ru/stupeni-dlya-lestnits.html]леруа ступени для лестницы из дерева[/url] долго и веселили глаз, важно следовать нескольким простым советам по уходу:
Заключение
Балясины из дерева это не только функциональный элемент, но и принципиальная деталь декора, способная изменить внешний вид любого места. Их разнообразие форм и стилей дозволяет каждому выбрать идеальный вариант, который поможет создать атмосферу комфорта и гармонии. При правильном уходе древесные балясины могут служить верой и правдой на протяжении длительного периода, украсив ваш собственный дом.
博客作者 BobbyEvavy
i was reading this [url=https://myjaxxwallet.us]jaxx classic wallet[/url]
博客作者 Boomerangde
In closing [url=https://boomerangde.com/]boomerang-bet[/url] is more than just a casino; it’s a comprehensive gaming hub that offers something for everyone. Whether you’re in it for the excitement of the game or the joy of winning, boomerangde.com is the perfect choice. Don’t miss out—register today and dive into all the fantastic opportunities that are waiting!
博客作者 Mfolreta
Микрофинансовые организации понимают, что деньги могут понадобиться внезапно. В отличие от банков, здесь вы получите займ без отказа, даже если ваша кредитная история оставляет желать лучшего. Процесс оформления займов упрощен до минимума – не нужно собирать множество документов и ждать одобрения. [url=https://t.me/s/mfo_2024_online]Новые МФО займ без отказа онлайн[/url] готовы предоставить займ практически каждому, кто достиг 18 лет. Получите нужную сумму быстро и без отказов!
博客作者 boomerangcasinode
Another attractive feature of [url=https://boomerangcasinode.com/]boomerang casino deutschland[/url] is its focus to responsible gambling. The casino offers players with tools and guidance to regulate their playing patterns effectively, ensuring a balanced approach between enjoyment and responsible gaming. The support staff is also on hand to support with any problems or questions, delivering fast and professional service to boost the overall player experience.
博客作者 CharlesDub
Каковы долгосрочные последствия нелеченных акне? – Нелеченные акне могут привести к постоянным рубцам, темным пятнам и психологическим последствиям, таким как снижение самооценки и тревожность.
What are the long-term effects of untreated acne? – Untreated acne can lead to permanent scarring, dark spots, and psychological effects like reduced self-esteem and anxiety.
выдавливание черных прыщей на спине [url=https://www.allmedweb.ru/]https://www.allmedweb.ru/[/url] .
博客作者 BONUSdrype
Список бонусов казино https://booi-site-casino.ru/
Получите увлекательные вознаграждения при регистрации, депозите и игре. Уникальные предложения для новичков и постоянных игроков. Забирайте свои выигрыши и наслаждайтесь игрой.
Преимущества игры в проверенных онлайн казино с бонусами
Игра в онлайн казино с бонусами – это отличная возможность получить дополнительные выгоды и увеличить свои шансы на победу. Проверенные казино предлагают различные виды бонусов, которые могут быть доступны как новым игрокам, так и постоянным посетителям.
Одним из главных преимуществ игры в проверенных онлайн казино с бонусами является возможность начать играть с дополнительными финансовыми средствами. Большинство казино предлагает депозитный бонус, который предоставляется при первом пополнении счета. Такой бонус может составлять определенный процент от суммы депозита или же фиксированную сумму. Это значительно увеличивает ваш стартовый капитал и позволяет делать более выгодные ставки.
博客作者 Larryvinge
Балясина это элемент архитектурного дизайна, который служит поддержкой для перил и огораживаний, а также главной составной частью лестниц, веранд и балконов. В заключительные годы все большее внимание уделяется натуральным материалам, и древесные балясины занимают особенное место в этом тренде. В данной статье мы рассмотрим преимущества деревянных балясин, их виды, этапы производства и советы по уходу.
Превосходства деревянных балясин
Виды деревянных балясин
Деревянные балясины различаются по форме, стилю и материалу. Более популярные виды:
Этапы производства древесных балясин
Уход за деревянными балясинами
Чтобы древесные балясины служили [url=https://ekolestnica.ru/nozhki-kabriol.html]кабриоль[/url] долго и веселили глаз, главно следовать нескольким простым советам по уходу:
Заключение
Балясины из дерева это не только многофункциональный элемент, но и принципиальная деталь декора, способная поменять наружный вид любого пространства. Их разнообразие форм и стилей дает возможность каждому выбрать идеальный вариант, который поможет сделать атмосферу уюта и гармонии. При правильном уходе древесные балясины могут служить верой и правдой на протяжении многих лет, украсив ваш дом.
博客作者 RichardCen
Shiba Inu, commonly referred to as the "Dogecoin killer," is a meme-based cryptocurrency that has gained momentous popularity meet to its vibrant community and meme-driven appeal. Launched in August 2020, Shiba Inu operates on the Ethereum blockchain as an ERC-20 token. In defiance of its frisky origins, the enterprise has evolved to include its own decentralized exchange, ShibaSwap, and plans with a view future developments like Shibarium, a layer-2 solution. With its dedicated following, Shiba Inu continues to make waves in the crypto have, proving that equanimous meme coins can attired in b be committed to severe ambitions.
https://gockhuat.net/member.php?u=199536
https://www.ironlifting.it/forum/member.php?u=208864
https://kosportal.ru
https://egopartners.free.fr/phpBB2/profile.php?mode=viewprofile&u=99
https://segodnya-ntv.ru
https://www.jade-crack.com/home.php?mod=space&uid=1186701
https://kb22.ru
https://wayip.ru
https://www.ilcirotano.it/annunci/author/shibainugak/
https://www.ihaomeijia.com/home.php?mod=space&uid=140837
博客作者 DanielMAk
Patient medication leaflet. Get pill info.
[url=https://mexicanxlpharmacy.com/sildalis.html]buy sildalis no rx[/url]
Pill facts provided. Comprehensive medicine resource.
博客作者 Garerchind
[url=https://buy-prepaid-cards.cvv2cvc.net]https://buy-prepaid-cards.cvv2cvc.net[/url]
Item 01 Card Total Balance: $3 100 – Price $ 110.00
Item 03 Cards Total Balance $9 600 – Price $ 180.00
Item PayPal Transfers $500 – Price $ 49.00
Item PayPal Transfers $2 000 – Price $ 149.00
Item Western Union Transfers $1 000 – Price $ 99.00
Item Western Union Transfers $300 – Price $ 249.00
*Prices on the website may vary slightly
[url=https://buyprepaidcards.cvv2cvc.net]Shop Cloned cards[/url]