在咱们使用SpringBoot来搭建项目时,会发现它不支持JSP。这是由于SpringBoot只支持模板引擎的缘由。html
那么,如何在SpringBoot中使用JSP呢?java
1.为项目添加servlet等依赖;web
<!-- servlet 依赖. --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!--SpringBoot默认不支持JSP,须要在项目中添加相关的依赖--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <dependency> <groupId>org.eclipse.jdt.core.compiler</groupId> <artifactId>ecj</artifactId> <version>4.6.1</version> <scope>provided</scope> </dependency>
2.为项目添加web的Module ;spring
右键选中项目 ==》 open Module settings ;apache
而后为web添加web.xml等资源:api
添加完成后,就能够在main文件夹下找到web资源文件夹了;tomcat
3.配置spring boot的配置文件,使其支持jsp;app
在spring boot中已经集成好了spring MVC ,因此咱们只须要一些配置便可使得controller响应到jsp页面上;eclipse
注:1.本人用的是yml文件的配置形式,因此各位看到是这个格式;webapp
2.使用过spring MVC的朋友可能知道prefix和suffix是什么意思,分别表明前缀和后缀,能够理解为在controller响应到页面时会自动加上的内容。(我的理解)
4.编写controller和jsp页面;
controller类:
jsp页面:
5.配置编译时将web资源也进行编译;
在pom.xml文件的<build>节点中新增内容:
<resources> <!-- 打包时将jsp文件拷贝到META-INF目录下--> <resource> <!-- 指定处理哪一个目录下的资源文件 --> <directory>src/main/webapp</directory> <!--注意这次必需要放在此目录下才能被访问到--> <targetPath>META-INF/resources</targetPath> <includes> <include>**/**</include> </includes> </resource> </resources>
控制台中也打印了controller的输出语句。
OK,测试成功!
可能有些朋友不是很懂,我说下个人理解:
在项目被编译后,默认是不会自动去编译咱们web资源文件夹的,我最后一步的操做就是告诉编译程序,这里还有一些东西须要用到你来编译,你要把它们也编译好。
注:关因而否编译,能够在和src同级的target文件夹下的classes文件夹下查看。
本次分享就到这里,分享令人进步!
溜了溜了~