做WEB项目,一定都用过JSP这个大牌。Spring MVC里面也可以很方便的将JSP与一个View关联起来,使用还是非常方便的。当你从一个传统的Spring MVC项目转入一个Spring Boot项目后,却发现JSP和view关联有些麻烦,因为官方不推荐JSP在Spring Boot中使用。在我看来,继续用这种繁杂的手续支持JSP仅仅只是为了简单兼容而已。
我们先来看看如何在SpringBoot中使用JSP
1:在项目中添加依赖
<!-- 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 ;
右键选中项目 --> open Module settings ;
注:
prefix代表前缀,suffix代表后缀,然后我将后缀名改成了.yml所以格式就成了如图以上的格式。
4.配置编译时将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>
5.编写controller和jsp页面;
@RequestMapping("indexs")
public String index(Map<String,Object> map){
System.out.println("进入====");
map.put("name","haha");
return "index";
}
jsp:
6:测试
控制台中也打印了controller的输出语句。就代表成功了。