添加自定义注解
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,245 条评论
博客作者 canadian pharmaceuticals online safe
Thanks , I have just been looking for info about this subject for a while and yours is the best I have discovered so far. But, what in regards to the conclusion? Are you positive about the source?
博客作者 JanetQuare
Благодарю за статью!
Мы предлагаем [url=https://fod38.ru/]окна пвх[/url], которые значительно повысят ваш уровень комфорта. Наши изделия соответствуют всем требуемым норма, обеспечивая надежную защиту от холода и шума. За счет многокамерной конструкции и энергоэффективным стеклопакетам, вы сможете существенно сократить расходы на отопление!
Каждое изделие выполняется с учетом пожеланий наших покупателей. Мы даем гарантию на высокое качество и долгий срок службы наших изделий — все окна имеют сертификаты качесьва.
Профессиональная установка от наших спецов обеспечит идеальную герметичность и надежность. А наш сервис по обслуживанию сделает использование окон беззаботным!
Пластиковые окна от фабрики окон и дверей в Иркутске — ваш комфорт начинается здесь!
博客作者 грузоперевозки рф
Перевозки по РФ любых грузов liga-dostavok.ru
По запросу [url=https://www.liga-dostavok.ru/]калькулятор стоимости доставки груза по россии[/url] Вы на нужном пути. Сейчас очень много организаций, которые обещают доставить груз в срок и по низким расценкам. У нас ещё большое количество радостных клиентов, которые советуют наш сервис всем близким. Главное наше преимущество это актуальная доставка, бесплатный забор от 5-ти заказов, несение материальной ответственности.
博客作者 AveryOccuh
[url=https://kraken13.co.at/]kra1 cc[/url] – kra1 cc, kra1.at
博客作者 Lexarcqr
Сэкономьте на выезде эвакуатора! Узнайте, как без проблем найти и вызвать [url=https://megaevakuator.by]эвакуатор дешево[/url] с минимальными затратами.
博客作者 generic viagra online pharmacy
What’s up, all is going well here and ofcourse every one is sharing data, that’s really good, keep up writing.
博客作者 canadian drugstore
Hello just wanted to give you a brief 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 browsers and both show the same results.
博客作者 IrvingBug
Купить бюстгальтер онлайн – это удобно и просто! Выберите бюстгальтер, который подходит именно вам, из огромного ассортимента моделей, представленных в интернет-магазинах. На сайтах можно найти бюстгальтеры для любых потребностей – спортивные, для кормления, push-up, без косточек, с максимальной поддержкой, с кружевом, для свадебного платья, для открытых платьев, для спины на крест, с пуш-ап эффектом и с глубоким декольте. Как выбрать бюстгальтер? Определите свой размер и форму груди, выберите модель, которая подходит именно вам, и оформите заказ. Бюстгальтеры для большой груди обеспечивают максимальную поддержку и комфорт, а спортивные бюстгальтеры подходят для активного образа жизни. Бюстгальтеры для кормления удобны и практичны, а бюстгальтеры push-up создают эффект увеличения груди. Бюстгальтеры без косточек и с кружевом подходят для повседневной носки, а бюстгальтеры для свадебного платья и открытых платьев – для особого случая. Не забудьте выбрать бюстгальтер с максимальной поддержкой, если вам нужна дополнительная поддержка груди. [url=https://www.ozon.ru/seller/242390]Бюстгальтеры с кружевом[/url] – это быстро, удобно и выгодно!
博客作者 canada pharmaceuticals online
What i do not understood is in reality how you are now not really much more smartly-preferred than you might be now. You are very intelligent. You understand therefore considerably in terms of this matter, produced me individually believe it from numerous numerous angles. Its like women and men don’t seem to be fascinated except it’s something to do with Woman gaga! Your own stuffs excellent. At all times care for it up!
博客作者 Быстрые деньги на карту онлайн
В текущем году оформить кредиты в сети на банковскую карту стало ещё быстрее. Сегодня на сфере кредитования представлено свыше 40 микрофинансовых организаций, предлагающих оформить быстрые кредиты в любое время суток. Для выдачи кредита нужно только паспорта, и оформление требует небольшое время. Также, если у вас плохая кредитная история, вы можете получить займ. МФО предлагают лояльные условия и мгновенные выплаты, что обеспечивает этот метод получения финансирования выгодным для всех.
Если вам требуются деньги быстро, вы можете обратиться к услугами [url=https://kroystroy.ru/communication/forum/user/4041/]займы без отказа на карту[/url] которые доступны абсолютно всем. Это хорошее выбор для тех, кто не желает ждать долгое время и нуждается в быстром доступе к средствам. Также существуют предложения [url=https://bestnet.ru/support/forum/index.php?PAGE_NAME=profile_view&UID=139729]онлайн займы на карту срочно без отказа[/url] что обеспечивает получить кредит без задержек и отказов.
博客作者 Danieltup
There are many popular live sex cam sites that cater to all different preferences and desires. Some of the most popular ones include Chaturbate, MyFreeCams, LiveJasmin, and Flirt4Free.
Chaturbate is known for its diverse selection of cam models, ranging from amateur performers to professional porn stars. It offers a unique "tip-based" system, where viewers can tip the performers for special requests or to show their appreciation.
MyFreeCams is a popular choice for those looking for a more personalized experience, as many of the models offer private shows for a fee. It also has a large community aspect, with forums and chat rooms for viewers to interact with each other and the models.
LiveJasmin is known for its high-quality video and audio, making it a top choice for viewers who value a visually stimulating experience. It also has a wide range of categories, allowing viewers to easily find the type of performer they are looking for.
Flirt4Free is a popular site for those looking for a more intimate and interactive experience. It offers a variety of features such as cam-to-cam shows and interactive sex toys, making it a favorite among viewers who enjoy a more immersive experience.
Overall, these live sex cam sites offer a diverse range of performers and features to cater to all types of desires and preferences. Their popularity shows that the demand for live sex cams continues to grow as people seek out new and exciting forms of sexual entertainment.
https://www.obesityhelp.com/members/freedog1969/about_me/
https://permacultureglobal.org/users/64964-brendan-faria
https://www.obesityhelp.com/members/galei911957/about_me/
https://www.obesityhelp.com/members/vickee1972/about_me/
https://cannabis.net/user/155068
博客作者 wbahis
Thank you for great content. Hello Administ. Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 canada pharmaceuticals online generic
It’s an remarkable article in favor of all the online viewers; they will obtain advantage from it I am sure.
博客作者 доставка грузов по россии
Дальние грузоперевозки по России liga-dostavok.ru
По теме [url=https://www.liga-dostavok.ru/]транспортные перевозки по россии[/url] Вы на правильном пути. Сейчас весьма много организаций, которые обещают доставить груз вовремя и по низким ценам. У нас также большое количество довольных заказчиков, которые советуют наш сервис всем близким. Главное наше преимущество это актуальная доставка, бесплатный забор от пяти заказов, несение материальной ответственности.
博客作者 list of canadian pharmaceuticals online
Somebody essentially help to make seriously articles I’d state. That is the first time I frequented your website page and thus far? I surprised with the research you made to make this particular publish amazing. Magnificent process!