添加自定义注解
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,117 条评论
博客作者 purchase
[url=https://acyclovirlp.online/]can you buy acyclovir over the counter in usa[/url]
博客作者 TimothyAccem
Прибыльная игра с 1win Coins: меняйте бонусы на деньги
https://1wcrcg.life/v3/landing-fortune-wheel-x/ – 1win рабочее зеркало
Мы с удовольствием представить вам оригинальную возможность, которая предоставляет двери к сверхурочным выгодам и интересным досугам – 1win Coins. Это не просто поощрительная сеть, а целый вселенная прибыльных проектов, который позволит вам переводить премии на истинные финансы. Давайте рассмотрим, как это действует и как вы будете полностью эксплуатировать эту вариант.
Что такое 1win Coins?
1win Coins – это внутрисистемная денежная единица системы 1win, которая выдается за деятельность на ресурсе. Юзеры сумеют зарабатывать баллы, принимая участие в различных акциях, делая ставки и просто времяпрепровождение период на сервисе. Кредиты возможно использовать для выдачи бонусов, обмена на финансы или участия в уникальных предложениях.
Как заработать 1win Coins?
Участие в предложениях
На сайте 1win часто организуются акции, которые предоставляют шанс участникам получать сверхурочные коины. Эти кампании относятся с специфическими играми, активностями или просто с активностью на ресурсе.
Игры на физкультурные события
Любая сделанная игра, совершенная на спортсменские события, зачисляет вам определенное число кредитов. Чем больше и чаще вы делаете ставки, тем больше монет собираете. Это замечательная перспектива для тех, кто любит атлетикой и пари.
https://1wcrcg.life/v3/lucky-jet-updated – 1win зеркало сайта
Слоты и игры
Участвуя в видеослоты и разные азартные игры на платформе 1win, вы также собираете кредиты. Каждая прибыльная комплектация и момент, находящийся в играх, выдают вам сверхурочные вознаграждения.
Процесс обмена 1win Coins на реальные деньги?
Обменный процесс
Перевод кредитов на реальные деньги – это легкий и открытый способ. Просто зайти в раздел "Мой счет", определить объем кредитов для перевода и утвердить операцию. Финансы перечислены на ваш учетную запись незамедлительно.
https://1wcrcg.life/v3/lucky-jet-updated – 1win регистрация
Курс обмена
Тариф перевода кредитов на реальные деньги может варьироваться в зависимости от актуальных сделок и периодов. Советуем отслеживать за обновлениями на ресурсе 1win, чтобы знать наиболее выгодных тарифов обмена.
Пределы обмена
Для конвертации баллов имеются минимальные и максимальные пределы. Обычно нижняя сумма составляет 100 коинов, а максимальная может достигать нескольких тысяч монет за одну операцию.
https://1wcrcg.life/v3/lucky-jet-updated – 1 win
Достоинства использования 1win Coins
Удобство и простота
Вовлечение 1win Coins – это понятный и приятный вариант сохранения бонусов и их будущего конвертации на финансы. Не необходимо подавать трудные формы или выполнять долгие аудиты – все действия реализуются быстро и без излишних формальностей.
Безопасность
Все операции с 1win Coins гарантированы современными средствами защиты. Ваши данные и средства есть под твердой обеспечением, что предоставляет шанс вам вполне заняться на игре и получении прибыли.
https://1wcrcg.life/v3/landing-fortune-wheel-x/ – 1win
博客作者 drugs
[url=https://vermox.company/]vermox online pharmacy[/url]
博客作者 RebeccaVoito
Crossfi bot – захватывающая игра-кликер от компании CrossFi, в которой вы имеете возможность заработать настоящие деньги совершенно бесплатно. Управляйте своим ботом, кликая по экрану и собирая монеты для улучшения его навыков и возможностей. Погрузитесь в захватывающий мир [url=https://t.me/xficonsolebot?start=464939433]Crossfi bot[/url] и соревнуйтесь с другими игроками за первое место в рейтинге! Ознакомьтесь на [url=https://crossfinance.wixsite.com/cross-fi/telegram-tap-wallet]сайте[/url]
[url=https://crossfinance.wixsite.com/cross-fi/telegram-tap-wallet]cross finance кошелёк[/url]
博客作者 WesleyJok
Керамическая плитка это один из самых популярных материалов для отделки пола и стенок. Она обладает высочайшей прочностью, долговечностью и многообразием дизайнов, что делает её образцовым выбором для различных стилей интерьера. В нашем магазине керамической плитки вы найдёте огромный выбор продукции, которая удовлетворит даже самых взыскательных клиентов.
По какой причине избирают глиняную плитку?
Типы глиняной плитки
Мы предлагаем разные виды керамической плитки:
博客作者 Lisklew
This may give the impression that they seem peculiarly unamused by an examinerпїЅs tried witticisms. Deleted Patients must be provided with written contact information and be suggested to contact Not Reviewed, A-8 their healthcare provider for follow-up if their situation deteriorates or they develop Deleted signs. While he’s at present on dialysis, he’s hoping to obtain a trans planted kidney muscle relaxant m 751 [url=https://imitrexmed.com]order sumatriptan 25 mg overnight delivery[/url].
Thrice-weekly supervised dosing with the mixture buprenorphine-naloxone pill is pre ferred to day by day supervised dosing by opioid-dependent people. The Health Centre group can provide a Sweat Lodge ceremony, but they are also familiar with “mainstream” treatments for trauma and mental sickness. Mandibular fractures are classified as being both favorable or unfavorable, depending on the orientation of the fracture airplane and the displacement of the bone fragments muscle relaxant used by anesthesiologist [url=https://imitrexmed.com]buy generic imitrex[/url].
博客作者 NemrokAnaerneni
The tangible success of Toyota right now isn’t the results of luck; it comes from the total-scaled effort of its employees. Diphyllobothrium latum (fish tapeworm), Clonorchis sinensis (Asian liver fluke), 2. Both forms of defenses, infrastructural and algorithmic, highlight the necessity for interdisciplinary groups of pc scientists, well being care staff, and shopper representatives at each stage of design and implementation of those methods spasms down left leg [url=https://imitrexmed.com]cheap imitrex 50 mg overnight delivery[/url].
Several months later, a sinus tract draining purulent material surfaced on the web site of his muscle fap. The decreased including pharmacologic therapy, balloon tamponade, 33,35 life span of the blood components is believed to outcome from and emergent endoscopic remedy. Management • In acute part, where there is extreme tenderness, give a mix of antibiotic and metronidazole • Give heat saline mouth?washes and analgesics or other mouth washes spasms hip [url=https://imitrexmed.com]25 mg sumatriptan purchase visa[/url].
博客作者 Wikbarsoz
Канал [url=https://t.me/s/topcasino_rus]рейтинг лучших казино с лицензией[/url] предлагает список лучших лицензированных казино. Все представленные на канале казино имеют официальные лицензии и строгий контроль качества. Игроки могут быть уверены в честной игре и безопасности своих данных.
Следите за обновлениями канала, чтобы не пропустить выгодные бонусы и акции. Играйте в лицензированных казино, которые обеспечивают высокий уровень обслуживания и надежные выплаты.
博客作者 WesleyJok
Глиняная плитка это один из самых популярных материалов для отделки пола и стенок. Она обладает высочайшей прочностью, долговечностью и многообразием дизайнов, что делает её идеальным выбором для разных стилей интерьера. В нашем магазине керамической плитки вы найдёте большой выбор продукции, которая удовлетворит даже самых взыскательных клиентов.
Почему выбирают глиняную плитку?
Типы керамической плитки
Мы предлагаем разные виды керамической плитки:
博客作者 儿童色情片
şırpa kuloan https://denemebonusu.market https://www.bonusvakti10.com https://onwingir.org https://19forum-bahis.com https://onwinn.com
博客作者 cheap
[url=https://avermox.online/]where can i buy vermox in uk[/url]
博客作者 order
[url=https://xlyrica.com/]buy lyrica 300 mg online[/url]
博客作者 WesleyJok
Керамическая плитка это один из самых популярных материалов для отделки пола и стен. Она обладает высочайшей прочностью, долговечностью и разнообразием дизайнов, что делает её идеальным выбором для различных стилей интерьера. В нашем магазине керамической плитки вы найдёте большой выбор продукции, которая удовлетворит даже самых требовательных клиентов.
Почему выбирают глиняную плитку?
Типы глиняной плитки
Мы предлагаем различные виды глиняной плитки:
博客作者 price
[url=https://nolvadexin.online/]where can i buy nolvadex[/url]
博客作者 tablets
[url=https://baclofenx.online/]10 mg baclofen[/url]