我使用spring初始化程序创建一个简单的spring boot web项目。我有一个简单的项目设置,包括以下依赖项:
compile('org.springframework.boot:spring-boot-starter-jersey')
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
我使用JSP作为我的视图,所以我在配置中添加了以下bean:
@Bean
public ViewResolver getViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/jsp/");
resolver.setSuffix(".jsp");
return resolver;
}
当我启动应用程序并转到主页时,我收到404错误,但是,当我将以下JAR添加到我的类路径时
compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: '7.0.77'
它有效。我的印象是spring boot starter web依赖包括嵌入式tomcat,我不需要单独添加它?
这是启动它的主要应用程序类:
@SpringBootApplication(scanBasePackages={"com.wsapp"})
@EnableWebMvc
@EnableAutoConfiguration
public class SampleApplication {
public static void main(String[] args) {
SpringApplication.run(SampleApplication.class, args);
}
}
答案 0 :(得分:0)
如果您希望使用tomcat,为什么要在依赖项中使用jersey?
compile('org.springframework.boot:spring-boot-starter-jersey')
我认为弹簧自动配置只是加载球衣配置。 Tomcat是默认值,但前提是您不必在依赖项中显式添加另一个模块。如果你想使用tomcat,请尝试删除此依赖项。