Spring boot中支持jsp的实现
虽然Spring MVC支持JSP,但是Spring Boot不建议使用JSP,因为在使用嵌入式servlet容器时,有一些使用限制.但如果一定要在SpringBoot中使用jsp,也是可以做到的,以下为实现过程.
一. Spring boot中实现对jsp支持的步骤 1. 创建Maven web module
在pom.xml文件中添加web和jsp等相关依赖包.
org.springframework.boot
spring-boot-starter-web
javax.servlet
javax.servlet-api
org.apache.tomcat.embed
tomcat-embed-jasper
javax.servlet
jstl
org.springframework.boot
spring-boot-starter-tomcat
org.springframework.boot
spring-boot-starter-test
test
3. 添加spring-boot相关插件
可以在父pom.xml文件中(也就是MyBootDemos项目中的pom)添加,这样就不用每个子模块都添加这些插件了.
org.springframework.boot
spring-boot-maven-plugin
org.apache.maven.plugins
maven-surefire-plugin
false
4. 在application.properties中配置支持jsp
在application配置文件中设置逻辑视图名配置信息,添加对jsp的支持,配置jsp模板文件存放路径.
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
5. 创建一个controller类
@Controller
public class HelloController {
@RequestMapping("/index")
public String index(Map map) {
map.put("msg", "SpringBoot中的JSP!");
return "index";
}
}
6. 创建jsp页面
在src\main\
目录下创建新的目录webapp\WEB-INF\jsp\
,在jsp目录下面创建一个index.jsp文件.
Boot支持JSP!
Hello ${msg}
7. 创建启动类
在项目根目录com.syc.boot
下创建启动类
@SpringBootApplication
public class JspWebApplication {
//extends SpringBootServletInitializer //不继承也可以启动....
// @Override
// protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// return builder.sources(JspWebApplication.class);
// }
//注意:不要直接启动该类,要以spring-boot:run命令方式启动才行,否则404!!!
public static void main(String[] args) {
SpringApplication.run(JspWebApplication.class, args);
}
}
8. 整个项目目录结构

不要直接以启动类的方式来启动项目,要以spring-boot:run命令方式启动才行,否则404!!!

可以看到能够正常访问jsp页面.
注意:
要以spring-boot:run
命令方式启动!!!