添加自定义注解
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,353 条评论
博客作者 RichardNoict
Steam Desktop Authenticator (SDA) – это программа, которая дозволяет пользователям Steam неопасно входить в свои аккаунты и оберегать их от хакерских атак. Она работает по типу двухфакторной аутентификации, что означает, что кроме обычного логина и пароля, нужно дополнительный код для подтверждения входа в акк.
Если вы хотите скачать Steam Desktop Authenticator на Github, следуйте этим шагам:
Steam Desktop Authenticator – это хорошее решение тем, кто хочет обеспечить безопасность своего аккаунта Steam. Программа предоставляет дополнительный уровень защиты от вероятных кибератак и взломов, а также дает возможность удобно и безопасно использовать свой акк Steam.
Не забывайте, что безопасность вашего аккаунта Steam – это главный нюанс в он-лайн-играх, потому внедрение двухфакторной аутентификации, предоставляемой Steam Desktop Authenticator, является образцовым выбором для сохранения безопасности и конфиденциальности ваших данных. Скачайте Steam Desktop Authenticator на Github прямо сейчас и услаждайтесь безопасным и защищенным игровым опытом!
博客作者 tablet
[url=https://albuterolp.com/]where can i buy ventolin over the counter[/url]
博客作者 Timothyunsub
Latest medicine news. Medication leaflet available.
[url=https://biaxin365n.top]where to get generic clarithromycin without insurance[/url]
Comprehensive drug resource. Find medication details.
博客作者 vyvod_iz_zapoya_saMt
Анонимный вывод из запоя: наркология с заботой о вас
вывести из запоя [url=https://www.wyvod-iz-zapoya01.ru/]https://www.wyvod-iz-zapoya01.ru/[/url] .
博客作者 generic
[url=https://vermox.company/]how much is vermox[/url]
博客作者 arenda_yaht_gvKn
Аренда VIP яхт в Сочи: роскошь и стиль на волнах
яхты в сочи аренда [url=https://arenda-yaht-v-sochi02.ru/]https://arenda-yaht-v-sochi02.ru/[/url] .
博客作者 VafroDok
Специальная оценка условий труда
Сейчас на рынке труда создание безопасных условий труда — это приоритет для любой организации. Safety Systems Group предлагает помощь по выполнению СОУТ (СОУТ), направленные на выявление и минимизацию вредных факторов на рабочих участках. Наша миссия — создание безопасных и комфортных условий для каждого сотрудника, что способствует увеличению производительности и мотивации.
Проведение СОУТ: этапы и преимущества
Процесс СОУТ включает основные этапы. На первом этапе подготавливаются и собираются документы, затем специалисты проводят оценку рабочих мест и выявляют риски. На последнем этапе составляется отчет, который содержит рекомендации по улучшению условий труда. [url=https://safetysystemsgroup.com/sout3]СОУТ официальный сайт[/url] не только помогает соблюсти законодательные нормы, и улучшает доверие работников к организации.
Почему наши услуги востребованы?
Наша компания имеет аккредитацию и многолетний опыт в области безопасности труда. Наши эксперты используют современные методы и оборудование для проведения специальной оценки условий труда, обеспечивая точность и объективность оценки. Мы работаем с компаниями различных отраслей, обеспечивая индивидуальный подход и лучшие решения для каждого клиента. Наши услуги по специальной оценке условий труда — это шаг к безопасной и здоровой рабочей среде.
Надежные условия работы — залог успеха.
Гарантия безопасности на рабочем месте — это не только соблюдение нормативных требований, но и внимание к здоровью и комфорту персонала. [url=https://safetysystemsgroup.com/sout3]Оценка факторов условий труда[/url] помогает обнаружить и ликвидировать риски, что ведет к снижению уровня травматизма и повышению эффективности работы. Доверьтесь Safety Systems Group, чтобы создать безопасные условия для своих сотрудников и улучшить атмосферу в коллективе.
博客作者 DarrenOress
В момент выбора материала для строительства бани часто появляется проблема: заказать сруб бани из бревна или из бруса. Оба материала имеют свои преимущества и необыкновенности, и выбор зависит от ваших предпочтений, бюджета и требований к будущей постройке.
Сруб бани из бревна является классическим и долговременным вариантом. Б ревенчатые дома и бани имеют особый шарм и творят уютную атмосферу благодаря натуральности материала. Бревно обладает превосходной термоизоляцией, храня тепло снутри бани, что главно для создания комфортабельных критерий для отдыха.
Но строительство сруба бани из бревна может потребовать дополнительных затрат на обработку и обработку материала. В ходе эксплуатации бревенчатой бани также может потребоваться постоянное обслуживание и уход за деревом, чтобы сохранить его первоначальный вид и характеристики.
С другой стороны, сруб бани из бруса предлагает более современный и универсальный вариант. Брус владеет более ровными и гладкими поверхностями, что упрощает процесс строительства и дает обеспечение более опрятный наружный вид постройки. Брус также обладает хорошей теплоизоляцией и долговечностью.
В момент выбора меж срубом бани из бревна и из бруса важно учесть свои предпочтения по дизайну, бюджет, предполагаемый срок эксплуатации и требования к уровню теплоизоляции. Оба варианта имеют свои достоинства и недостатки, поэтому рекомендуется обсудить свои потребности с специалистами в области строительства бань, чтобы выбрать более подходящий вариант.
В любом случае, какой бы материал вы ни выбрали для сруба бани, важно уделить внимание качеству строительства и материалов, чтобы обеспечить долговечность и комфорт использования вашей будущей бани.
[url=https://bbs.teachersbbs.com/home.php?mod=space&uid=447953]источник[/url]
博客作者 tablet
[url=https://avermox.com/]buy vermox[/url]
博客作者 Timothyunsub
Medicine guide available. Drug facts provided.
[url=https://biaxin365n.top]cheap clarithromycin for sale[/url]
Latest medication developments. Drug specifics here.
博客作者 pill
[url=https://modafinile.com/]modafinil online pharmacy usa[/url]
博客作者 KevinDub
зарегистрироваться на сайте авторадио игра много денег джекпот лотереи торрент заработок в интернете без вложений my cafe игра как заработать деньги заработок денег в интернете не вкладывая денег шкипер гек корабль ттх как сделать чтобы было много денег в игре farming simulator 2013 биглион бонус за регистрацию заработок в интернет с телефона в украине где можно открыть кейсы кс го дешево за теоретический курс шкипера читы на деньги в игре street legal racing redline код бонуса ив роше ноябрь 2016 скачать игры пк экономические бесплатно ставки джекпот кс го
https://entropiques.fr/userinfo.php?uid=31291 world of tanks бонус код т127 https://ruzland.ru/communication/forum/user/2254/ форма согласия супруга на расторжение брака https://no-smoking.tehpodderzka.ru/2016/09/griffin-25.html игры гонки онлайн бесплатно установить https://www.lanedesign.net/?s=%3Ca+href%3D%22https%3A%2F%2Fiphone-skupka-spb.ru%2F%22%3Ehttps%3A%2F%2Fiphone-skupka-spb.ru%3C%2Fa%3E&x=0&y=0 Мощный хостинг https://ds2.edu.sbor.net/index.php?subaction=userinfo&user=uteqycyl
деньги для игры фарминг симулятор 2015 игровой сайт игры в карты джекпот фондовая биржа мегаполис деньги для игр бесплатно coinsup заработка в интернете на опросах программы для андроид по заработку в интернете скачать игры на андроид стар герл с бесконечными деньгами arc бонус коды бонус коды для world of tanks рабочие в вести бонус коды wot
игра дурак на деньги онлайн без вложений https://huibangqyh.cn/home.php?mod=space&uid=179784 бланк договора о расторжении брака https://www.aquanice.co.uk/176/comment-page-1/?unapproved=116311&moderation-hash=0f588f74d33ce6a033b22b6006f8edb9#comment-116311 интернет опросы как заработать https://product-wonderland.blogspot.de/2017/05/produkttest-dr-schedu-argan-jojoba.html игры онлайн с бонусами при регистрации https://forum.farmer.pl/profile/150742-ejadej/ бесплатные прогнозы ставки на футбол хоккей https://ms06.jp/?page_id=2&unapproved=143423&moderation-hash=299004aefb03d7b52859b2a1eec3fa1c#comment-143423
博客作者 pharmacy
[url=https://metforminn.online/]metformin online canada drug[/url]
博客作者 rloud.io
Hello! I could have sworn I’ve been to this blog before but after browsing through some of the post I realized it’s new to me.Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Soxichind
[url=https://sale-cloned-cards.org]Sale Hacked paypal Western UNION[/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://buyclonedcards.co.in]https://buyclonedcards.co.in[/url]