如何让SpringBoot支持JSP
我们使用SpringBoot搭建项目时,会发现它不支持JSP。这是因为SpringBoot只支持模板引擎的原因。
那么,如何在SpringBoot中使用JSP呢?
1.为项目添加servlet等相关的依赖:
- <!-- 引入servlet依赖. -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <scope>provided</scope>
- </dependency>
- <!-- 引入servlet-jstl依赖. -->
- <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:
右键选中项目: open Module settings
然后为web添加web.xml:
添加完成后,就可以在main文件夹下面找到web文件夹了
3.配置spring boot的配置文件,使其支持jsp:
在spring boot中已经集成好了spring MVC ,所以我们只需要一些配置即可使得controller响应到jsp页面上;
注:1.本人用的是yml文件的配置形式,所以各位看到是这个格式;
2.使用过spring MVC的朋友可能知道prefix和suffix是什么意思,分别代表前缀和后缀,可以理解为在controller响应到页面时会自动加上的内容。(个人理解)
4.编写controller和jsp页面;
controller类:
jsp页面:
5.配置编译时将web资源也进行编译;
在pom.xml文件的<build>节点中新增内容
6.启动项目,测试:
OK,测试成功!
可能有些朋友不是很懂,我说下我的理解:
在项目被编译前,默认是不会自动去编译我们web资源文件夹的,我最后一步的操作就是告诉编译程序,这里有一些东西需要用到你自己来编译,你要把它们也编译好。
注:想看到你自己是否编译好,可以在和src同级的target文件夹下面的classes文件夹下进行查看。
本次分享就到这里啦,分享使人快乐进步!