添加自定义注解
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,285 条评论
博客作者 Termburg.ru
Термальный комплекс — это уголок отдыха в сердце Москвы, организованный для тех, кто высоко ценит качественный отдых и заботу о здоровье. Удобно расположенный по месту Гурьянова 30, комплекс Термбург предлагает разнообразный спектр релаксационных и расслабляющих услуг. На веб-странице [url=https://termburg.ru/]termburg.ru[/url] вы найдете детальное список всех представленных процедур, в числе которых уникальные парения, массажи и спа-процедуры, проводимые ведущими профессионалами.
博客作者 bokep indo
First of all I would like to say superb blog! I had a quick question in which I’d
like to ask if you don’t mind. I was interested to know how you center yourself and
clear your thoughts prior to writing. I’ve had trouble clearing my thoughts in getting my thoughts out.
I truly do enjoy writing but it just seems like the first 10 to 15 minutes are wasted just trying
to figure out how to begin. Any ideas or hints?
Cheers!
博客作者 LS Tek
Демо игровых автоматов предлагают уникальную возможность попробовать поиграть в казино, не тратя реальные деньги. Это отличные метод испытать удачу, изучить игры и разработать стратегии без каких-либо обязательств.
Благодаря огромному количеству игровых автоматов с демо игрой, каждый игрок найдет что-то по своему вкусу. От классических трехбарабанных автоматов до современных видеослотов с захватывающей графикой и увлекательными бонусными раундами.
Играть в [url=https://lucky-slots.ru/]автоматы игровые играть бесплатно онлайн без регистрации[/url] легко и удобно. Вам не нужно регистрироваться и пополнять баланс – просто выберите интересующую вас игру и начинайте вращать барабаны. Это отличная возможность попробовать разные стратегии ставок, изучить выигрышные комбинации и просто насладиться процессом игры.
Демо-режим также дает возможность вам оценить процент отдачи игрового автомата и определить, как он подходит вам по стилю и предпочтениям. Вы можете играть беспконечно долго, не боясь за свои деньги.
博客作者 Winlineff
[url=https://fribet-vinlajn-promokod.ru/]сайт[/url] предлагает проверенные промокоды, которые помогут вам получить больше бонусов на спортивные ставки.
博客作者 Termburg
Для регистрации на сеансы и получения подробной информации зайдите на наш веб-сайт [url=https://termburg.ru/]termburg.ru[/url] или позвоните с нами по контактному телефону +7(909)167-47-46. Наш адрес: г. Москва, Гурьянова 30 (2 этаж). Дайте себе возможность наслаждение отдыха в Термбурге!
博客作者 Allanlaulp
Latest medication updates. Latest drug developments.
[url=https://stromectol365x.top/#]cost of ivermectin medicine[/url]
Drug trends described. Pill info available.
博客作者 Bryangen
Hello!
Do you want to become the best SEO specialist and link builder or do you want to outpace your competitors?
Premium base for XRumer
$119/one-time
Get access to our premium database, which is updated monthly! The database contains only those resources from which you will receive active links – from profiles and postings, as well as a huge collection of contact forms. Free database updates. There is also the possibility of a one-time purchase, without updating the databases, for $38.
Fresh base for XRumer
$94/one-time
Get access to our fresh database, updated monthly! The database includes active links from forums, guest books, blogs, etc., as well as profiles and activations. Free database updates. There is also the possibility of a one-time purchase, without updating the databases, for $25.
GSA Search Engine Ranker fresh verified link list
$119/one-time
Get access to our fresh database, updated monthly! The fresh database includes verified and identified links, divided by engine. Free database updates. There is also the possibility of a one-time purchase, without updating the databases, for $38.
GSA Search Engine Ranker activation key
$65
With GSA Search Engine Ranker, you’ll never have to worry about backlinks again. The software creates backlinks for you 24 hours a day, 7 days a week. By purchasing GSA Search Engine Ranker from us, you get a quality product at a competitive price, saving your resources.
To contact us, write to telegram https://t.me/DropDeadStudio
博客作者 Winlinezj
Не упустите шанс воспользоваться [url=https://fribet-vinlajn-promokod.ru/]промокод на Винлайн[/url] для получения дополнительных бонусов при регистрации на платформе.
博客作者 Liovagrya
Boomerang Casino is an exciting digital platform built for those who seek exhilarating gaming experiences in a safe and intuitive setting. The site provides a wide variety of titles, including classic slots, live dealer games, and diverse card games. Accommodating an international audience, [url=https://boomerangcasinode.com/]boomerang casino[/url] supports language options and a variety of transaction options, including credit cards, digital wallets, and digital currencies. This flexibility makes it convenient to gamblers from over 130 nations, guaranteeing everyone can take advantage of the features and benefits of this modern platform.
One of the standout features of boomerang casino is its generous incentive system, which offers welcome packages, complimentary spins, and cashback offers. These promotions are designed to boost the player experience and provide players more chances to triumph. Additionally, the casino is focused to ensuring fairness and security, employing advanced security technologies to secure player information and transactions. This focus to safety and equity has rendered Boomerang Casino a reliable name in the online gaming world.
Another appealing aspect of [url=https://boomerangcasinode.com/]casino boomerang[/url] is its commitment to safe gaming. The platform offers users with features and resources to manage their playing patterns responsibly, promoting a healthy balance between fun and safe play. The assistance team is also easily accessible to help with any concerns or inquiries, offering fast and high-quality service to boost the overall site experience.
In conclusion, Boomerang Casino is a premium web-based casino that offers a comprehensive and enjoyable casino experience. With its vast selection of games, reliable protection systems, and gambler-oriented promotions, it distinguishes itself as a premier option for online gaming enthusiasts. Whether you’re a experienced player or novice to the world of online casinos, boomerangcasinode.com has plenty to provide everyone. Explore the world of boomerang casino today and elevate your gaming to the higher stage.
博客作者 dublikaty_zrmn
Приемы борьбы с повторяющимися номерами в тексте, какие действия принять?
Последствия повторений номеров в системе, расскажите.
Как проверить документ на наличие дубликатов номеров, расскажите.
Эффективные методы очистки системы от повторений номеров, подскажите.
Как обнаружить дубликаты номеров в таблице Excel, расскажите.
Как сделать так, чтобы номера не повторялись, расскажите.
Как исправить ситуацию с одинаковыми номерами, подскажите.
Эффективные способы предотвратить дублирование номеров, расскажите.
Как быстро найти и устранить дубликаты номеров в базе данных, подскажите.
Советы по предотвращению дублирования номеров, дайте совет.
изготовление номеров [url=https://www.avtonomera77.su/#изготовление-номеров]https://www.avtonomera77.su/[/url] .
博客作者 LS Tek
Демо игровых слотов предлагают уникальную возможность попробовать поиграть в казино, не тратя реальные деньги. Это идеальный способ испытать удачу, узнать новые игры и разработать стратегии без расхода средств.
Благодаря огромному количеству игровых автоматов с демо игрой, каждый игрок найдет что-то по своему вкусу. От классических трехбарабанных автоматов до современных видеослотов с крутейшей графикой и увлекательными бонусными раундами.
Играть в [url=https://lucky-slots.ru/ehmulyatory-igrovyh-avtomatov/]эмулятор игровых автоматов[/url] легко и удобно. Вам не нужно регистрироваться и пополнять баланс – просто подберите подходящий игровой автомат и начните играть. Это отличная возможность попробовать разные стратегии ставок, изучить выигрышные комбинации и просто насладиться процессом игры.
Демо-режим также позволяет вам оценить процент отдачи игрового автомата и определить, подходит он вам или нет. Вы можете играть сколько угодно долго, не боясь за свои деньги.
博客作者 Patrickrip
Do you want to earn money online? Then come on in, good https://q32.pw/cztZ
博客作者 Allanlaulp
Medicine guide available. Active ingredients listed.
[url=https://stromectol365x.top/#]stromectol online pharmacy[/url]
Drug guide provided. Medicine guide available.
博客作者 Winlinekz
Не упустите шанс воспользоваться [url=https://vinlajn-promokod.ru/]промокод на Винлайн[/url] для получения дополнительных бонусов при регистрации на платформе.
博客作者 Allanlaulp
Drug information available. Detailed drug knowledge.
[url=https://stromectol365x.top/#]stromectol 6 mg dosage[/url]
Medication trends described. Latest pill updates.