项目名称:009-springboot-jsp
1. 在pom.xml文件中配置以下依赖项
<!--引入Spring Boot内嵌的Tomcat对JSP的解析包,不加解析不了jsp页面-->
<!--如果只是使用JSP页面,可以只添加该依赖-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!--如果要使用servlet必须添加该以下两个依赖-->
<!-- servlet依赖的jar包-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!-- jsp依赖jar包-->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
</dependency>
<!--如果使用JSTL必须添加该依赖-->
<!--jstl标签依赖的jar包start-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
2. 在pom.xml的build标签中要配置以下信息
SpringBoot要求jsp文件必须编译到指定的META-INF/resources目录下才能访问,否则访问不到。其实官方已经更建议使用模板技术(后面会讲模板技术)。
<!--
SpringBoot要求jsp文件必须编译到指定的META-INF/resources目录下才能访问,否则访问不到。
其它官方已经建议使用模版技术(后面会课程会单独讲解模版技术)
-->
<resources>
<resource>
<!--源文件位置-->
<directory>src/main/webapp</directory>
<!--指定编译到META-INF/resource,该目录不能随便写-->
<targetPath>META-INF/resources</targetPath>
<!--指定要把哪些文件编译进去,**表示webapp目录及子目录,*.*表示所有文件-->
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
3. 在application.properties文件配置Spring MVC的视图展示为jsp,这里相当于Spring MVC的配置
#配置SpringMVC的视图解析器
#其中:/相当于src/main/webapp目录
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
集成完毕之后,剩下的步骤和我们使用Spring MVC一样
4. 在com.bjpowernode.springboot.controller包下创建JspController类,并编写代码
/**
* ClassName:SpringBootController
* Package:com.bjpowernode.springboot.web
* Description:
*/
@Controller
public class SpringBootController {
@RequestMapping(value = "/springBoot/jsp")
public String jsp(Model model) {
model.addAttribute("data","SpringBoot 前端使用JSP页面!");
return "index";
}
}
5. 在src/main 下创建一个webapp目录,然后在该目录下新建index.jsp页面
如果在webapp目录下右键,没有创建jsp的选项,可以在Project Structure中指定webapp为Web Resource Directory
6. 在jsp中获取Controller传递过来的数据
7. 重新运行Application,通过浏览器访问测试