添加自定义注解
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,240 条评论
博客作者 LoraSef
Hello everyone!
I want to offer you five fascinating pages that I believe are worth visiting. These resources can help expand your knowledge, find useful information, or simply have a good time. I hope you find them interesting!
https://www.residentialreports.com.au/hogyan-valasszuk-ki-a-legjobb-nyerogepeket-a-fairspinen/
https://demo.hanwhalife.co.id:8080/system-lojalnosciowy-w-kasynach-online/
https://hotel-korsal.com/utilizando-inteligencia-artificial-para-analizar-apuestas-en-nine-casino/
https://solazbellavistadecolchagua.cl/2024/06/13/comparacion-de-beneficios-de-juegos-en-linea-y-casinos-fisicos/
https://www.tozzionzzi.com/najczestsze-pytania-o-zaklady-sportowe/
These pages offer a variety of materials that can be beneficial for both learning and relaxation. I hope you like them as much as I do! If you have your own interesting finds, I’d love it if you could post them in the comments.
博客作者 Davidlor
Поиск дешевеньких авиабилетов может быть сложный задачей, но с правильными стратегиями и инструментами можно существенно сэкономить на путешествиях. Вот несколько полезных советов:
Чем более эластичными вы будете в выборе дат и мест назначения, тем вот больше шансов отыскать выгодные предложения. Попытайтесь использовать "гибкий поиск" на веб-сайтах авиакомпаний, чтобы видеть самые дешевые варианты.
Сайты, такие как Skyscanner, Momondo либо Гугл Flights, помогут для вас найти самые прибыльные предложения, сопоставляя цены на огромное количество авиакомпаний. Направьте внимание на возможность установки оповещений о понижении цен.
Иногда стыковочные рейсы могут являться очень сильно дешевле, чем прямые. Обязательно инспектируйте различные варианты и учитывайте время в дороге.
Следите за сезонными распродажами и предложениями от авиакомпаний. Подписывайтесь на новостные рассылки, чтоб первыми узнавать о скидках.
Как правило, чем ранее вы [url=https://avia-bilet.online]бронирование авиабилетов москва[/url] начнете отыскивать билеты на самолет, тем больше у вас шансов найти низкую цену. Превосходнее бронировать билеты хотя бы за 2-3 месяца до вылета.
Ежели вы часто путешествуете, рассмотрите возможность участия в программках лояльности авиакомпаний. Скопленные мили могут помочь вам получить скидку на будущие перелеты.
Обращайте внимание на дополнительные сборы в том числе оплата багажа или выбор мест. Эти расходы могут существенно увеличить общую стоимость билета.
Следуя этим обычным рекомендациям, вы сможете существенно сэкономить на авиабилетах и больше наслаждаться своими путешествиями!
博客作者 EverettVed
Индивидуальные проекты, учитывающие все ваши пожелания и особенности помещения https://fabrikayfabrikaefabrika.ru/.
博客作者 Robertsen
Среди самых знаменитых романов Достоевского "Грех и наказание" (1866), "Кретин" (1869), "Братья Карамазовы" (1880) и "Сатаны" (1872). Любой из этих романов глубоко исследует людскую природу и нравственные проблемы.
Теоретические взгляды
Достоевский также занимался вопросами философии и религии. В его творениях выслеживаются идеи о том, что страдание и обольщение могут привести к духовному восстановленью. Он также исследует концепции свободы, веры и нравственной ответственности, что делает его творения глубоко философскими.
Личность и судьба
Личная жизнь Достоевского была полна мучений [url=https://dostoevskiyfyodor.ru/]Библиотека сайт[/url] и испытаний. Он пережил личные трагедии, включая потерю возлюбленных людей и финансовые трудности. В 1849 году писатель был арестован за участие в революционном движении и приговорён к каторге в Сибири, что, непременно, оказало влияние на его творчество и мировосприятие.
Наследие
Фёдор Михайлович Достоевский оставил после себя богатое литературное наследство, которое продолжает побуждать и исследоваться. Его творчество оказало веское влияние на следующие поколения писателей, философов и ученых. Сегодня Достоевский считается не только классиком русской литературы, но и величайшим писателем, который продолжает возбуждать и восхищение по во всем мире.
Напоследок, Достоевский это сложно автор великих романов, а глубокий мыслитель, который разумел человеческую природу лучше всех, обращая внимание на её черные и светлые стороны. Его работы делают отличное предложение читателям богатый материал для размышлений о самих себе и своём месте в мире.
博客作者 現場兒童色情片
DAMAR DAMAR DAMAR KURUMBA
博客作者 Gundezasef
Инженерно-экологические изыскания для строительства safetysystemsgroup.com
Услуги по специальной оценке охране труда, безопасности производственных процессов, оценке рисков фирмы, обучение в аккредитации и многие другие Вы найдете на safetysystemsgroup.com уже сегодня. Защищенный рабочий процесс — оберег успеха каждого предприятия. Мы значимся самостоятельной лабораторией, которая использует новейшие методики измерений, работает нацеленно на высокое качество.
Относительно [url=https://safetysystemsgroup.com/pomosch-v-akkreditatsii-lab/]национальная система аккредитации испытательных лабораторий[/url] мы Вам окажем помощь. Молниеносно выезжаем на 1-ое измерение, оказываем услуги по небольшим ценам, не проигрывая в качестве, также есть постоянная связь с менеджером. Вызовите нас, позвонив по телефону +7(499)404-17-83 или закажите обратный звонок, введя свои данные.
На сайте safetysystemsgroup.com Вы можете найти отзывы о выполненной работе, а также список наших заказчиков. Лаборатория расположена по адресу: г. Москва, ул. Верхняя Первомайская, д. 47, к. 11, оф. 516.
По теме [url=https://safetysystemsgroup.com/ohrana-truda/]охрана труда обучение дистанционно[/url] Вы на верном пути. рады предложить пройти дистанционное обучение по охране труда. Оцените бесплатный демо-доступ к курсам на данном онлайн ресурсе. Обучение осуществляется в заочной форме, доступ с Вами навсегда, можно начинать в день обращения, без отрыва от своей работы. Пишите, звоните, будем рады с Вами поработать.
博客作者 Davidlor
Поиск дешевых билетов на самолет может быть непростой задачей, однако с правильными стратегиями и приборами можно существенно сберечь на путешествиях. Вот несколько полезных советов:
Чем более эластичными вы будете в выборе дат и мест назначения, тем большие шансы найти прибыльные предложения. Попытайтесь использовать "гибкий поиск" на сайтах авиакомпаний, чтоб видеть самые дешевые варианты.
Веб-сайты, такие как Skyscanner, Momondo либо Google Flights, могут помочь для вас отыскать самые прибыльные предложения, сопоставляя цены на огромное количество авиакомпаний. Направьте внимание на возможность установки извещений о понижении цен.
Иногда стыковочные рейсы могут являться веско дешевле, чем прямые. Обязательно проверяйте разные варианты и учитывайте время в пути.
Следите за сезонными распродажами и предложениями от авиакомпаний. Подписывайтесь на новостные рассылки, чтобы первыми узнавать о скидках.
Обычно, чем раньше вы [url=https://avia-bilet.online]купить авиабилеты москва[/url] начнете отыскивать билеты на самолет, тем вот больше у вас шансов найти низкую цену. Превосходнее бронировать билеты желая бы за 2-3 месяца до вылета.
Ежели вы часто странствуете, разглядите возможность участия в программках лояльности авиакомпаний. Скопленные мили помогут вам получить скидку на будущие перелеты.
Обращайте внимание на дополнительные сборы в том числе оплата груза либо выбор мест. Эти расходы могут существенно прирастить общую стоимость билета.
Следуя этим обычным советам, вы сможете существенно сэкономить на авиабилетах и намного больше наслаждаться своими путешествиями!
博客作者 Patrickrip
Do you want to earn money online? Then come on in, good https://linksly.co/qpeOpdCct
博客作者 BSSITEAT
Даркнет маркетплейс – сайт БлекСпрут, всегда свежие готовые клады и проверенные магазины – [url=https://bs2site.co/]ссылка на BlackSprut[/url] — [url=https://kramp-cc.ru/]ссылка на КРАКЕН[/url] kra1 cc at kraken 12 at kraken 14 at, kraken 15 at, kraken 16 at, kraken 17 at —- [url=https://mega555net30.com/]m3ga at[/url] megaweb1 at, megaweb2 at megaweb3 at, megaweb4 at, ссылка на m3ga MEGA DARKNET MARKET
博客作者 SamuelQueni
Кайт школа в москве [url=https://kitehurghada.ru]обучение кайтсёрфингу в москве[/url] https://kitehurghada.ru
博客作者 SamuelQueni
Кайт школа в москве https://kitehurghada.ru
博客作者 Patrickrip
Easy earning on the Internet https://linksly.co/qpeOpdCct
博客作者 Safetysystems
Обучение работающих охране труда safetysystemsgroup.com
Услуги по специальной оценке охране труда, безопасности рабочих процессов, оценке рисков, обучение в аккредитации и многие другие Вы сможете найти на safetysystemsgroup.com уже сейчас. Безопасный рабочий процесс — залог успеха любого предприятия. Мы являемся независимой лабораторией, которая использует новое оборудование, работает определенно на высокое качество.
В отношении [url=https://safetysystemsgroup.com/ohrana-truda/]обучение нормам охраны труда[/url] мы Вам поможем. Молниеносно выезжаем на 1-ое измерение, оказываем услуги по невысоким расценкам, не теряя в качестве, также есть постоянная поддержка экспертов. Вызовите нас, позвонив по номеру телефона +7(499)404-17-83 или оформите возвратный звонок, введя свои данные.
На онлайн ресурсе safetysystemsgroup.com Вы сможете найти отзывы о выполненной работе, а также список наших заказчиков. Лаборатория расположена по адресу: г. Москва, ул. Верхняя Первомайская, д. 47, к. 11, оф. 516.
По запросу [url=https://safetysystemsgroup.com/ppk/]стоимость разработки программы производственного контроля[/url] Вы на правильном пути. Предлагаем пройти дистанционное обучение по охране труда. Попробуйте бесплатный демо-доступ к курсам на представленном интернет сайте. Обучение проходит в заочной форме, доступ с Вами навсегда, можно стартовать в день обращения, без отрыва от собственной работы. Обращайтесь, будем рады с Вами поработать.
博客作者 Kistruika
Строительная компания "СтройРесурс" является основным игроком на строительном рынке готовых домов в городе Ижевск и Удмуртии. Мы предлагаем все виды услуг, с этапа проектирования и до финишной отделки, предлагая безупречное качество работ, опираясь на современные методы и надёжные материалы.
Наша фирма имеем богатый опыт и выполнили множество успешных проектов, что подтверждает нашей репутации как партнера.
Если вы хотите возвести свой собственный дом, то [url=https://xn--18-mlcpylcbdfbet.xn--p1ai/katalog/karkasnyie-doma/]ижевск каркасный дом цена[/url] – это то, что вам требуется. Мы предлагаем услуги по сооружению домов различных типов, включая в себя жилища из кирпича и дома из дерева, а также [url=https://xn--18-mlcpylcbdfbet.xn--p1ai/]купить готовый дом[/url] . Этот подход позволяет нашим клиентам оптимизировать расходы с соблюдением стандартов.
Мы предлагаем уникальный подход к любой задаче, ориентируясь на все потребности наших клиентов. Наша команда специалистов наделена необходимыми знаниями и навыками для строительства домов премиум-класса. Дополнительно, мы даём уверенность на все виды работ, что подтверждает наше стремление к надежному сотрудничеству.
Если вы находите надёжного партнера для возведения дома вашей мечты, остановите выбор на стройресурс18.рф. Мы постараемся сделать всё, чтобы стройка прошла гладко, и конечный результат вас восхитил. Для связи: Россия, Ижевск, дом 160 на ул. Пушкинская, телефон +7 (3412) 77-24-40.
博客作者 Safetysystems
Оказание услуг по проведению оценки профессиональных рисков safetysystemsgroup.com
Услуги по спецоценке охране труда, безопасности производственных процессов, оценке рисков, помощь в аккредитации и многие другие Вы сможете найти на safetysystemsgroup.com прямо сейчас. Защищенный труд — оберег успеха любого предприятия. Мы являемся независимой лабораторией, которая использует новейшие методики измерений, работает нацеленно на качество.
Что касается [url=https://safetysystemsgroup.com/pomosch-v-akkreditatsii-lab/]аттестат аккредитации испытательной лаборатории[/url] мы Вам окажем помощь. Молниеносно выезжаем на первое измерение, оказываем услуги по невысоким ценам, не теряя в качестве, также имеется регулярная поддержка экспертов. Пригласите нас, позвонив по телефону +7(499)404-17-83 или закажите обратный звонок, указав своё имя и телефон.
На веб портале safetysystemsgroup.com Вы можете прочитать отзывы о проделанной работе, а также список наших клиентов. Лаборатория расположена по адресу: г. Москва, ул. Верхняя Первомайская, д. 47, к. 11, оф. 516.
По вопросу [url=https://safetysystemsgroup.com/ocenka-riskov/]оценка профессиональных рисков на транспорте[/url] Вы на правильном пути. Предлагаем пройти онлайн обучение по охране труда. Попробуйте бесплатный демо-доступ к курсам на данном интернет портале. Обучение проходит в заочной форме, доступ с Вами навсегда, можно стартовать в день обращения, без отрыва от своей работы. Обращайтесь, будем рады с Вами сотрудничать.