一,配置相关文件
1.加入thymeleaf模板,jQuery坐标,bootstrap坐标,nekohtml坐标
<!--启用不严格检查html--> <dependency> <groupId>net.sourceforge.nekohtml</groupId> <artifactId>nekohtml</artifactId> <version>1.9.22</version> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>bootstrap</artifactId> <version>4.1.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.webjars.bower/jquery --> <dependency> <groupId>org.webjars.bower</groupId> <artifactId>jquery</artifactId> <version>3.2.1</version> </dependency> <!--thymeleaf模板--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
2.编写application.properties文件
spring.thymeleaf.cache=false
spring.thymeleaf.mode=LEGACYHTML5
3.编写登陆拦截类public class LoginInterceptor implements HandlerInterceptor { /** * 访问前拦截 * @param request * @param response * @param handler * @return true 放行 false 拦截 * @throws Exception * */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.err.println("---进入拦截器--"); HttpSession session = request.getSession(); Object loginUser = session.getAttribute("loginUser"); if (loginUser==null){ //采取转发 request.getRequestDispatcher("/index.html").forward(request,response); return false; }else { return true;//放行 } } 4.编写config类
package cn.vp.config; import cn.vp.interceptor.LoginInterceptor; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.*; import java.util.Arrays; /** * */ @Configuration //@EnableAutoConfiguration //表示springBoot不再托管springMvc public class MyConfig extends WebMvcConfigurerAdapter { //作用:登陆时,只能通过"/login","/","/index.html" @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginInterceptor()).excludePathPatterns("/login","/","/index.html"); } @Override public void addViewControllers(ViewControllerRegistry registry) { // super.addViewControllers(registry); registry.addViewController("/").setViewName("login"); registry.addViewController("/index.html").setViewName("login"); registry.addViewController("/dashboard.html").setViewName("dashboard"); registry.addViewController("/list.html").setViewName("list"); } }