添加自定义注解
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,358 条评论
博客作者 Lazernoe_veka
Какие противопоказания существуют для лазерного удаления папиллом?
Противопоказания для лазерного удаления папиллом включают острые воспалительные процессы, инфекции кожи в зоне обработки, онкологические заболевания, тяжелые нарушения свертываемости крови и беременность. Врач обязательно проведет осмотр и, при необходимости, дополнительные исследования перед процедурой.
What are the contraindications for laser removal of papillomas?
Contraindications for laser removal of papillomas include acute inflammatory processes, skin infections in the treatment area, cancer, severe blood clotting disorders, and pregnancy. The doctor will conduct an examination and, if necessary, additional tests before the procedure.
博客作者 Arthurblage
Авиатуры это один из самых увлекательных и захватывающих видов активного отдыха, который дает возможность испытать адреналиновый подъем и насладиться невероятными видами с высоты свысока. Ежели вы живете в Москве и желайте попробовать себя в авиатуре, для вас понадобится чуть-чуть информации о доступных местах для полетов и услугах, которые можно приобрести.
В городе москва существует несколько аэропортов, в каком месте можно брать авиатур на самолете или вертолете. Одним из популярных мест для авиатуров является Международный аэропорт Шереметьево, в каком месте предлагаются различные виды полетов, включая экскурсии над городом и полеты на воздушном шаре. Также стоит обратить внимание на аэродром Темная Грязь, который является центром авиационного спорта и предлагает услуги по организации авиатуров на различных воздушных судах.
Для того чтобы купить [url=https://aviaturs.ru/]https://aviaturs.ru/[/url] авиатуру в городе москва, нужно обратиться к спец авиационным компаниям либо агентствам, которые занимаются организацией авиатуров для клиентов. Услуги по авиатурам могут содержать полеты на самолете, вертолете, аэростате или других воздушных судах, а также личные либо групповые экскурсии над живописными местами региона.
При выборе авиатуры главно учесть ваш уровень физической подготовки, наличие медицинских противопоказаний, погодные условия и требования безопасности. Также стоит уточнить дополнительные услуги, которые могут являться предоставлены в рамках авиатуры, например, проведение фотосессии на протяжении полета или романтическое свидание в небе.
Купить авиатуру в городе москва это отличный метод добавить яркие впечатления и новые эмоции в вашу жизнь. Погрузитесь в мир воздушной свободы и ощутите чудо полета, летая над красивыми пейзажами и горизонтами городка Москвы. Не упустите возможность испытать незабываемые моменты, заказав авиатуру теснее сегодня!
博客作者 By Casino
Thank you for content. Area rugs and online home decor store. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 BorisTifs
Информация о букмекерской конторе [url=https://mostbet-wv8.xyz/]Mostbet[/url], ее особенностях, преимуществах и условиях использования, а также обзоры и отзывы игроков.
博客作者 Casibom
Thank you for great content. Hello Administ. Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Hacklink
Thank you for great information. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 DarrenOress
В момент выбора материала для строительства бани часто появляется дилемма: заказать сруб бани из бревна либо из бруса. Оба материала имеют свои преимущества и характерные черты, и выбор зависит от ваших предпочтений, бюджета и требований к будущей постройке.
Сруб бани из бревна является классическим и долговременным вариантом. Б ревенчатые дома и бани имеют особый шарм и творят уютную атмосферу из-за натуральности материала. Бревно обладает превосходной теплоизоляцией, сохраняя тепло снутри бани, что важно для создания комфортабельных критерий для отдыха.
Однако строительство сруба бани из бревна требует дополнительных затрат на обработку и обработку материала. В ходе эксплуатации бревенчатой бани также может потребоваться постоянное сервис и уход за деревом, чтоб сохранить его первоначальный вид и характеристики.
Если посмотреть с другой стороны, сруб бани из бруса предлагает более современный и универсальный вариант. Брус обладает более ровными и гладкими поверхностями, что упрощает процесс строительства и обеспечивает более чистоплотный наружный вид постройки. Брус также обладает неплохой теплоизоляцией и долговечностью.
При выборе между срубом бани из бревна и из бруса важно учесть свои предпочтения по дизайну, бюджет, предполагаемый срок эксплуатации и требования к уровню термоизоляции. Оба варианта имеют свои достоинства и недостатки, поэтому рекомендуется обсудить свои потребности с специалистами в области строительства бань, чтоб выбрать более подходящий вариант.
В любом случае, какой бы материал вы ни выбрали для сруба бани, главно уделить внимание качеству строительства и материалов, чтобы обеспечить долговечность и комфорт использования вашей будущей бани.
[url=https://www.sksmg.com/home.php?mod=space&uid=216797&do=profile]источник[/url]
博客作者 Vlaniogas
Еда на заказ в Ижевске restoyar.ru
Изысканная вкусная еда, прекрасный сервис, бесплатная доставка горячих блюд на дом — все это ресторан ЯР. Уникальное место для желанных гостей, здесь Вы сможете по-настоящему расслабиться, вкусить лучшие блюда Ижевска, для деток есть увлекательный лабиринт в комнате отдыха, а для взрослых настоящее шоу-приготовление блюд на доступной кухне. Разговор о ресторане ЯР, где на сайте restoyar.ru возможно узнать подробнее.
По запросу [url=https://restoyar.ru/]заказать еду с доставкой на дом[/url] заходите на указанный веб ресурс. На сайте можно увидеть наше меню, сделать заказ, забронировать столик или позвонить нам. Контактный номер телефона +7(3412)223-225 или оформляйте заказ прямо на сайте. В тематике «доставка готовых блюд» откроется наше полное меню. Обратите своё внимание на подачу при заказе, это результат большого опыта повара. Приготовление также у нас эксклюзивное, таким образом можете не сомневаться перед заказом на особенный вечер.
Самая лучшая еда тут – [url=https://restoyar.ru/]доставка еды из ресторана[/url] заходите уже сегодня. Мы находимся по адресу: г. Ижевск, ул. Максима Горького, д. 163. Время работы с 12:00 до 00:00, а в пятницу и субботу до 2-х ночи. Приглашаем Вас и Вашу половинку превосходно провести время или оформить заказ на restoyar.ru на Ваш адрес и побаловаться вкусной едой в своей обычной среде.
博客作者 online
[url=https://okmodafinil.com/]500mg modafinil[/url]
博客作者 pills
[url=https://itretinoin.com/]tretinoin 0.5 gel uk[/url]
博客作者 Timothyunsub
Medicine essentials explained. Medicine impacts described.
[url=https://biaxin365n.top]get cheap clarithromycin pills[/url]
Drug guide available. Pill details provided.
博客作者 Warriorxax,
become our affiliate
https://affiliates.whalehunter.cash/track/Kirill.18AffRef.18AffRef.MAIN.0.0.0.0.0.0.0.0
博客作者 ThurmanDaums
Steam Desktop Authenticator (SDA) – это программа, которая дает возможность пользователям Steam безопасно входить в свои аккаунты и защищать их от хакерских атак. Она работает по принципу двухфакторной аутентификации, что означает, что кроме обычного логина и пароля, нужно дополнительный код для подтверждения входа в акк.
Если вы желаете скачать Steam Desktop Authenticator на Github, следуйте этим шагам:
Steam Desktop Authenticator – это отличное решение тем, кто хочет обеспечить безопасность своего аккаунта Steam. Программа предоставляет дополнительный уровень защиты от возможных кибератак и взломов, также дозволяет комфортно и безопасно использовать свой акк Steam.
Не забывайте, что безопасность вашего аккаунта Steam – это главный нюанс в онлайн-играх, поэтому внедрение двухфакторной аутентификации, предоставляемой Steam Desktop Authenticator, является идеальным выбором для сохранения безопасности и конфиденциальности ваших данных. Скачайте Steam Desktop Authenticator на Github хоть завтра и услаждайтесь безопасным и защищенным игровым опытом!
博客作者 onwin
Thank you for great information. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 price
[url=https://flomaxms.online/]noroxin 400[/url]