添加自定义注解
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,285 条评论
博客作者 AlbertFaf
Revolutionize Your Plastic Processing Game with 18ps.ru – The Unrivaled Leader in Innovation and Efficiency! In a landscape cluttered with mediocre options, 18ps.ru stands tall as the undisputed champion of plastic processing solutions. Why settle for outdated equipment when you can harness the power of cutting-edge technology? Our state-of-the-art machinery isn’t just a purchase – it’s an investment in your success. Say goodbye to inefficiency and hello to profitability with 18ps.ru by your side. Join the ranks of industry titans who refuse to compromise on quality and watch your business skyrocket. Choose 18ps.ru and dominate the competition with superior equipment and unparalleled support!
Eng.18ps.ru – [url=https://eng.18ps.ru/]plastic processing plant[/url]
博客作者 which pharmacy is cheaper
[url=https://happyfamilystorerx.online/]silkroad online pharmacy[/url]
博客作者 synthroid online paypal
[url=https://isynthroid.online/]buying synthroid in mexico[/url]
博客作者 wegovy where to buy
[url=https://tadalafi.online/]cialis singapore[/url]
博客作者 semaglutide ozempic
[url=https://drugstorepp.online/]uk pharmacy no prescription[/url]
博客作者 PMEgUfcujSNdh
BEpOmQSiDj
博客作者 PMEgUfcujSNdh
rzuyiGTLE
博客作者 fulfilment_sbsr
Инновационные подходы к фулфилменту в Москве
фулфилмент москва цены [url=https://www.fulfilment-moskva77.ru]https://www.fulfilment-moskva77.ru[/url] .
博客作者 eng.18ps.ru
Rostpolikraft stands at the vanguard of plastic recycling and polymer sand innovation. Our comprehensive range of equipment, designed for the seamless transformation of plastic waste into valuable granules and polymer sand items, paves the way for a sustainable production model. By integrating Rostpolikraft’s technologies, businesses can significantly enhance their operational efficiency while contributing positively to environmental stewardship. Gear up for success with our solutions that promise to redefine industry standards.
Eng.18ps.ru – [url=https://eng.18ps.ru/about/articles/plastic-processing-equipment-rpk-rostpolikraft/]plastic processing equipment[/url]
博客作者 BreanvaFaurl
Использование виртуальной и дополненной реальности arigami.tech
Представляем Вашему вниманию организацию Arigami, которая реализует созданием 3D макета товаров для Вашего онлайн портала. В наше современное время имеется множество вариантов как поразить и придержать покупателя, так вот, описываемый 3D обзор среди них. Товар, который Вы реализуете будет виден клиенту как реалистичная модель, которую можно прокрутить с разных сторон, осмотреть размеры, материалы и вид. За всей подробной информацией заходите на веб портал arigami.tech уже сегодня.
По теме [url=https://arigami.tech/]3д разработка[/url] Вы на правильном пути. Мы даем гарантию на высокое реальное качество после перехода его в 3D вид. Весьма просто будет коммуницировать с виджетом, меняя в реальном времени вариации, цвета, размеры. Оригинальный подход к продажам может дать Вам известность и неповторимость в данной сфере. Многие заказчики подчеркивают, что делать покупки приятнее и быстрее с выбором при обзоре 3D моделей.
Кроме работы с интернет сайтами, советуем ознакомиться с дополненной реальностью и приложением для шоу-румов. Дополненная реальность — это примеривание товара с телефона, не выходя из собственного дома. Просто нажмите клавишу «AR» и поместите телефон в необходимое место, где должен размещаться товар. А мобильное приложение для шоу-румов как правило используется менеджером для показа мебели, которой не имеется в зале, но есть вероятность оформить на заказ. Очень удобные функции для Вашего бизнеса, не сомневайтесь.
Если Вы искали [url=https://arigami.tech/]3д визуализация[/url] в интернете, то мы можем Вам оказать помощь. Наше предложение актуально для тематик: ремонт, ретейл, мебель, инструменты, бытовая техника, сантехника и другие. Если Вам сложно определиться, что именно требуется Вашему бизнесу, то оставьте заявку на сайте arigami.tech и наш менеджер Вам перезвонит и даст ответы на возникшие вопросы. Наш контактный номер телефона +7(925)077-93-94 или напишите в телеграм. Будем рады удачному сотрудничеству с Вами!
博客作者 Gasolamab
Dive into the era of sustainable manufacturing with our top-tier plastic recycling and polymer sand equipment. Rostpolikraft’s technology is tailor-made for businesses aiming to transform plastic waste into premium granules and innovative polymer sand products. With our solutions, you not only streamline your production processes but also champion environmental conservation. Choose Rostpolikraft to power your journey towards a greener, more profitable future in recycling.
Eng.18ps.ru – [url=https://eng.18ps.ru/info/recycling-of-polymers/]plastic recycling[/url]
博客作者 canine prednisone 5mg no prescription
[url=https://prednisonekx.online/]how can i order prednisone[/url]
博客作者 ArigmaFaurl
Моделирование товаров в 3D на Ваш сайт arigami.tech
Предлагаем Вашему вниманию организацию Arigami, которая промышляет созданием 3D моделей вещей для Вашего веб ресурса. В наше современное время существует множество вариантов как привлечь внимания и придержать клиента, так вот, представленный 3D обзор среди них. Продукт, который Вы продаете будет виден заказчику как реалистичная модель, которую можно покрутить с разных сторон, осмотреть размеры, состав и вид. За всей детальной информацией заходите на интернет портал arigami.tech уже сегодня.
По вопросу [url=https://arigami.tech/]3d моделирование товаров[/url] Вы на верном пути. Мы гарантируем отличное реальное качество после переноски его в 3D вид. Очень просто будет взаимодействовать с виджетом, изменяя в настоящем времени модели, цвета, размеры. Оригинальный подход к продажам может дать Вам узнаваемость и уникальность в данной сфере. Многие заказчики отмечают, что делать покупки приятнее и быстрее с подбором при обзоре 3D виджетов.
Не считая работы с веб сайтами, советуем ознакомиться с дополненной реальностью и приложением для шоу-румов. Дополненная реальность — это примеривание товара с телефона, не выходя из дома. Просто кликните кнопку «AR» и наведите телефон в необходимое место, где будет размещаться товар. А мобильное приложение для магазинов как правило используется менеджером для показа мебели, которой не имеется в торговом зале, но есть вероятность оформить на заказ. Очень удобные функции для Вашего магазина, не беспокойтесь.
Если Вы хотели найти [url=https://arigami.tech/augmented_reality]ar технологии в маркетинге[/url] в интернете, то мы можем Вам оказать помощь. Наше предложение подходит для тематик: дизайн, спорттовары, декор, оборудование, электроника, товары для сада и дачи и другие. Если Вам сложно определиться, что конкретно требуется Вашему бизнесу, то оформите заявку на сайте arigami.tech и наш менеджер Вам перезвонит и даст ответы на возникшие вопросы. Наш контактный телефон +7(925)077-93-94 или пишите в телеграм. Будем рады успешному сотрудничеству с Вами!
博客作者 Online Web Tools
Thank you great post. Hello Administ .Seo Hizmeti Skype : live:by_umut
博客作者 SumoWebTools
I really love to read such an excellent article. Helpful article. Hello Administ . Seo Hizmeti Skype : live:by_umut