添加自定义注解
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,247 条评论
博客作者 Brianerafe
Наш интернет-магазин "Мебель-шмммммммебель" предлагает широченный гарнитур(а) мебели для кухонь. У нас вы урвете шиздец необходимое для создания уютного и функционального внутреннего убранства https://tyfapao6kuhnishki.ru/.
博客作者 Brianerafe
Отечественный интернет-магазин "Мебель-шмммммммебель" призывает широченный круг мебели для кухонь. У нас ваша милость обнаружите все необходимое для образования уютного и высокофункционального интерьера https://tyfapao6kuhnishki.ru.
博客作者 lxq
https://hdorg2.ru/article?2024-10-24-news-hvgwu-usa-lfzozh.html
https://hdorg2.ru/article?2024-09-18-news-ytdju-charis-aioylq.html
https://hdorg2.ru/article?2024-09-10-news-ezcak-biden-xmtnls.html
https://hdorg2.ru/article?2024-10-11-news-horeq-trump-zdrhqj.html
https://hdorg2.ru/article?2024-10-11-news-jraih-trump-psnjga.html
https://hdorg2.ru/article?2024-10-3-news-ujtdu-video-zvyhhf.html
https://hdorg2.ru/article?2024-10-19-news-vfgiq-charis-ankkyy.html
https://hdorg2.ru/article?2024-10-26-news-ddtjh-video-qjiypg.html
https://hdorg2.ru/article?2024-10-4-news-fhqbz-video-rtzwbh.html
https://hdorg2.ru/article?2024-11-20-news-vgzde-biden-dfbpij.html
https://hdorg2.ru/article?2024-11-11-news-iprwe-trump-jgphmm.html
博客作者 sfo
https://hdorg2.ru/article?2024-09-11-news-chldn-trump-zduaeh.html
https://hdorg2.ru/article?2024-09-5-news-nsdvq-video-tskrav.html
https://hdorg2.ru/article?2024-11-6-news-salyz-charis-afmrtn.html
https://hdorg2.ru/article?2024-11-18-news-kaqjh-trump-inrtnx.html
https://hdorg2.ru/article?2024-09-5-news-mdsky-charis-fpotrm.html
https://hdorg2.ru/article?2024-09-2-news-lltnt-biden-ztxyzg.html
https://hdorg2.ru/article?2024-09-14-news-pvbgx-usa-vfrjtf.html
https://hdorg2.ru/article?2024-10-3-news-bgvky-trump-uotxhb.html
https://hdorg2.ru/article?2024-10-30-news-zakyk-trump-qplkob.html
https://hdorg2.ru/article?2024-10-15-news-uakow-charis-lvyimz.html
https://hdorg2.ru/article?2024-10-14-news-jozct-usa-xjscem.html
博客作者 lgj
https://hdorg2.ru/article?2024-09-2-news-bikse-usa-dhbsvc.html
https://hdorg2.ru/article?2024-10-28-news-oajnw-video-kdnqse.html
https://hdorg2.ru/article?2024-09-10-news-rruzi-trump-kwgokt.html
https://hdorg2.ru/article?2024-10-7-news-pvrsw-charis-shrxov.html
https://hdorg2.ru/article?2024-09-21-news-zafsk-charis-idhzwp.html
https://hdorg2.ru/article?2024-09-22-news-ubipf-trump-zvngso.html
https://hdorg2.ru/article?2024-09-27-news-ktrkx-trump-yownek.html
https://hdorg2.ru/article?2024-10-13-news-xitfr-usa-szouoe.html
https://hdorg2.ru/article?2024-10-19-news-czicy-biden-enpthj.html
https://hdorg2.ru/article?2024-11-26-news-jomiu-trump-ofjvds.html
https://hdorg2.ru/article?2024-09-16-news-kvnwk-video-ghqkwi.html
博客作者 Kup2hdaurb
[url=https://t.me/s/rabotadljadevushek/3]работа в эскорте воронеж девушки[/url]
博客作者 Brianerafe
Свой интернет-магазин "Мебель-шмммммммебель" делает отличное предложение широченный ассортимент мебели чтобы кухонь. ЯЗЫК нас вы выкопаете шиздец необходимое чтобы образования уютного также функционального экстерьера https://www.tyfapao6kuhnishki.ru/.
博客作者 Kup2hdaurb
[url=https://t.me/s/rabotadljadevushek/3]работа эскорт услуги москва[/url]
博客作者 Brianerafe
Выше интернет-магазин "Мебель-шмммммммебель" призывает широченный круг мебели для кухонь. ЯЗЫК нас ваша милость обнаружите шиздец нужное чтобы основания приятного также функционального внутреннего убранства https://tyfapao6kuhnishki.ru.
博客作者 Leroyopema
узнать больше [url=https://kometacasino.link/]kometa Casino[/url]
博客作者 canada pharmacy
Great goods from you, man. I’ve understand your stuff previous to and you’re just extremely wonderful. I really like what you have acquired here, really like what you are stating and the way in which you say it. You make it entertaining and you still care for to keep it sensible. I can’t wait to read far more from you. This is really a terrific website.
博客作者 MontyWek
Vavada casino это одно из самых популярных казино онлайн на просторах интернета. Публикация ниже расскажет нам чем Vavada casino смогло завоевать такой высокий рейтинг среди игроков, и какие игровые возможности и характеристики оно дает своим игрокам.
Игровые автоматы и их максимальный ассортимент
Одним из главных преимуществ казино Вавада является разнообразие игровых автоматов. Для своих игроков казино предлагает огромное количество слотов, в которых можно найти как классические варианты так и модные и новые слоты с прохождением уровней. Игры разработаны известными производителями, такими как NetEnt, Microgaming и Play’n GO, что гарантирует высокое качество графики и звукового оформления.
Кроме того, игроки могут легко находить свои любимые игры благодаря удобной навигации и поиску по категориям. Казино также регулярно обновляет ассортимент игр, что позволяет игрокам всегда находить что-то новенькое и интересное.
Удобный и визуально приятный интерфейс сайта
Казино Вавада может похвастаться интуитивно понятным интерфейсом, который обеспечивает удобство и комфорт в использовании. Даже новички смогут быстро разобраться с функционалом сайта. Играя в казино, пользователи могут легко переходить между разделами, находить информацию о бонусах и акциях, а также управлять своим игровым счетом.
Пользовательский интерфейс оптимизирован как для настольных, так и для мобильных устройств, благодаря чему игроки могут наслаждаться любимыми играми где угодно и в любое время.
Поддержка различных платежных методов
Казино Вавада учитывает потребности своих игроков и предлагает разнообразные методы ввода и вывода средств. Vavada casino поддерживает и обслуживает все типы существующих электронных кошельков [url=https://forums.wolflair.com/member.php?u=113957]https://forums.wolflair.com/member.php?u=113957[/url]
Транзакции и их безопасность также стоят на самом высоком уровне, любые данные ни при каких обстоятельствах не передаются третьим лицам.
Бонусные программы и акции для игроков казино
Рассказывая о Vavada casino нельзя не упомянуть о обширных бонусных программах и акциях для всех игроков. Больше всего бонусов и акционных программ рассчитано для новых игроков казино, что конечно же привлекает все новых и новых клиентов. Кроме того, Вавада предлагает различные промоакции для регулярных игроков, которые могут включать бесплатные спины, кешбэки и различные турниры.
Бонусы увеличивают шансы на выигрыш и делают игровой процесс еще более увлекательным, поэтому регулярное участие в акциях может принести значительную выгоду.
Качественная служба поддержки
Vavada казино может также похвалиться своей службой поддержки, которая готова прийти на помощь к своим игрокам в любое время дня и ночи. Игроки могут обратиться в службу поддержки через различные каналы, включая live-чат и электронную почту. Служба поддержки работает круглосуточно, что позволяет решать любые возникающие вопросы оперативно и эффективно.
博客作者 canada pharmaceuticals online
I do consider all of the ideas you’ve presented on your post. They are really convincing and can definitely work. Still, the posts are too quick for novices. May just you please lengthen them a bit from subsequent time? Thanks for the post.
博客作者 Brianerafe
Отечественный интернет-магазин "Мебель-шмммммммебель" делает отличное предложение широкий выбор мебели чтобы кухонь. ЯЗЫК нас вы посчитаете все нужное для организации приятного и многофункционального интерьера https://tyfapao6kuhnishki.ru.
博客作者 Taylorwex
Medicine guide available. Access drug facts.
[url=https://imitrex2rp.top/#]buy imitrex pills online[/url]
Patient pill guide. Drug impacts explained.