添加自定义注解
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,581 条评论
博客作者 Eduardolix
Hi! [url=https://mexicopharm.top/#]cialis canadian pharmacy[/url] very good website.
博客作者 akne_bdOr
Как гормональный дисбаланс влияет на акне? – Гормональный дисбаланс, особенно во время полового созревания, менструации, беременности и синдрома поликистозных яичников (СПКЯ), может приводить к увеличению выделения кожного сала и акне.
How does hormonal imbalance affect acne? – Hormonal imbalances, particularly during puberty, menstruation, pregnancy, and polycystic ovary syndrome (PCOS), can lead to increased oil production and acne.
мазь от акне на спине [url=https://allmed-info.ru/]мазь от акне на спине[/url] .
博客作者 drug
[url=https://amoxicillinir.online/]generic trimox[/url]
博客作者 newcratos giriş
Thank you great post. Hello Administ .Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 国产线播放免费人成视频播放
şırpa kuloan https://hacktr.net https://illegalcommunity.org https://illegalz.org
博客作者 ZavkeaKig
Устали получать отказы при оформлении займов? [url=https://zaim-vsem.online/]ZAIM-VSEM.ONLINE[/url] — ваше решение! У нас собраны новые и малоизвестные МФО, где займы одобряются даже при наличии просрочек по кредитам. Более 44 организаций готовы помочь вам с финансированием.
На сайте [url=https://zaim-vsem.online/]ZAIM-VSEM.ONLINE[/url] вы найдете экспертные советы и консультации по выбору наиболее выгодных займов. Процесс оформления займа максимально простой и быстрый. Получите займ на карту без отказа и забудьте о финансовых трудностях. Действуйте сейчас и решите свои проблемы с [url=https://zaim-vsem.online/]ZAIM-VSEM.ONLINE[/url]!
博客作者 Eduardolix
Hi there! [url=https://mexicopharm.top/#]zloft candian pharmacy no script[/url] excellent website.
博客作者 Turkishclub.tv: фэнтези сериалы из Турции
Если вы хотите [url=https://turkishclub.tv/]смотреть турецкие сериалы на русском языке[/url], то turkishclub.tv — это лучший выбор! Почему? Потому что у нас представлен широкий выбор сериалов всех жанров и годов выпуска. Наши пользователи ценят высокое качество HD видео и отсутствие рекламы.
Погружайтесь в мир турецкого кинематографа без лишних хлопот. Удобная навигация по сайту и постоянные обновления делают просмотр максимально комфортным. Присоединяйтесь к сообществу, которое уже оценило все преимущества turkishclub.tv. Смотрите любимые сериалы на русском языке с удовольствием!
博客作者 Fixbet
Great post thank you. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Fixbet
Nice article inspiring thanks. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Klining_SPb_afpt
Профессиональный клининг СПб: Уборка квартир и домов
Сервис уборки [url=uborka12.ru]uborka12.ru[/url] .
博客作者 WisertaPruff
Окна недорого в Иркутске fod38.ru
Превосходные по свойствам и стоимости ПВХ окна производят здесь! Приглашаем Вас на Фабрику окон и дверей в Иркутске, чтобы купить выдающиеся пластиковые окна для вашей квартиры или дачи. Мы значимся производителем, поэтому у нас небольшие цены и отличное качество, на которое предоставляется гарантия. Изготовление происходит в самые быстрые сроки, а также монтаж настоящими профессионалами.
На интернет ресурсе fod38.ru Вы найдете всю важную информацию о нашей компании, окнах, контакты и как сделать заказ. Представляем 3 варианта ПВХ окон: эконом, стандарт и премиум, где отличительной чертой будет представляться цена/качество. Выбирайте необходимый Вам вариант или просите консультацию от профессионала, какой именно осуществить выбор в определенном случае.
По запросу [url=https://fod38.ru/osteklenie-balkonov/]застеклить балкон иркутск[/url] мы обязательно Вам окажем помощь. Окна от нашей фабрики являются экологичными, так как в них не содержится свинец. После установки, в комнате будет бесшумно и спокойно, а также безопасно для детей, ведь мы делаем ручки с замком. Все ПВХ окна с защитой УФ, а также их просто мыть, комфортно проветривать и они впишутся в любой дизайн.
Если Вы хотели найти [url=https://fod38.ru/ofisnye-peregorodki/]иркутск офисные перегородки[/url] – то переходите на указанный сайт. На сайте fod38.ru можно оформить заказ на бесплатный замер окон. Это лучшее решение, чтобы не терять своё свободное время, ведь договор можно оформить прямо на дому. Замерщик ответит на все Ваши вопросы, покажет примеры и фотографии, примет к сведению все ваши пожелания и сделает четкий замер с расценками.
Звоните по телефону +7(3952)656-226 или приходите в один из офисов, по адресу: г. Иркутск, ул. Байкальская, д. 105 А, оф. 101. Работаем с понедельника по пятницу с 9:00 до 17:30, воскресенье – выходной день. Будем рады установить Вам самые лучшие окна.
博客作者 Hectorrah
Услуга демонтажа частных домов сегодня пользуется большой популярностью, так как многие покупают участки с целью ликвидации старых строений.
Для выполнения этой сложной задачи необходимы услуги специализированной компании, которая возьмет на себя все организационные моменты, включая вывоз строительного мусора.
Чтобы произвести снос дома, нужно провести тщательный анализ его конструкции, что позволяет создать план действий и выбрать подходящую технику.
Компания vitebsk.demontazh-stroy.by с радостью предлагает свои услуги по демонтажу и разборке жилых зданий любой конструкции, будь то кирпичная, щитовая, каркасная или другая технология.
Состояние здания не имеет значения, так как мы эффективно выполняем снос домов, предоставляя услуги быстро, профессионально и по разумной цене [url=https://id.pinterest.com/pin/1143984742839273453/]Снос домов и демонтаж, вывоз строительного мусора Витебск[/url]
博客作者 generalnay_uborka_odkl
Генеральная уборка дома в Санкт-Петербурге – Заказать профессиональный клининг
генеральную уборку [url=https://www.genuborka1.ru]https://www.genuborka1.ru[/url] .
博客作者 elenty
Join the society of successful people who make money here.] https://t.me/cryptaxbot/17?eviliavek67Vek