Spring Boot -- JSP
1. pom.xml
<!--jsp页面使用jstl标签-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!--用于编译jsp-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<!--<scope>provided</scope>-->
</dependency>
注意:此种依赖配置是使用的内嵌的tomcat,可以通过运行java程序的方式来启动,注意打包方式packaging=jar,如果想配置成war还需要别的配置
注意:tomcat-embed-jasper依赖的scope
有添加provided的情况:
- 右键运行启动类,访问页面报404错误
- 使用spring-boot:run运行正常
- 打包成jar,通过 java -jar demo-0.0.1-SNAPSHOT.jar 运行报错
- 打包成war,通过 java -jar demo-0.0.1-SNAPSHOT.war 运行正常
把provided 注释掉的情况
- 右键运行启动类,访问页面正常
- spring-boot:run运行 访问页面正常
- 打包成jar,通过 java -jar demo-0.0.1-SNAPSHOT.jar 运行报错
- 打包成war,通过 java -jar demo-0.0.1-SNAPSHOT.war 运行正常
2. application.properties
#JSP(SpringMVC)
spring.mvc.view.prefix= /WEB-INF/jsp/
spring.mvc.view.suffix= .jsp
3.创建webapp目录
注意:/webapp/WEB-INF/jsp 这个目录是自己手动创建的,默认的spring boot项目不带此目录结构
4.controller
@RequestMapping("/index")
public String index(HttpServletRequest request){
request.setAttribute("name", "spring boot");
return "index";
}
5. 访问localhost/index则会请求转发到index.jsp页面
Spring Boot已经不推荐jsp,现在spring 推荐Thymeleaf,它的模版文件就是html,可以直接在浏览器打开