springboot是一个快速开发框架,能够帮我们快速整合第三方常用框架,原理(Maven依赖关系与Maven继承),完全采用注解化,简化XML配置,内嵌入HTTP服务器默认嵌入TOMCAT服务器,最终以java应用程序执行,内置Tomcat服务器不支持jsp,没有web.xml。
创建一个maven工程,打包方式为war包,这时候由于没有web.xml文件pom文件会报错但是不影响程序的运行。
pom.xml配置文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.e3mall</groupId>
<artifactId>springboot-jsp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<!-- springboot web核心组件 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!-- springboot 外部Tomcat支持 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
</dependencies>
</project>
创建一个程序的入口类即程序运行类:
@SpringBootApplication
public class JspApp {
public static void main(String[] args) {
SpringApplication.run(JspApp.class, args);
}
}
在resource文件下写一个application.properties配置文件配置视图解析器:
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
Controller层:
@Controller
public class JspController {
@RequestMapping("/jspIndex")
public String jspIndex() {
return "jspIndex";
}
}
在webapp目录下创建/WEB-INF/jsp目录下创建jspIndex.jsp页面:
<body>
<h1>这是我们springboot2.0整合JSP</h1>
</body>
注意:这时候运行JspApp.java以应用程序运行就可以了,然后在浏览器访问的时候不需要输入项目名,只需要输入请求路径就可以了,http://localhost:8080/jspIndex就OK了。