添加自定义注解
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,339 条评论
博客作者 order
[url=https://diflucanr.online/]cheap diflucan[/url]
博客作者 Reseller Hosting
Thank you for great article. Hello Administ .Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 vds sunucu
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
博客作者 prescription
[url=https://vermoxin.online/]vermox in usa[/url]
博客作者 medication
[url=https://iclomid.com/]clomid 100mg price[/url]
博客作者 Timothyunsub
Latest medication developments. Drug guide available.
[url=https://biaxin365n.top]can i buy cheap clarithromycin without insurance[/url]
Medication overview available. Patient drug leaflet.
博客作者 restoyar.ru
Имея в виду [url=https://restoyar.ru/]адрес ресторана яр[/url] переходите на указанный онлайн ресурс. На сайте можно увидеть наше меню, сделать заказ, заказать столик или позвонить нам. Контактный номер телефона +7(3412)223-225 или делайте заказ прямо на сайте. В разделе «доставка готовых блюд» откроется наше гастрономическое меню. Обратите своё внимание на оформление блюда при заказе, это настоящее искусство. Приготовление также у нас неповторимое, таким образом можете не переживать перед заказом для ваших гостей.
博客作者 https://skachat-mediaget-fast.ru
Медиагет предлагает уникальную функцию категоризации контента, что значительно упрощает поиск нужных файлов. На https://skachat-mediaget-fast.ru пользователи могут ознакомиться с подробным описанием этой функции. Программа автоматически сортирует файлы по типам (фильмы, музыка, игры, программы и т.д.), что позволяет быстро находить интересующий контент. Кроме того, Медиагет предлагает возможность создания пользовательских категорий, что еще больше упрощает организацию скачанных файлов.
博客作者 tablets
[url=https://acyclovirmc.com/]acyclovir 5 cream over the counter[/url]
博客作者 drug
[url=https://strattera.company/]strattera cost uk[/url]
博客作者 Soyrtazae
Специальная оценка условий труда
На современной рынке труда обеспечение здоровья сотрудников — это важнейший приоритет для любой организации. Компания Safety Systems Group предлагает услуги по проведению СОУТ (СОУТ), направленные на выявление и минимизацию вредных факторов на местах работы. Цель компании — создание комфортных и безопасных условий для всех сотрудников, что повышает производительность и мотивацию.
Преимущества и этапы СОУТ для вашей компании
Процедура специальной оценки условий труда состоит из нескольких этапов. Сначала идет подготовка и сбор документов, затем специалисты проводят оценку рабочих мест и выявляют риски. На завершающем этапе оформляется отчет, включающий рекомендации по улучшению условий труда. [url=https://safetysystemsgroup.com/sout3]СОУТ специальная оценка условий труда цена москва[/url] не только помогает соблюсти законодательные нормы, и улучшает доверие работников к организации.
Почему клиенты выбирают нас?
Наша компания имеет аккредитацию и значительный опыт в сфере охраны труда. Наши эксперты используют современные методы и оборудование для проведения специальной оценки условий труда, что гарантирует точность и объективность оценки. Мы оказываем услуги компаниям разных отраслей, предлагая индивидуальный подход и оптимальные решения для каждого клиента. Наши услуги по специальной оценке условий труда — ваш шаг к безопасной и здоровой рабочей атмосфере.
Надежные условия работы — основа успешного бизнеса.
Обеспечение надежных условий работы — это не только выполнение нормативов, но и внимание к здоровью и комфорту персонала. [url=https://safetysystemsgroup.com/sout3]Экспертный центр специальной оценки условий труда[/url] позволяет выявить и устранить потенциальные угрозы, что уменьшает травматизм и повышает рабочую эффективность. Приходите в Safety Systems Group, чтобы обеспечить своим сотрудникам достойные условия труда и улучшить общий климат в коллективе.
博客作者 Timothyunsub
Pill details provided. Interactions explained here.
[url=https://biaxin365n.top]how can i get clarithromycin pill[/url]
Drug guide available. Patient drug info.
博客作者 KevinDub
читы на деньги для онлайн игр скачать бесплатно о мультфильме кенгуру джекпот бонус код на сегодня лучшие сайты с халявой для кс го игра на андроид csr racing много денег заработок на бирже через интернет для начинающих вся правда о чит для денег в игре farming выиграл джекпот на сайте русское лото многоразовые бонус коды вот 2017 вулкан казино игровые автоматы официальный сайт бонус код куплю партнерка заработка в интернете моментальные лотереи москвы основные правила игры в покер на деньги сайт про игры и новости игровые
https://buhtarma.ru/users/esujidelo игры для nintendo яндекс деньги https://nigerian.website/profile.php?u=icakyq когда положена компенсация морального вреда https://www.zoolife55.ru/product/urinary-so-feline-kurica/reviews/ гонка на выживание 3 фильм смотреть онлайн https://pirat.iboards.ru/viewtopic.php?f=20&t=21568 Хостинг для проектов https://uapa.station171.com/forum/home.php?mod=space&uid=294169
слив программ по заработку в интернете все автоматы метро джекпот заработок в интернете с минимальными вложениями без обмана не пирамида игры чтоб получать деньги банк онлайн игра с выводом денег введи код и получи бонусы вещи или баллы triple дота хаус i игры 21 на реальные деньги очко заработок без вложений и рисков купить игровой готовый сайт работа в интернете заработок на дому без
дорама джекпот смотреть онлайн бесплатно русская озвучка https://www.9kuan9.com/home.php?mod=space&uid=882834 саморегулируемая организация некоммерческое партнерство проектировщики свердловской области https://garmoniya.uglich.ru/index.php?subaction=userinfo&user=azywyzog ставки транспортного налога в ленинградской обл https://www.podzemie.6f.sk/profile.php?lookup=17683 заработок в сети без вложений bitcoin https://prefabrikhavuz.com.tr/merhaba-dunya/?unapproved=254354&moderation-hash=363ebfc21526b11a6018818c5a722b95#comment-254354 как заработать на создании рекламы в интернете https://longlive.com/node/1487
博客作者 ресторан ваще огонь
Самая вкусная еда тут – [url=https://restoyar.ru/]доставка вкусной еды из ресторана[/url] заходите уже сегодня. Мы расположены по адресу: г. Ижевск, ул. Максима Горького, д. 163. Режим работы с 12:00 до 00:00, а в пт и сб с 12:00 до 2:00 ночи. Приглашаем Вас и Ваших близких фантастически провести время или сделать заказ на restoyar.ru на дом и побаловаться вкусной едой в своей привычной обстановке.
博客作者 Peterlep
Drug details provided. Drug trends described.
[url=https://mexicanharmine.online/#]walgreens online pharmacy[/url]
Dosing guidelines here. Access medicine information.