添加自定义注解
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,206 条评论
博客作者 generic
[url=https://lasixor.online/]lasix 40 mg without prescription[/url]
博客作者 JoseRexeffiff
What could be very rather more important than retrospectively the extent of the enzyme induction is determined by the herbal finding out why medicine and natural medicines interact is the medicine, its dosage, and even the precise extract used (see information that such in vitro checks can present about Variability of natural medicines, web page 6). The extra depen ders (Gaucher disease) oral medicine may be successful dent on vitality production an organ is, the more profound in reducing the accumulation of the metabolite that cannot the signs of defciency of mitochondrial function in that be catabolized. Cyclin D1 oncoprotein aberrantly accumulates in malignancies of various histogenesis spasms near tailbone [url=https://imitrexmed.com]buy genuine sumatriptan[/url].
Taken orally, LotronexпїЅ is rapidly absorbed with a mean bioavailability of approximately 50% to 60%. A securely attached baby will use the mother or father stroke; dumps raisin from bottle as a secure base from which to explore independently. Interestingly, certain directly give rise to mature ependymocytes, whereas histologic subtypes have preferred spinal places muscle relaxant ratings [url=https://imitrexmed.com]100 mg imitrex purchase mastercard[/url].
博客作者 Dwighttet
Интернет-казино стали неотъемлемой частью современного веселья. Они предлагают игрокам уникальную возможность испытать фортуну, не покидая собственного дома. В данной статье мы рассмотрим основные аспекты мира веб-казино.
1-ые веб-казино появились в самом конце 1990-х годов. С тех пор технологические процессы очень сильно усовершенствовались, что способствовало росту популярности азартных игр он-лайн. Сегодня игроки могут наслаждаться не только лишь классическими настольными играми, а также инновационными слотами, видео покером причем даже живыми играми с реальными крупье.
Существует огромное количество интернет-казино, и выбор правильного заведения может оказаться сложной задачей. При выборе обратите внимание на:
Безопасность ключевой g567y7 аспект забавы в веб-казино. Убедитесь, что выбранное вами казино употребляет современные технологии шифрования данных. Также принципиально помнить о мудром подходе к играм на интерес:
С появлением новых технологий интернет-казино https://lib39.ru/forum/index.php?PAGE_NAME=profile_view&UID=68315 постоянно развиваются. Мобильные приложения, виртуальная реальность и блокчейн технологии это все теснее входит в мир онлайн-азартных игр, предлагая игрокам новый уровень взаимодействия и удобства.
В заключительные годы игроки начали объединяться в он-лайн-сообщества. Это позволяет обмениваться опытом, стратегиями и рассказывать о своих выигрышах. Участие в таких сообществах может значительно повысить ваши шансы на фуррор.
Заключение
Мир интернет-казино полон способностей и приключений. Но, как и в всех играх на интерес, главно подходить к этому занятию трепетно и с осторожностью. Помните, что основное это наслаждение от процесса, но не только стремление к выигрышу.
博客作者 pharmacy
[url=https://dexamethasoneff.com/]dexamethasone 0 75 mg[/url]
博客作者 pharmacy
[url=https://accutaneiso.online/]accutane europe[/url]
博客作者 Sahabet
Thank you for great content. Hello Administ. Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Sahabet
Thank you for content. Area rugs and online home decor store. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Sahabet
I really love to read such an excellent article. Helpful article. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 儿童色情片
şırpa kuloan https://denemebonusu.market https://www.bonusvakti10.com https://onwingir.org https://19forum-bahis.com https://onwinn.com
博客作者 Lavillnit
[url=https://chimmed.ru/products/3-3e-4-13-benzodioxol-5-yl-2-oxobut-3-en-1-yl-1-ethyl-3-hydroxy-13-dihydro-2h-indol-2-one-id=4382996]3 3e -4- 1,3-benzodioxol-5-yl -2-oxobut-3-en-1-yl -1-ethyl-3-hydroxy-1,3-dihydro-2h-indol-2-one – kupit’ online v internet-magazine chimmed [/url]
Tegs: [u]pyrex r serological pipettes, disposab& – kupit’ online v internet-magazine chimmed [/u]
[i]anti-pax2 antibody produced in rabbit fi – kupit’ online v internet-magazine chimmed [/i]
[b]anti-sim1 antibody produced in rabbit bi – kupit’ online v internet-magazine chimmed [/b]
5,5-dimethyl-1,4,5,6-tetrahydropyrimidin-2-yl sulfanyl acetic acid – kupit’ online v internet-magazine chimmed https://chimmed.ru/products/55-dimethyl-1456-tetrahydropyrimidin-2-ylsulfanylacetic-acid-id=4382997
博客作者 国产线播放免费人成视频播放
şırpa kuloan https://onwinn.net https://www.bonusvakti10.com https://onwingir.org https://19forum-bahis.com https://onwinn.com
博客作者 drugs
[url=https://adexamethasonep.online/]dexamethasone 2mg tablets price[/url]
博客作者 pill
[url=https://finasterideff.com/]finasteride prescription usa[/url]
博客作者 drugs
[url=https://modafinile.com/]buy modafinil tablets[/url]
博客作者 srexmoums
https://lookerstudio.google.com/reporting/b55c1317-b1d0-40ba-99d4-c2c65d39d902/page/Lrx6D
free gems brawl stars 2024 ohne handynummer brawl stars hack kostenlos juwelen free brawl stars accounts generator free gem generator brawl stars brawl stars download pc free brawl stars font free download
free gems in brawl stars 2024 free gemmes brawl stars 2024 free gems hack brawl stars brawl stars free gems 2024 brawl stars hack kostenlos juwelen free gems brawl stars 2024 no verification
free skins for brawl stars free brawl stars accounts generator free gems for brawl star free gems for brawl star brawl stars coins for free free gems brawl stars 2024 ohne handynummer