springboot 多模块集成jsp 问题处理

Spring Boot 在多模块中集成jsp中,总是遇到不能跳转jsp的坑,网上搜索总结如下:

自己测试非常实用!!!!!!!!!!!!!!!!!!!!!!!!!!!

Spring Boot 在单一module中集成jsp ,在配置文件中配置目录等信息就可以了。

但是在多module中,就会出现不能跳转到jsp或是404错误。

所以多模块中还要做其他配置,全部配置如下:

1、首先在application.properties添加:

#1.当parent标签中引入的是1.4.0版本的话,那么applicaion.properties中配置jsp前缀和后缀的时候应该配置如下,一定要带上mvc
#spring.mvc.view.prefix=/WEB-INF/jsp/
#spring.mvc.view.suffix=.jsp
#2.当parent标签中引入的是1.1.3版本的话,那么applicaion.properties中配置jsp前缀和后缀的时候应该配置如下,一定不要带上mvc
#spring.view.prefix=/WEB-INF/jsp/
#spring.view.suffix=.jsp


#页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/jsp/
#响应页面默认后缀
spring.mvc.view.suffix=.jsp

2、新添加配置类:配置类 在启动类的目录下或者是启动类的子目录下

@Configuration
public class WebJSPConfig  extends WebMvcConfigurerAdapter{
private static final Logger logger= Logger.getLogger(WebJSPConfig.class);

/**
     * 多模块的jsp访问,默认是src/main/webapp,但是多模块的目录只设置yml文件或propeerties文件不行
     * @return
*/
@Bean
public InternalResourceViewResolver viewResolver(){
        InternalResourceViewResolver viewResolver=new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");
logger.info("****************/WEB-INF/jsp/*****************************************");
        return viewResolver;
}


    /** 指定默认文件的地址,jsp页面引入js和css的时候就不用管项目路径了 */
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**")
                .addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX+"/static/");
        super.addResourceHandlers(registry);
}
}

猜你喜欢

转载自cloudpure.iteye.com/blog/2400899