添加自定义注解
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,203 条评论
博客作者 Casibom
After all, what a great site and informative posts, I will upload inbound link – bookmark this web site? Regards, Reader.Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Casibom giriş
Nice article inspiring thanks. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 MartinVesse
[url=https://trjpscan.top]трипскан топ[/url] – tripscan top войти, tripscan top
博客作者 Genamkqt
Рассматриваете [url=https://izmelchiteli-zerna.by]молотковая дробилка[/url]? Узнайте больше о преимуществах этого типа дробилки для эффективного измельчения зерна.
博客作者 Robertcal
Казино Вавада: Обзор и особенные предложения
Казино Вавада это одно из модных онлайн-казино, которое завлекает внимание игроков своим многообразием игр и щедрыми бонусами. Сделанное с целью предоставить юзерам уникальный опыт, Вавада делает отличное предложение как классические забавы, так и современные слоты.
Игровой ассортимент
Вавада гордится своим широким выбором игр, включая:
Призы и акции
Казино Вавада делает отличное предложение ряд привлекательных призов для новых и постоянных игроков:
Регулярные юзеры [url=https://www.laptopsystemboardrepair.com/?unapproved=296547&moderation-hash=4668834be08f6be7321b0a6d84f1933b#comment-296547]https://www.laptopsystemboardrepair.com/?unapproved=296547&moderation-hash=4668834be08f6be7321b0a6d84f1933b#comment-296547[/url] имеют возможность получить кэшбэк на свои потери, что делает игру менее рискованной.
Безопасность и поддержка
Безопасность игроков является приоритетом для Вавада. Казино использует современные технологические процессы шифрования для высокой защиты личных данных и финансовых транзакций. Также доступна квалифицированная служба саппорта, которая готова посодействовать с любыми вопросами.
博客作者 KubovWoodquorb
Хорошая статья, спасибо!
В качестве благодарности поделюсь с вами информацией: наличники из дерева на окна и двери в СПб для для загородных домов являются превосходных выбором среди владельцев коттеджей.
[url=https://kub-era.ru/nalichniki]Купить наличники[/url] для коттеджей – это отличный выбор, который сочетает в себе эстетику, прочность и экологическую чистоту. Если вы хотите придать своему загородному дому особый шарм, рассмотрите деревянные наличники.
В Питере существует множество компаний, которые занимаются изготовлением и монтажем деревянных наличников. Одна из них – компания КубЭра. Предлагает большой ассортимент наличников на любой вкус.
博客作者 autonomer-dublikat.ru
Что делать, если вам выдали дубликат госномера
жирные гос номера с флагом [url=https://www.autonomer-dublikat.ru#жирные-гос-номера-с-флагом]https://www.autonomer-dublikat.ru[/url] .
博客作者 XRumer23daurb
Hey people!!!!!
Good mood and good luck to everyone!!!!!
博客作者 kompleksna_zlmi
Какие услуги включены в комплексную мойку автомобиля?, для долговечности обивки и кузова.
Автомойка комплекс [url=kompleks-moyka.ru]kompleks-moyka.ru[/url] .
博客作者 kompleksna_njOl
Что нужно для комплексной мойки машины в гараже, полезные советы.
Комплексная автомойка [url=https://moyka-kompleks.ru]https://moyka-kompleks.ru[/url] .
博客作者 Ubrat_gqPt
Эффективные способы убрать вмятины на кузове без покраски, Избавляемся от вмятин на автомобиле без лишних затрат
Устранение царапин на автомобиле без покраски [url=https://remont-vmyatin-bezpokras.ru/]https://remont-vmyatin-bezpokras.ru/[/url] .
博客作者 Genadmma
Ищете надежная [url=https://izmelchiteli-zerna.by]зернодробилка[/url] для вашего хозяйства? Ознакомьтесь с тем, как подобрать правильное решение.
博客作者 Jamescog
Halt tuned as a service to the latest join highlights, including goals, indication moments, and expert analysis.
We purposefulness update this divide up with video highlights and timbre moments from the meeting after the mate https://www.rayovallecanovsbarcelona.ru/.
博客作者 Scottlet
To fascinate and commission customers, Mostbet offers a variety of promotions and bonuses:
Operator Observation
Mostbet has designed its tenets with consumer skill in mind. The website and quick app are intuitive, making it easy to cruise and identify betting options. The rostrum supports multiple languages and currencies, catering to a extensive audience.
Safe keeping https://8tracks.com/irina-m-108806 and Payment Options
Mostbet prioritizes guaranty, employing advanced encryption technologies to protection buyer observations and transactions. The tenets offers a variety of payment methods, including credit/debit cards, e-wallets, and cryptocurrencies, ensuring smooth deposits and withdrawals.
Fellow Stomach
Mostbet provides saving except bloke assignment, with a dedicated fortify span accessible 24/7 to talk any questions or issues. Players can reach away from via animate rap, email, or phone towards assistance.
Conclusion
Mostbet is an appealing option for sports betting enthusiasts, sacrifice a different rank of sports markets, yielding betting options, attractive promotions, and a seamless user experience. With its strapping weight on fastness and bloke certify, Mostbet stands extinguished as a responsible stand because both hip and au fait bettors. If you’re looking to elevate your betting contact, Mostbet is definitely worth exploring.435r
博客作者 RalphPag
Отопительное оборудование: Виды, Механизмы работы и Выбор
Отопительное оборудование играет ключевую роль в создании комфортабельного локального климата в жилых и нежилых помещениях, особенно в холодное сезон. Верный выбор и установка отопительных систем обеспечивают тепло и комфорт, также способны существенно снизить затраты энергии. В данной статье мы рассмотрим основные виды отопительного оборудования, их преимущества и недочеты, также советы по выбору.
Виды отопительного оборудования
Принцип работы: Котлы газовые используют природный либо сжиженный газ в хорошем качестве источника энергии. Горючее сжигается, выделяя тепло, которое передается теплоносителю (воде) и распределяется по системе.
Превосходства:
Недочеты:
Принцип работы: Электронные котлы работают за счет нагрева воды с помощью электрических нагревательных частей.
Превосходства:
Недостатки:
Принцип работы: В этих котлах используется древесина, уголь, пеллеты или иные виды твердого топлива. Сжигание топлива создает тепло, которое нагревает воду.
Преимущества:
Недостатки:
Механизм работы: Конвекторы нагревают воздух, который затем поднимается вверх, создавая приток свежайшего воздуха с низу [url=https://noprost.com/news/kak-rabotayut-konvektornye-batarei-otopleniya.html]конвектор отопления[/url]
Преимущества:
Недочеты:
Принцип работы: Эти обогреватели нагревают предметы и поверхности в комнате, а не воздух. Они излучают инфракрасное тепло, которое поглощается находящийся вокруг объектами.