如何让SpringBoot支持JSP

   咱们使用SpringBoot搭建项目时,会发现它不支持JSP。这是由于SpringBoot只支持模板引擎的缘由。html

那么,如何在SpringBoot中使用JSP呢?java

1.为项目添加servlet等相关的依赖:web

[html]  view plain  copy
 print ?
  1. <!-- 引入servlet依赖. -->  
  2. <dependency>  
  3.     <groupId>javax.servlet</groupId>  
  4.     <artifactId>javax.servlet-api</artifactId>  
  5.     <scope>provided</scope>  
  6. </dependency>  
  7.   <!-- 引入servlet-jstl依赖. -->
  8.       <dependency>  
  9.           <groupId>javax.servlet</groupId>  
  10.           <artifactId>jstl</artifactId>  
  11.       </dependency>  
  12.   
  13. <!--SpringBoot默认不支持JSP,须要在项目中添加相关的依赖-->  
  14. <dependency>  
  15.     <groupId>org.apache.tomcat.embed</groupId>  
  16.     <artifactId>tomcat-embed-jasper</artifactId>  
  17. </dependency>  
  18.   
  19. <dependency>  
  20.     <groupId>org.eclipse.jdt.core.compiler</groupId>  
  21.     <artifactId>ecj</artifactId>  
  22.     <version>4.6.1</version>  
  23.     <scope>provided</scope>  
  24. </dependency>  

2.为项目添加web的Module:spring

右键选中项目:   open Module settingsapache



而后为web添加web.xml:api



添加完成后,就能够在main文件夹下面找到web文件夹了tomcat

3.配置spring boot的配置文件,使其支持jsp:eclipse

在spring boot中已经集成好了spring MVC ,因此咱们只须要一些配置便可使得controller响应到jsp页面上;jsp


注:1.本人用的是yml文件的配置形式,因此各位看到是这个格式;ide

      2.使用过spring MVC的朋友可能知道prefix和suffix是什么意思,分别表明前缀和后缀,能够理解为在controller响应到页面时会自动加上的内容。(我的理解)


4.编写controller和jsp页面;

controller类:



jsp页面:


5.配置编译时将web资源也进行编译;

在pom.xml文件的<build>节点中新增内容

6.启动项目,测试:



 OK,测试成功!

可能有些朋友不是很懂,我说下个人理解:

      在项目被编译前,默认是不会自动去编译咱们web资源文件夹的,我最后一步的操做就是告诉编译程序,这里有一些东西须要用到你本身来编译,你要把它们也编译好。

注:想看到你本身是否编译好,能够在和src同级的target文件夹下面的classes文件夹下进行查看。


本次分享就到这里啦,分享令人快乐进步!