spring 官方不推荐使用jsp原因如下
1. jsp只能打包为:war格式,不支持jar格式,只能在标准的容器里面跑(tomcat,jetty都可以)
2. 内嵌的Jetty目前不支持JSPs
3. Undertow不支持jsps
4. jsp自定义错误页面不能覆盖spring boot 默认的错误页面
5. 许多功能jsp 无法实现
但是之前用的都是jsp 处于使用对jsp使用习惯还是将介绍一下springboot 使用jsp
要使用jsp 不能使用之前jar 打包的方式。在创建maven 工程的时候选择 war包。
导入相应的jar
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
如果servlet 版本 2.5 以上可以使用 如下配置 将springboot配置成war的模式
public class ServletInitializer extends SpringBootServletInitializer {
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(App.class);
}
}
如果servlet 版本 2.5 以下需要用web.xml 配置
在application.peoperties 中配置视图解析器
spring.mvc.view.prefix= /WEB-INF/jsp/
spring.mvc.view.suffix= .jsp
controller
@Controller
@RequestMapping(value = "/web")
public class WebController {
@RequestMapping(value = "/index")
public String index(ModelMap map) {
map.put("title", "jsp ");
return "index";
}
}
jsp
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head lang="en">
<title>Spring Boot Demo - jsp</title>
</head>
<body>
Spring Boot Demo - jsp
</body>
</html>
启动工程即可
文章地址:http://www.haha174.top/article/details/255911
推荐一篇文章:http://mp.weixin.qq.com/s/SLaIcVp2EOwz5996oJZrHw
项目源码:https://github.com/haha174/boot.git