添加自定义注解
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 | 28,737 条评论
博客作者 WilliamBom
Melbet is a prominent online sportsbook that offers a wide range of betting options for sports enthusiasts and gambling aficionados. Founded in 2012, Melbet has quickly gained a reputation for its extensive market coverage, competitive odds, and user-friendly platform. In this article, we will explore the key features and offerings of Melbet, making it a popular choice among bettors.
Wide Range of Sports and Markets
Melbet provides an impressive selection of sports for betting, including popular options like football, basketball, tennis, and ice hockey. Additionally, the platform covers niche sports like table tennis, handball, and eSports, catering to diverse preferences. Users can bet on various markets, including match outcomes, total points, and specific player performances, giving bettors plenty of options.
Live Betting Experience
One of the standout features of Melbet is its live betting platform. Players can place bets on ongoing matches and events, providing a thrilling and dynamic experience. The live betting interface is intuitive, with real-time updates on scores, statistics, and betting options, allowing users to make informed decisions on the fly.
Competitive Odds and Promotions
Melbet is known for offering competitive odds, which can significantly increase potential winnings for bettors. The platform frequently runs promotions and bonuses, such as welcome bonuses for new users and regular promotions for existing customers. These incentives enhance the betting experience and provide additional value to users.
User-Friendly Interface
Melbet boasts a user-friendly interface that simplifies the betting process. The website is well-organized, with clear categories for different sports and events. Whether accessing the site via desktop or mobile, users find it easy to navigate and place bets quickly.
Mobile Betting App
For bettors who prefer to place wagers on the go, Melbet offers a mobile app available for both Android and iOS devices. The app provides the same features as the desktop site, ensuring that users can enjoy a seamless betting experience from anywhere.
Payment Options
Melbet supports a variety of payment methods [url=https://www.chordie.com/forum/profile.php?id=1998697]https://www.chordie.com/forum/profile.php?id=1998697[/url] for deposits and withdrawals, catering to a global audience. Users can choose from credit cards, e-wallets, bank transfers, and cryptocurrencies, making transactions convenient and secure.
Customer Support
Melbet provides responsive customer support through multiple channels, including live chat, email, and phone. Their support team is knowledgeable and ready to assist users with any questions or concerns, ensuring a positive experience for all bettors.
Conclusion
Melbet has established itself as a reputable bookmaker with a wide range of betting options, live betting experiences, and competitive odds. Whether you are a novice bettor or an experienced gambler, Melbet offers a platform that combines convenience, variety, and value. With its commitment to customer satisfaction and an ever-expanding range of sports and markets, Melbet is worth considering for anyone looking to enhance their betting experience.
博客作者 Jamesblork
Сертификат соответствия ИСО 9001 – документ, который выдается по результатам экспертной проверки и подтверждает, что система менеджмента качества (СМК) организации соответствует международному стандарту SO 9001 https://www.sostav.ru/blogs/30357/41792
博客作者 JosephFuelp
Pill facts available. Patient medicine guide.
[url=https://trustonlinepharmacy.shop/#]online pharmacy technician[/url]
Medication effects explained. Current drug trends.
博客作者 JesusHoady
[url=https://kraken102.at/]кракен ссылка kraken 2krnk biz[/url] – kraken ссылка зеркало официальный сайт 2kmp biz, кракен площадка ссылка kraken 7 one
博客作者 order
[url=https://ifinasteride.com/]finasteride 5mg[/url]
博客作者 Thomasbooth
Центр системе сертификации ВНИИ Сертификация это ведущая организация, занимающаяся оценкой и подтверждением соответствия продукции, услуг и систем управления международным стандартам. Учреждение было основано с целью обеспечения больших стандартов качества и безопасности на российском и международном базарах.
Основные направления деятельности
Центр системе сертификации делает отличное предложение большой объем услуг, включая:
Достоинства работы с ВНИИ Сертификация
Клиенты центра могут рассчитывать на:
Заключение
Центр сертификации ВНИИ Сертификация [url=https://www.vnii-certification.ru/]https://www.vnii-certification.ru/[/url] играет главную роль в поддержании высоких стандартов на базаре. Из-за своим услугам, предприятия могут уверенно выходить на новые рынки и усиливать свою репутацию.
博客作者 JeromeJaphy
Отказное письмо (ОП) – это документ, который удостоверяет, что изделие/товар/материал не подлежат обязательной оценке качества и получению сертификата/декларации в определённой системе https://vc.ru/life/1331217-otkaznoe-pismo-gde-poluchit-i-skolko-stoit-oformlenie
博客作者 Plavredanem
В 2024 году [url=https://vc.ru/u/2656885-wikinav/1356969-zaimy-bez-otkazov-i-proverok-na-kartu-onlain-vzyat-zaim-v-mfo-2024-kotorye-odobryayut-dengi-vsem-s-mgnovennym-perevodom-na-kartu]займ онлайн срочно на карту без отказа[/url] приобретают огромную популярность благодаря своей простоте и доступности. Микрофинансовые организации предлагают услуги без отказов и проверок кредитной истории. Достаточно иметь паспорт и банковскую карту, чтобы мгновенно получить нужную сумму. Такие займы особенно актуальны для людей с непредвиденными расходами или тем, кто не может получить кредит в банке. Это удобный способ быстро решить финансовые проблемы без лишних бюрократических процедур.
博客作者 Marcusimpup
How to Download Steam Desktop Authenticator
If you’re looking to augment your Steam account’s guarding, using the Steam Desktop Authenticator is a gigantic option. This relevancy adds an accessory layer of authentication, ration to defer to your account safe from illicit access. Under are the steps on how to download and set up the Steam Desktop Authenticator.
Caution 1: Stopover the True GitHub Phase
Step 2: Download the Application
Step 3: Place the Attention
Step 4: Set Up the Authenticator
Harmonious with 5: Fasten together the Authenticator to Your Steam Account
Conclusion
The Steam Desktop Authenticator is a valuable decorate for enhancing the security of your Steam account. At hand following these steps, you can handily download, connect, and drop it up, ensuring your gaming acquaintance remains shielded and secure. Without exception muse on to keep your betterment codes in a bona fide area to dodge losing access in the future. Get high on gaming securely!
博客作者 sale
[url=https://accutanemix.online/]where to buy accutane uk[/url]
博客作者 drugs
[url=https://ibaclofen.com/]buy baclofen in uk[/url]
博客作者 drug
[url=https://baclofem.com/]baclofen pill 10 mg[/url]
博客作者 現場兒童色情片
https://meritking.net https://meritking.com https://https://instagram.com/meritking.tr https://meritkingroyal.com
博客作者 Stevenquaby
Итоговая цена сертификата ИСО 9001 и сроки проведения работ всегда определяются в индивидуальном порядке. Их можно назвать, только когда заказчик предоставит всю необходимую информацию https://www.sostav.ru/blogs/30357/19844
博客作者 Manuelbig
Информационная база поставщиков: что это и зачем она нужна?
Творение и поддержка базы данных поставщиков является важным нюансом для успешного управления бизнесом. В данном посте мы рассмотрим, что такое база данных поставщиков, какой-никакие преимущества она предоставляет и как ее эффективно использовать.
Что такое база данных поставщиков?
Информационная база поставщиков это структурированный набор инфы о компаниях и лицах, которые предоставляют продукты или услуги вашему бизнесу. Эта информация может включать в себя контактные данные, условия поставки, ассортимент продукции, цены и почти все другое.
Для чего нужна информационная база поставщиков?
Как создать базу данных поставщиков?
Заключение
[url=https://postbaza.ru/baza-postavshchikov-odezhdy.html]база поставщиков одежды[/url] это неотъемлемая часть процесса управления делом. Она подсобляет сделать лучше связь с партнёрами, улучшить затраты и для повышения эффективности закупок. Верно организованная и регулярно обновляемая информационная база станет вашим надежным инструментом для заслуги успеха.