我们可以在Controller中添加以下代码,通过访问index,来转发到index.html
@Controller public class WebController { @GetMapping("/index") public String index(){ return "index"; } }
除了使用上面的方式外,我们可以通过注解来实现同样的功能。
首先给java类添加@Configuration注解,让其变成注解类,然后实现WebMvcConfigurer并实现addViewControllers
@Configuration public class ApplicationConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/index").setViewName("index"); } }
其中addViewController(“/index”)相当于之前的 @GetMapping(“/index”),setViewName(“index”)相当于 return “index”;
同样,之前的拦截器我们也可以用同样方法:
package io.zhangjia.springboot4.config; import io.zhangjia.springboot4.interceptor.LoginInterceptor; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class ApplicationConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/index").setViewName("index"); registry.addViewController("/login").setViewName("login"); // registry.addViewController("/login.html").setViewName("login"); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/index") .addPathPatterns("/cart") .addPathPatterns("/order"); } }
其中LoginInterceptor便是我们编写的拦截器类,而/index就是我们要拦截的地址,可以直接在
请登录之后再进行评论