添加自定义注解
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,292 条评论
博客作者 lisinopril 60 mg daily
[url=https://lisinoprilgp.online/]zestril online[/url]
博客作者 Casibom
Thank you for great article. Hello Administ .Seo Hizmeti Skype : live:by_umut
博客作者 Diyarbet
Everything is very open and very clear explanation of issues. was truly information. Seo Hizmeti Skype : live:by_umut
博客作者 onwin
Thank you for great information. Hello Administ . Seo Hizmeti Skype : live:by_umut
博客作者 ByCasino
I really love to read such an excellent article. Helpful article. Hello Administ . Seo Hizmeti Skype : live:by_umut
博客作者 50 mg prednisone tablet
[url=https://bestprednisone.online/]buy prednisone without a prescription[/url]
博客作者 deneme bonusu veren siteler
Thank you for great information. Hello Administ . Seo Hizmeti Skype : live:by_umut
博客作者 товар в 360
3D вид товара для Вашего сайта arigami.tech
По вопросу [url=https://arigami.tech/]3d съемка товаров[/url] Вы на верном пути. Мы гарантируем высокое реалистичное качество после переноса его в 3D режим. Весьма просто будет взаимодействовать с виджетом, меняя в реальном времени модели, цвета, размеры. Оригинальный подход к реализации может дать Вам известность и уникальность в своей сфере. Многие покупатели отмечают, что осуществлять покупки интереснее и проще с выбором при обзоре 3D виджетов.
博客作者 rybelsus drug
[url=https://bestmedsx.online/]viagra online canadian pharmacy[/url]
博客作者 Miguelslaps
Создание визуальных впечатлений для Вашего бренда w2w.group
Фирма Way to win приглашает познакомиться с возможностями технологий виртуальной и дополненной реальности. Удивление заказчиков гарантировано, а также развитие Вашего сайта и, таким образом, дохода. На онлайн ресурсе w2w.group Вы найдете много занимательной и нужной информации о нашей компании и нашей работе.
Относительно [url=https://w2w.group/solutions]разработка мобильных приложений дополненной реальности[/url] мы Вам обязательно поможем. Вот уже свыше 6ти лет мы реализуем работу в представленной сфере, имеем множество хороших комментариев и довольных клиентов, также успели воплотить более 120ти превосходных проектов и всё благодаря новейших инновационных технологий. Ознакомиться с галереей работ возможно также на вышеуказанном веб портале.
Мир не стоит на месте, сейчас уже каждый второй школьник пользуется нейросетью, в Ваш бизнес замер? В таком случае бегом к новейшему и неизведанному. Визуальное оформление на интернет сайте 3D товаров, реалистичное взаимодействие с продуктом, подготовка презентаций для отдела продаж, создание приложений с использованием искусственного интеллекта – это лишь небольшая часть, чем мы можем вам быть пригодны.
По теме [url=https://w2w.group/solutions]виртуальная и дополненная реальность в маркетинге[/url] Вы на верном пути. Наши консультанты готовы дать обратную связь и ответить на все оставшиеся вопросы. Если у Вас есть персональные макеты, которые нужно дополнить реальностью, отправляйте их нам и мы сумеем понять, подойдут ли они. Если их не существует, мы сами готовы их спроектировать, учитывая все Ваши пожелания. Оформление личного сайта с помощью виртуальной и дополненной реальности не только поражает покупателя, но и даёт понять показатель подхода к управлению бизнеса. Тем самым Вы сможете выделиться среди конкурентов на рынке и громко заявить о себе.
Связаться с нами можно написав в форму на онлайн портале w2w.group или позвонив по номеру телефона +7(923)565-78-92. Мы расположены по адресу: г. Москва, ул. Бауманская, д. 6, стр. 2. Также можно списаться с нами через приложение Telegram. Пишите, звоните, обсудим все вопросы и планы и Вы несомненно будете удовлетворены.
博客作者 synthroid 20
[url=https://synthroidotp.online/]buy synthroid online[/url]
博客作者 ar онлайн
3D вид товара для Вашего сайта arigami.tech
По вопросу [url=https://arigami.tech/]3д обзор товара[/url] Вы на верном пути. Мы даем гарантию на отличное реалистичное качество после переноски его в 3D режим. Весьма легко будет взаимодействовать с виджетом, изменяя в реальном времени вариации, цвета, габариты. Особенный путь к реализации может дать Вам известность и уникальность в данной сфере. Многие заказчики отмечают, что делать покупки интереснее и быстрее с подбором при просмотре 3D виджетов.
博客作者 Profginaslaps
Разработка vr приложений в Москве w2w.group
Организация Way to win зовет ознакомиться с преимуществами технологий виртуальной и дополненной реальности. Удивление покупателей 100 %, а также рост Вашего сайта и, соответственно, дохода. На веб ресурсе w2w.group Вы сможете найти большое количество интересной и нужной информации о нас и нашей работе.
В отношении [url=https://w2w.group/solutions]ar разработка москва[/url] мы Вам обязательно поможем. Вот уже свыше 6ти лет мы трудимся в данной сфере, имеем множество хороших отзывов и довольных клиентов, также успели воплотить более сотни успешных проектов и всё с помощью новейших современных технологий. Ознакомиться с портфолио возможно также на вышеупомянутом веб ресурсе.
Мир не стоит на месте, сейчас уже каждый третий школьник пользуется нейросетью, в Ваше предпринимательство остановилось? В таком случае вперёд к новому и неизведанному. Визуальное оформление на сайте 3D товаров, реалистичное взаимодействие с продуктом, AR маски для улучшения узнаваемости бренда, создание приложений с использованием искусственного интеллекта – это лишь малая часть, чем мы можем вам быть пригодны.
По вопросу [url=https://w2w.group/solutions]услуги разработка приложений дополненной реальности[/url] Вы на верном пути. Наши специалисты готовы дать обратную связь и ответить на все оставшиеся вопросы. Если у Вас есть собственные образцы, которые необходимо дополнить реальностью, пришлите их нам и мы сможем понять, годятся ли они. Если их нет, мы сами готовы их воплотить, учитывая все Ваши планы. Оформление личного сайта с помощью виртуальной и дополненной реальности не только поражает покупателя, но и даёт понять показатель подхода к управлению бизнеса. Тем самым Вы сможете выделиться среди конкурентов на рынке и громко заявить о себе.
Связаться с нами можно написав на сайте w2w.group или позвонив по телефону +7(923)565-78-92. Находимся по адресу: г. Москва, ул. Бауманская, д. 6, стр. 2. Также можно списаться с нами через приложение Telegram. Оформляйте заявки, звоните, обсудим все задачи и планы и Вы в любом случае будете довольны.
博客作者 where to get azithromycin
[url=https://azithromycinmds.online/]generic zithromax 500mg[/url]
博客作者 buy valtrex
[url=https://valtrexmedication.com/]where to buy valtrex without a prescription[/url]