pom.xml
设置<packaging>war</packaging>
<!--支持jsp --> <!--由于Spring boot使用的内嵌的tomcat是不支持jsp页面的,所有需要导入额外的包才能解决。--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <!--打包放到外置tomcat要设置<scope>provided</scope>,使用内置tomcat一定不能设置--> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- 设置为provided是在打包时会将该包排除,因为要放到独立的tomcat中运行,是不需要的。 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
application.yml增加下面配置
#配置jsp 在/main/webapp/WEB-INF新建一个views文件夹 spring: mvc: view: prefix: /WEB-INF/views/ suffix: .jsp
在/main/webapp/WEB-INF新建一个views文件夹 专门来存放jsp文件
增加一个index.jsp文件
增加一个controller
@Controller public class IndexController { @RequestMapping("/") public String index() { return "index"; } }
启动类继承SpringBootServletInitializer 重写configure方法
@SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(this.getClass()); } public static void main(String[] args) { SpringApplication application = new SpringApplication(Application.class); application.run(args); } }
启动项目 访问测试