spring boot之spring mvc常用配置--viewController(6)

实际开发中会涉及到大量的页面跳转。我们可以重写addVeiwControllers来简化页面的跳转。

1.继承WebMvcConfigurerAdapter,重写addViewControllers

package com.boot.springmvc;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;

import com.boot.springmvc.interceptor.DemoInterceptor;

/**
 * 	@Bean
	public InternalResourceViewResolver viewResolver();
 * 注入InternalResourceViewResolver类:
 * 说明:springmvc下有一个接口叫ViewResolver,(我们的viewResolver都实现该接口),实现这个接口要重写
 * resolverName(),这个方法的返回值接口View,而view的职责就是使用model、request、response对象,并
 * 渲染视图(不一定是html、可能是json、xml、pdf等)给浏览器 。
 *
 */
@Configuration
@EnableWebMvc // 1开启默认配置
@EnableScheduling
@ComponentScan("com.boot.springmvc")
public class MyMvcConfig extends WebMvcConfigurerAdapter{//2
	//viewResolver
	@Bean
	public InternalResourceViewResolver viewResolver() {
		InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
		//viewResolver.setPrefix("/WEB-INF/classes/views/");//打war后默认编译的路径
		viewResolver.setPrefix("/WEB-INF/views/");//使用tomcat7:run插件后要放的位置
		viewResolver.setSuffix(".jsp");
		viewResolver.setViewClass(JstlView.class);
		return viewResolver;
	}
	//静态资源映射
	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		registry.addResourceHandler("/assets/**").addResourceLocations("classpath:/assets/");
	}// 3
	
	//拦截器
	@Bean
	// 1
	public DemoInterceptor demoInterceptor() {
		return new DemoInterceptor();
	}

	@Override
	public void addInterceptors(InterceptorRegistry registry) {// 2
		registry.addInterceptor(demoInterceptor());
	}
	//viewController
	@Override
	public void addViewControllers(ViewControllerRegistry registry) {
		registry.addViewController("/index1").setViewName("/index1");
	}
}

2.index1页面

//viewController
	@Override
	public void addViewControllers(ViewControllerRegistry registry) {
		registry.addViewController("/index1").setViewName("/index1");
	}

spring boot之spring mvc常用配置--viewController(6)_第1张图片

重点代码:

//viewController
	@Override
	public void addViewControllers(ViewControllerRegistry registry) {
		registry.addViewController("/index1").setViewName("/index1");
	}


注意:

//viewResolver.setPrefix("/WEB-INF/classes/views/");//打war后默认编译的路径
		viewResolver.setPrefix("/WEB-INF/views/");//使用tomcat7:run插件后要放的位置

你可能感兴趣的:(spring,boot之mvc注解)