添加自定义注解
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,270 条评论
博客作者 JosephDep
В последние годы вебкам-промышленность набирает популярность, привлекая внимание как исполнителей, так и созерцателей. Вебкам студии с проживанием это специальные заведения, в каком месте модели могут включая исполнять свои повинности, но и жить, что создает комфортные условия для работы и творчества.
Что такое Вебкам Студия с Проживанием?
Веб-камера студия с проживанием предоставляет место, где модели могут проводить время на съемках, но также жить в комфортных условиях. Как правило, такие студии оборудованы всем нужным для профессиональной работы: высококачественной техникой, освещением, декорациями и приватными комнатами.
Превосходства Работы в Вебкам Студии с Проживанием
Как Выбрать Вебкам Студию с Проживанием?
Важно учитывать несколько аспектов в момент выбора студии:
Заключение
Вебкам студия с проживанием готов стать отличным стартом для продвижении по службе в индустрии веселий для взрослых. Это место, в каком месте можно не только зарабатывать деньги, но и развивать свои творческие способности в комфортных условиях. Однако перед тем как принять решение, принципиально тщательно изучить каждую студию и выбрать ту, которая соответствует вашим ожиданиям и требованиям. Удачи в вашем начинании!
博客作者 Genahjyx
Рассматриваете [url=https://izmelchiteli-zerna.by]молотковая дробилка[/url]? Узнайте больше о функциях этого типа дробилки для надежного измельчения зерна.
博客作者 Pashaceof
Если вам срочно нужны деньги, узнайте, как без лишних сложностей [url=https://take-loan.ru]взять займ[/url]. Это удобный способ пополнить бюджет в любое время.
博客作者 JosephDep
В последние годы веб-камера-индустрия набирает популярность, привлекая внимание как исполнителей, так и зрителей. Вебкам студии с проживанием это специальные заведения, в каком месте модели могут не только выполнять свои повинности, да и жить, что создает комфортабельные условия для работы и творчества.
Что есть Вебкам Студия с Проживанием?
Вебкам студия с проживанием предоставляет место, где модели могут проводить время на съемках, а также жить в комфортабельных критериях. Обычно, такие студии оборудованы абсолютно всем необходимым для профессиональной работы: качественной техникой, освещением, декорациями и приватными комнатами.
Превосходства Работы в Веб-камера Студии с Проживанием
Как Избрать Вебкам Студию с Проживанием?
Важно учитывать несколько качеств при выборе студии:
Заключение
Вебкам студия с проживанием может стать отличным стартом для карьеры в промышленности развлечений для взрослых. Это место, где можно не только лишь зарабатывать деньги, но и развивать свои творческие способности в комфортных условиях. Однако прежде чем решиться, главно кропотливо изучить каждую студию и выбрать ту вот, которая соответствует вашим ожиданиям и требованиям. Фортуны в вашем начинании!
博客作者 matadorbet
Thank you for great information. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Casino siteleri
Good info. Lucky me I reach on your website by accident, I bookmarked it. Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 fixbet
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
博客作者 Pashakiac
Хотите получить деньги, не выходя из дома? Узнайте, как быстро оформляются [url=https://hzaim.ru]займы онлайн[/url], чтобы обеспечить себя деньгами в любое время.
博客作者 Ritarprw
Would you like to create your own version of? Check out our instructions to help you quickly [url=https://custom-signature.ru]create my signature[/url].
博客作者 KevinDub
ставки кс го дабл игры в facebook на деньги самые лучшие настольные экономические игры заработок в интернете статистика i бонус казино без депозита бонус код для новых аккаунтов 2016 скачать бесплатно игру jetpack joyride много денег подземные игры много денег видео ворлд оф танк бонус коды 2016 игра по выводу денег чит на деньги для игры гта 4 игры снимают деньги с телефона лодка шкипер читы на деньги в игре drag racing скачать игру гонки водных мотоциклов 3d мод много денег
https://sweetaromaclean.com/hello-world/#comment-5263 заработок в интернете для подростков 16 https://igniteyourproductivitycoachinggroup.biz/author/admin/ расторжение брака вид гражданского судопроизводства https://www.chartercab.fi/2020/02/24/hello-world/#comment-4675 играть в строительные стратегии онлайн https://stephidrexler.com/lifestyle/mein-festivalsommer/?unapproved=59302&moderation-hash=f4709af93b3302c01eb6d87cc05ba79e#comment-59302 Хостинг для сайта https://projectradio.dk/hello-world/#comment-8527
игра с выводом денег pokemon играть в любимую игру и получать за это деньги играть в игру на которых можно заработать реальные деньги кейс 1 бесплатно заработок в интернете в долларах 2015 купить кейсы в cs go за бесплатно кс го ставки до 50 рублей бонус код 2017 март скачать игры экономический скачать игру на андроид zombie diary 2 с бесконечными деньгами и алмазами
заработок на скачивании фильмов из интернета https://clubdellector.edhasa.es/foro/viewtopic.php?f=6&t=58579&p=383418#p383418 юридическая консультация метро дмитрия донского https://esmtheagency.com/2023/03/28/tik-tok-takes-a-turn/#comment-31294 делаешь ставки на спорт https://skylinkelevator.store/2017/01/23/non-vestibulum-lacus-sociosqu-hac/ игра на деньги в контру https://www.healthystacey.com/healthymind/20131018detox-weekend-recap/ налоговые ставки по транспортному налогу 2013 москва https://www.digicube.de/forum/threads/355099-Philosophy/page2?p=542290&posted=1#post542290
博客作者 matadorbet
Thank you for great content. Hello Administ. Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Fixbet
Thank you for content. Area rugs and online home decor store. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 https://onwingirisenson.framer.website
https://onwingirisenson.framer.website
博客作者 wbahis giriş
Nice article inspiring thanks. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 wbahis giriş
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