废话不多说 , 直接上代码 相信都能看的懂
一 一 两布 第一步 , 创建 Interceptor 拦截
пакет com.cy.example.config; import javax.servlet.http.httpservletrequest; импорт javax.servlet.http.httpservletresponse; import javax.servlet.http.httpsession; импорт org.slf4j.logger; import org.slf4j.l. org.springframework.web.servlet.handlerinterceptor; import org.springframework.web.servlet.modelandView; открытый класс LoginInterceptor реализует HandlerInterceptor {private logger = loggerFactory.getLogger (loginInterceptor.class); public void poshandle (httpservletrequest, httpservletresponse ответ, обработчик объекта, модель и модели модели и обзор) исключение {// todo автоматически сгенерированный метод} public void aftercomplotion (httpservletrequest, httpservesceonse spense, exception exception {waft wabe usemendated usemendered usemendered usemendered usemenderevonse spenevense spensevonse, exectored wabletrec } public boolean prehandle (httpservletrequest, httpservletresponse response, обработчик объекта), бросает исключение {// todo автоматически генерируемое метод // 获取 сеанс httpsession session = request.getsession (true); logger.info ("----- 进入登录拦截器-Url :"+request.getServletPath ()+"-----"); if (session.getattribute (webconfig.login_user) == null) {logger.info ("------ 跳转到 跳转到 页面-页面 -----"); response.sendredirect (request.getContextPath ()+"/index"); вернуть ложь; } else {session.setattribute (webconfig.login_user, session.getattribute (webconfig.login_user)); вернуть истину; }}}第二步 , 注册创建的拦截器
пакет com.cy.example.config; import org.springframework.context.annotation.configuration; import org.springframework.web.servlet.config.annotation.defauldervlethandlerconfigurer; импорт org.spramework.web.servlet.annotation.Ingectortortoration; org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;@Configurationpublic class WebConfig extends WebMvcConfigurerAdapter { public static String LOGIN_USER = "loginUser"; public webconfig () {super (); } // 因为新加了拦截器 , 这里需要重新设置资源地址 @Override public void addresourcehandlers (реестр ресурсов -иудальщика) {Registry.addresourcehandler ("/static/**"). Addresourcelocations ("classpath:/static/"); Registry.addresourcehandler ("/templates/**"). Addresourcelocations ("classpath:/templates/"); Super.AddresourceHandlers (реестр); } @Override public void configuredEfaultservleThandling (defauldervlethandlerconfigurer configururer) {configururer.enable (); } @Override public void AddInterceptors (реестр перехвата) {// 拦截规则 : 除了 除了 , 其他都拦截判断 其他都拦截判断, ExclodEpathpatterns 是排除拦截的路径 , 一个是登录验证地址 , 一个是登录页 Registry.addinterceptor (NewloginInterceptor ()). AddPathPatterns («/**»). ExcudePathpathpathpathpathpathpathpathpathpathpath Super.addinterceptors (реестр); }}以上就是本文的全部内容 , 希望对大家的学习有所帮助 也希望大家多多支持武林网。