添加自定义注解
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,381 条评论
博客作者 Kuphdaurb
[url=https://t.me/s/dostavka_alcoholmsk]доставка алкоголя москва пятерочка[/url]
博客作者 Kuphdaurb
[url=https://t.me/s/dostavka_alcoholmsk]алкоголь ночью в нижнем новгороде доставка[/url]
博客作者 Robertswats
Medication leaflet provided. Pill essentials explained.
[url=https://lasix4xl.top/#]buy furosemide no prescription[/url]
Drug information here. Latest medication developments.
博客作者 what is defined as any cryptocurrency that is not bitcoin?
Hi there just wanted to give you a quick heads up and let you
know a few of the images aren’t loading properly.
I’m not sure why but I think its a linking issue. I’ve tried it in two different web browsers and both show the same outcome.
博客作者 国产线播放免费人成视频播放
tulumba
博客作者 Edwardfluff
Топовый BlackSprut маркетплейс теперь в ТГ канале [url=https://t.me/blacksput_off]BlackSprut[/url]! Мы рады сообщить вам, что теперь все самые актуальные предложения, уникальные товары и выгодные акции доступны в нашем официальном канале. Зачем тратить время на поиски? Мы собрали для вас только проверенные ссылки и качественные предложения, чтобы ваше шопинг-опыт стал еще более приятным и безопасным.
В нашем канале вы найдете эксклюзивные скидки и распродажи, которые доступны только подписчикам. Каждый день мы обновляем ассортимент, чтобы вы могли быть уверены в актуальности информации. Кроме того, мы регулярно проводим розыгрыши и акции, где у вас есть шанс выиграть ценнейшие подарки!
Не упустите возможность быть в курсе всех новинок и получать выгодные предложения первыми. Присоединяйтесь к нашему сообществу, где шопинг становится не только выгодным, но и удобным. Следите за нашими публикациями, делитесь своим мнением и находите любимые товары без лишних хлопот. Ваш идеальный шопинг начинается здесь — в черном мире BlackSprut! https://t.me/blacksput_off
博客作者 CornellBet
Discover the convenience of purchasing online accounts at https://AccStores.com. Our verified accounts are secure, reliable, and available for instant delivery. Whether for social media or email, we have the accounts you need to get started quickly.
Head to Website:
https://accstores.com
Grateful!
博客作者 Boomerang
Why settle for ordinary when you can experience extraordinary? [url=https://usa.life/read-blog/63818_was-genau-bedeutet-es-wenn-jemand-von-einem-quot-live-online-casino-quot-spricht.html]boomerang[/url] is where the excitement never stops! With an incredible range of games from top developers, every spin and every deal offers something new and thrilling. Plus, the platform is fully licensed, ensuring you play in a secure environment. Fast and easy deposits mean you’re just a few clicks away from endless fun. Boomerang Bet is your go-to destination for a gaming experience like no other!
博客作者 Robertswats
Abuse effects detailed. Medication trends described.
[url=https://lasix4xl.top/#]order furosemide[/url]
Latest medication developments. Pill essentials explained.
博客作者 JosephNaigh
Experts predict a competitive bout with Fulham probable having the upper hand on tenterhooks due to their higher position in the association and recent form. On the other hand, Birmingham’s home gain could pressurize because an electrifying encounter.
Predicted Accompaniment: Birmingham 1 – 2 Fulham https://www.birminghamvsfulham.ru.
博客作者 Juliuspal
Drug facts provided. Access drug data.
[url=https://mexicopharmacy.top/#]no prescription online pharmacy[/url]
Medicine essentials explained. Patient drug info.
博客作者 JosephNaigh
Experts portend a competitive contest with Fulham likely having the sharpness apposite to their higher position in the federation and recent form. Anyhow, Birmingham’s digs advantage could originate for an amazing encounter.
Predicted Bevies: Birmingham 1 – 2 Fulham https://birminghamvsfulham.ru.
博客作者 VictorHer
В современном мире налоги и налогообложение становятся все более сложными аспектами ведения бизнеса. НДС, как один из ключевых элементов налоговой системы, требует специализированного подхода. Снижение НДС может оказать значительное влияние на финансовые результаты компании, и именно поэтому бухгалтерия играет важную роль в этом процессе [url=https://www.youtube.com/@Corleone-Channel]как снизить налоги[/url].
На каналах, посвященных налогообложению и бухгалтерскому учету, можно найти множество видеоматериалов, которые помогут глубже понять, как легально снизить налоговое бремя. Налоговый консалтинг становится важным инструментом для предпринимателей, стремящихся оптимизировать свои налоговые обязательства. В 2024 году особенно актуально обсуждать новые стратегии снижения налогов и адаптации к изменяющимся условиям.
Каналы, как Corleone, предлагают интересный контент по финансовому консалтингу и дают советы о том, как эффективно использовать доступные инструменты для снижения налогов. Если вы хотите узнать больше, стоит обратить внимание на видео, которые раскрывают актуальные методы и практики налоговой оптимизации. https://www.youtube.com/@Corleone-Channel
博客作者 betine giriş yap
hey admin nice website
博客作者 Lohychind
[url=https://prepaidcards.cvv2cvc.com]Clon Credit cards Market Cloned card[/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://sale-clonedcards.cvv2cvc.com]https://sale-clonedcards.cvv2cvc.com[/url]