添加自定义注解
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,556 条评论
博客作者 canadian pharmaceuticals online
I’m really enjoying the design and layout of your website. It’s a very easy on the eyes which makes it much more pleasant for me to come here and visit more often. Did you hire out a developer to create your theme? Fantastic work!
博客作者 canada pharmaceuticals online
Hey there! I just wish to offer you a huge thumbs up for the excellent info you’ve got here on this post. I will be returning to your web site for more soon.
博客作者 pharmacy online drugstore
It’s an amazing article designed for all the web people; they will obtain benefit from it I am sure.
博客作者 canada pharmaceuticals
Great article.
博客作者 Haroldaffok
кайт египет школа хургада кайт сафари кайт кемпы [url=https://t.me/ArtemZhvakin]школа кайтсерфинга в хургаде[/url].
Каждое занятие в нашей школе проходит под руководством опытных инструкторов, которые помогут вам освоить основные техники и научат, как управлять кайтом с легкостью и удовольствием. Солнечные пляжи, теплые воды и постоянные ветра создают идеальные условия для обучения и практики [url=https://t.me/ArtemZhvakin]кайт сафари[/url].
Кайт-сафари – это не только занятия спортом, но и возможность получить незабываемые впечатления от природы. Вы сможете насладиться великолепными пейзажами, а также исследовать живописные бухты и таинственные острова, о которых мечтали многие [url=https://t.me/ArtemZhvakin]кайт хургада[/url].
Присоединяйтесь к нам в Хургаде и станьте частью сообщества «Дети Ветра», где каждый найдет свое место под солнечным небом, а ветер станет вашим верным союзником в этом увлекательном путешествии. https://t.me/ArtemZhvakin
博客作者 canadian pharmaceutical companies
I savor, cause I found exactly what I used to be having a look for. You have ended my four day long hunt! God Bless you man. Have a nice day. Bye
博客作者 publix pharmacy online ordering
What’s up, its pleasant article about media print, we all understand media is a impressive source of facts.
博客作者 canadian pharmacies online
Thanks for some other informative web site. Where else could I am getting that type of information written in such a perfect way? I’ve a challenge that I’m simply now running on, and I have been on the glance out for such info.
博客作者 Pashaomgg
Нужны деньги, когда срочно требуются финансы? Узнайте, как быстро получить [url=https://hzaim.ru]деньги в долг[/url] и получить нужную сумму моментально.
博客作者 shoppers pharmacy
Hi there just wanted to give you a quick heads up. The words in your article seem to be running off the screen in Internet explorer. I’m not sure if this is a format issue or something to do with web browser compatibility but I thought I’d post to let you know. The design look great though! Hope you get the problem resolved soon. Kudos
博客作者 Edwardkaw
Вавада предлагает широкий ассортимент игр, включая:
Призы и акции
Казино Вавада делает отличное предложение своим игрокам разнородные призы и акции, включая:
Удобство платежей
Казино Вавада поддерживает широкий выбор [url=https://vavada-casino-one.ru]вавада онлайн казино официальное зеркало сайта[/url] систем оплаты для пополнения счета и вывода средств. Это содержит в себе банковские карты, электрические кошельки и криптовалюту. Важно отметить, что казино стремится к прыткой обработке запросов на вывод, что является великим плюсом для игроков.
Клиентская поддержка
Команда помощи Вавада работает круглосуточно, что позволяет игрокам быстро получать помощь по любым вопросам. Связаться с поддержкой можно через live-чат, электронную почту либо телефон.
Заключение
Казино Вавада это надежная и интересная онлайн-платформа для любителей азартных игр. С широкой вариацией игр, привлекательными призами и качественной поддержкой клиентов, Вавада зарекомендовала себя как одно из лучших мест для ведения игры в интернете. Если вы ищете ясные эмоции и азарт, Вавада может стать отличным выбором для вас.
博客作者 pharmacies in canada
Hey there! Someone in my Myspace group shared this website with us so I came to give it a look. I’m definitely enjoying the information. I’m bookmarking and will be tweeting this to my followers! Great blog and outstanding style and design.
博客作者 canada pharmaceuticals online
I don’t even know the way I finished up right here, but I assumed this submit was good. I don’t know who you might be however definitely you’re going to a well-known blogger if you are not already. Cheers!
博客作者 JesseBouct
Отдых и развлечения занимают одно из важнейших мест в человеческой жизни. Наверное, практически невозможно найти такого человека, который бы отказался от предложения отвлечься на время от напряженных будней, расслабиться и отдохнуть. Естественно, существуют различные варианты отдыха, и каждый вправе сам выбирать наиболее подходящий. Для множества людей в разных уголках планеты наилучшим отдыхом являются игры.
Игра и человеческое общество
Тот факт, что игры появились еще на заре развития человеческого общества, не вызывает ни у кого ни малейшего сомнения.
Азартные игры предположительно появились тогда, когда у человека стало появляться свободное время, конечно сейчас азарт представляет собой некую другую форму, но это не сделало азартные игры менее популярными.
Многообразие различных игр свидетельствует о том, что люди стремились разнообразить свою жизнь, получать от них не только практические навыки и умения, но и удовольствие. Недооценивать развивающее и прогрессивное значение игр совершенно невозможно, ведь это противоречит самой человеческой природе.
Скачок в развитии
Азарт является одним из самых ярких человеческих чувств, вызывающих целую гамму различных эмоций. Что и говорить, игры, в основе которых лежит азарт, не теряют своей популярности и по сей день.
Новой вехой в развитии игр явилось появление игровых автоматов (слотов) во второй половине позапрошлого века. Поначалу слоты устанавливали в единичных экземплярах в различных местах общественного пользования и торговых заведениях. Некоторое время спустя появились специальные заведения – казино, где подобных автоматов насчитывалось внушительное количество. Казино быстро превратились в популярнейшие места времяпровождения для многих людей, ведь кроме получаемого удовольствия от самой игры, им предоставлялась возможность выиграть также приличные денежные суммы.
С появлением интернета и компьютеров, многие казино стали распространятся в онлайне.
Конечно, классические оффлайновые заведения никуда не делись, однако они в своем большинстве превратились в элитарные клубы, тогда как онлайн – казино, ввиду своей доступности, нарастили популярность и востребованность у геймеров.
Ниже представлены основные особенности казино онлайн:
играть в онлайн казино можно в любое время суток;
для участия в игре требуется лишь компьютерное устройство или мобильный гаджет, имеющий выход в Интернет;
огромный ассортимент игр и развлечений;
играть можно не выходя из дома абсолютно в любой стране мира;
большие выигрыши, колоссальное количество подарков бонусов и акций.
Остается только выбрать то казино, в котором вы хотите играть.
Современный игровой портал
Мы рекомендуем вам одно из самых проверенных казино полностью соответствует таким и требованиям и с радостью предоставит геймерам свои услуги по организации приятного и доходного досуга [url=https://vavadaofcasino.ru]вавада online[/url]
Здесь есть абсолютно любые игры на разные вкусы, даже самый искушенный геймер обязательно сможет удоволетворить своий поиск.
Основные преимущества интернет – казино "Vavada":
быстрые выплаты, приятные бонусы и подарки, регулярно проводимые акции;
сильная техподдержка;
бездепозитные бонусы новичкам;
у каждой игры есть демо версия;
полная конфиденциальность, безопасность и отсутствие риска нечестной игры;
быстрая регистрация.
Администрация всегда обновляет ассортимент игр.
博客作者 Jamescog
Stay tuned for the latest match highlights, including goals, guide moments, and knowledgeable analysis.
We will update this section with video highlights and style moments from the game after the match https://rayovallecanovsbarcelona.ru.