添加自定义注解
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,371 条评论
博客作者 pill
[url=https://drdoxycycline.online/]doxycycline order canada[/url]
博客作者 DarrenOress
При выборе материала для строительства бани нередко возникает дилемма: заказать сруб бани из бревна либо из бруса. Оба материала имеют свои превосходства и особенности, и выбор зависит от ваших предпочтений, бюджета и требований к будущей постройке.
Сруб бани из бревна является традиционным и долговечным вариантом. Б ревенчатые дома и бани имеют особый шарм и создают комфортную атмосферу благодаря натуральности материала. Бревно обладает хорошей термоизоляцией, сохраняя тепло снутри бани, что принципиально для создания комфортабельных условий для отдыха.
Но строительство сруба бани из бревна требует дополнительных затрат на обработку и обработку материала. В процессе эксплуатации бревенчатой бани также может потребоваться регулярное сервис и уход за деревом, чтоб сохранить его первоначальный вид и характеристики.
Если посмотреть с другой стороны, сруб бани из бруса делает отличное предложение более современный и универсальный вариант. Брус обладает более ровными и гладкими поверхностями, что упрощает процесс строительства и дает обеспечение более опрятный наружный вид постройки. Брус также обладает хорошей теплоизоляцией и долговечностью.
При выборе между срубом бани из бревна и из бруса важно учитывать свои предпочтения по дизайну, бюджет, предполагаемый срок службы и требования к уровню термоизоляции. Оба варианта имеют свои достоинства и недостатки, поэтому рекомендуется обсудить свои потребности с специалистами в области строительства бань, чтоб выбрать более подходящий вариант.
В любом случае, какой бы материал вы ни выбрали для сруба бани, важно уделить внимание качеству строительства и материалов, чтоб обеспечить долговечность и комфорт использования вашей будущей бани.
[url=https://statsgameroleplay.5nx.ru/viewtopic.php?f=2&t=6126]источник[/url]
博客作者 Volamof
Интересуетесь, сколько стоит [url=https://potolki-kitstroy.ru/]стоимость согласования перепланировки[/url]? Приготовьтесь к увлекательному путешествию в мир цен и тарифов! Кто бы мог подумать, что простое передвижение стен может стоить столько нервов и денег?
Мы готовы сделать этот процесс не просто понятным, но и захватывающим. Каждый шаг на пути к получению всех нужных разрешений станет для вас настоящим открытием. Окунитесь в мир согласований с нами и узнайте, за что именно вы платите!
博客作者 NimeraadoRi
Доставка из ресторана ЯР Ижевск restoyar.ru
Изысканная вкусная еда, эталонный сервис, аккуратная доставка горячих блюд на дом — все это ресторан ЯР. Уникальное место для желанных гостей, здесь Вы сможете по-настоящему расслабиться, испробовать шикарные блюда Ижевска, для деток представлен интересный лабиринт в комнате отдыха, а для взрослых реальное шоу-приготовление еды на отрытой кухне. Это всё о ресторане ЯР, где на сайте restoyar.ru можно ознакомиться подробнее.
Касательно [url=https://restoyar.ru/]ресторан ваще[/url] переходите на наш онлайн портал. На сайте возможно посмотреть наше меню, оформить заказ, заказать столик или позвонить нам. Контактный номер телефона +7(3412)223-225 или оформляйте заказ прямо на сайте. В тематике «доставка готовых блюд» откроется наше полное меню. Обратите своё внимание на оформление блюда при заказе, это настоящее искусство. Приготовление также у нас необычное, таким образом можете быть уверены перед заказом на особенный вечер.
Самая восхитительная еда тут – [url=https://restoyar.ru/delivery]телефон ресторана яр[/url] заходите прямо сегодня. Мы находимся по адресу: г. Ижевск, ул. Максима Горького, д. 163. Режим работы с 12:00 до 00:00, а в пятницу и субботу с 12:00 до 2:00 ночи. Приглашаем Вас и Вашу семью превосходно провести время или оформить заказ на restoyar.ru на Ваш адрес и побаловаться вкусной едой в своей обычной обстановке.
博客作者 Montegrots
Comprehensive drug overview. Drug guide here.
[url=https://baclofen365n.top]buy baclofen with no prescription[/url]
Latest drug developments. Medicine impacts explained.
博客作者 ThurmanDaums
Steam Desktop Authenticator (SDA) – это программа, которая дает возможность пользователям Steam безопасно входить в свои аккаунты и оборонять их от хакерских атак. Она работает по типу двухфакторной аутентификации, что означает, что помимо обычного логина и пароля, требуется дополнительный код для подтверждения входа в аккаунт.
Если вы желаете скачать Steam Desktop Authenticator на Github, следуйте этим шагам:
Steam Desktop Authenticator – это хорошее решение для тех, кто хочет обеспечить безопасность собственного аккаунта Steam. Программа предоставляет дополнительный уровень защиты от вероятных кибератак и взломов, а также дает возможность комфортно и неопасно использовать свой аккаунт Steam.
Помните, что безопасность вашего учетной записи Steam – это главный нюанс в он-лайн-играх, по этой причине внедрение двухфакторной аутентификации, предоставляемой Steam Desktop Authenticator, является идеальным выбором для сохранения безопасности и конфиденциальности ваших данных. Скачайте Steam Desktop Authenticator на Github прямо сейчас и услаждайтесь неопасным и защищенным игровым опытом!
博客作者 RichardNoict
Steam Desktop Authenticator (SDA) – это программа, которая дозволяет юзерам Steam неопасно входить в свои аккаунты и оборонять их от хакерских атак. Она работает по типу двухфакторной аутентификации, что означает, что помимо обыденного логина и пароля, требуется дополнительный код в подтверждение входа в аккаунт.
Если вы желайте скачать Steam Desktop Authenticator на Github, следуйте этим шагам:
Steam Desktop Authenticator – это отличное решение тем, кто хочет обеспечить безопасность своего аккаунта Steam. Программа предоставляет дополнительный уровень защиты от вероятных кибератак и взломов, также дает возможность удобно и неопасно использовать свой аккаунт Steam.
Не забывайте, что безопасность вашего учетной записи Steam – это принципиальный нюанс в он-лайн-играх, поэтому внедрение двухфакторной аутентификации, предоставляемой Steam Desktop Authenticator, является безупречным выбором для сохранения безопасности и конфиденциальности ваших данных. Скачайте Steam Desktop Authenticator на Github прямо сейчас и наслаждайтесь безопасным и защищенным игровым опытом!
博客作者 Arthurblage
Авиатуры это один из самых интересных и захватывающих видов активного отдыха, который дозволяет испытать адреналиновый подъем и насладиться невероятными видами с высоты птичьего полета. Ежели вы живете в городе москва и желаете попробовать себя в авиатуре, вам пригодится немного информации о доступных местах для полетов и услугах, которые можно приобрести.
В городе москва существует несколько аэропортов, где можно взять авиатур на самолете или вертолете. Одним из популярных мест для авиатуров является Международный аэропорт Шереметьево, в каком месте предлагаются различные виды полетов, включая экскурсии над городом и полеты на воздушном шаре. Также стоит обратить внимание на аэродром Черная Грязюка, который является центром авиационного спорта и делает отличное предложение услуги по организации авиатуров на различных воздушных судах.
Затем чтоб покупать [url=https://aviaturs.ru/]https://aviaturs.ru/[/url] авиатуру в Москве, нужно приступать к специализированным авиационным компаниям либо агентствам, которые занимаются организацией авиатуров нужным. Услуги по авиатурам могут включать в себя полеты на самолете, вертолете, аэростате или других воздушных судах, а также личные либо групповые экскурсии над живописными местами региона.
В момент выбора авиатуры принципиально учитывать ваш уровень физической подготовки, наличие медицинских противопоказаний, погодные условия и требования безопасности. Также стоит более точно определить дополнительные услуги, которые могут быть предоставлены в рамках авиатуры, например, проведение фотосессии во время полета или романтическое свидание в небе.
Купить авиатуру в городе москва это отличный способ добавить яркие впечатления и новые эмоции в вашу жизнь. Погрузитесь в мир воздушной свободы и ощутите чудо полета, летая над красивыми пейзажами и горизонтами города Москвы. Не упустите возможность испытать незабываемые моменты, заказав авиатуру уже сегодня!
博客作者 DarrenOress
При выборе материала для строительства бани нередко появляется дилемма: заказать сруб бани из бревна либо из бруса. Оба материала имеют свои преимущества и необыкновенности, и выбор зависит от ваших предпочтений, бюджета и требований к будущей постройке.
Сруб бани из бревна является традиционным и долговечным вариантом. Б ревенчатые дома и бани имеют особый шарм и делают уютную атмосферу благодаря натуральности материала. Бревно владеет неплохой теплоизоляцией, храня тепло снутри бани, что важно для создания комфортабельных критерий для отдыха.
Но строительство сруба бани из бревна требует дополнительных затрат на обработку и обработку материала. В процессе эксплуатации бревенчатой бани также может потребоваться регулярное сервис и уход за деревом, чтобы сохранить его первоначальный вид и характеристики.
С другой стороны, сруб бани из бруса предлагает более современный и универсальный вариант. Брус обладает более ровными и гладкими поверхностями, что упрощает процесс строительства и дает обеспечение более опрятный наружный вид постройки. Брус также обладает хорошей теплоизоляцией и долговечностью.
В момент выбора между срубом бани из бревна и из бруса важно учесть свои предпочтения по дизайну, бюджет, предполагаемый срок эксплуатации и требования к уровню теплоизоляции. Оба варианта имеют свои достоинства и недостатки, поэтому рекомендуется обсудить свои потребности с профессионалами в области строительства бань, чтобы выбрать наиболее подходящий вариант.
В любом случае, какой бы материал вы ни выбрали для сруба бани, важно уделить внимание качеству строительства и материалов, чтобы обеспечить долговечность и комфорт использования вашей будущей бани.
[url=https://wkrun.com/home.php?mod=space&uid=920044&do=profile&from=space]источник[/url]
博客作者 medication
[url=https://baclofenx.online/]baclofen 10 mg tablets[/url]
博客作者 Timothyunsub
Pill info here. Access medicine information.
[url=https://biaxin365n.top]lioresal[/url]
Current medication trends. Drug impacts explained.
博客作者 ThurmanDaums
Steam Desktop Authenticator (SDA) – это программа, которая позволяет пользователям Steam безопасно входить в свои аккаунты и защищать их от хакерских атак. Она работает по принципу двухфакторной аутентификации, что означает, что кроме обычного логина и пароля, нужно дополнительный код для подтверждения входа в акк.
Если вы хотите скачать Steam Desktop Authenticator на Github, следуйте этим шагам:
Steam Desktop Authenticator – это хорошее решение тем, кто хочет обеспечить безопасность своего аккаунта Steam. Программка предоставляет дополнительный уровень защиты от вероятных кибератак и взломов, а также дает возможность удобно и безопасно использовать свой акк Steam.
Помните, что безопасность вашего аккаунта Steam – это важный нюанс в онлайн-играх, по этой причине внедрение двухфакторной аутентификации, предоставляемой Steam Desktop Authenticator, является образцовым выбором для сохранения безопасности и конфиденциальности ваших данных. Скачайте Steam Desktop Authenticator на Github хоть завтра и услаждайтесь безопасным и защищенным игровым опытом!
博客作者 RichardNoict
Steam Desktop Authenticator (SDA) – это программа, которая дает возможность пользователям Steam безопасно входить в свои аккаунты и защищать их от хакерских атак. Она работает по типу двухфакторной аутентификации, что означает, что помимо обычного логина и пароля, нужно дополнительный код в подтверждение входа в аккаунт.
Если вы желаете скачать Steam Desktop Authenticator на Github, следуйте этим шагам:
Steam Desktop Authenticator – это хорошее решение тем, кто хочет обеспечить безопасность своего аккаунта Steam. Программа предоставляет дополнительный уровень защиты от возможных кибератак и взломов, а также дает возможность комфортно и безопасно использовать свой акк Steam.
Помните, что безопасность вашего учетной записи Steam – это принципиальный аспект в он-лайн-играх, по этой причине внедрение двухфакторной аутентификации, предоставляемой Steam Desktop Authenticator, является образцовым выбором для сохранения безопасности и конфиденциальности ваших данных. Скачайте Steam Desktop Authenticator на Github прямо сейчас и наслаждайтесь безопасным и защищенным игровым опытом!
博客作者 pills
[url=https://abamoxicillin.com/]1g amoxicillin[/url]
博客作者 Reodchind
[url=https://salecloned-cards.cvv2cvc.com]Clon Credit cards Market Cloned card[/url] Buy Cloned card paypal acc
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://hacked-cards.cvv2cvc.com]https://hacked-cards.cvv2cvc.com[/url] Shop Hacked paypal