springboot整合jsp视图

由于springboot内置的tomcat不支持jsp,所以需要引入外部Tomcat的支持。

在创建springboot整合jsp的项目时,需要注意项目类型一定为war类型,否则会找不到页面。因为JSP需要webapp的支持。二freemarker是在springboot内部已经支持了。

一、新建war类型的maven项目

二、pom文件中导入依赖:

    <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.0.RELEASE</version>
	</parent>
	
	<dependencies>
		<!-- springboot web核心组件 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		
		<!-- 引入springboot对Tomcat的支持 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
		</dependency>
		
		<!-- springboot  外部tomcat支持,项目中如果使用jsp,就必须在这里添加此依赖 -->
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
		</dependency>
	</dependencies>

三、在src/main/resources下面新建application.properties文件并添加配置(springboot默认读取 名字为application.properties的文件里面的配置信息):

key是不可以自己乱写的,因为springboot定义好了这些Key,底层就是通过识别这些key去工作的。

注意我们在创建WEB-INF/jsp文件路径的时候不要建在resources文件下面,因为resources是springboot在读取jar包的时候读取配置文件用的,没有对jsp进行支持,反而会有jsp问价被别人访问到的风险。所以我们在src/main/webapp下面创建WEB-INF/jsp文件夹。

四、编写Controller代码:

/**
* <p>Title: JspController</p>  
* <p>Description:JSP整合springboot </p>  
* @author wyh
* @date Dec 1, 2018
*/

@Controller//使用Jsp想实现页面跳转,不需要返回json,所以此处仍使用@Controller,而不使用@RestController
public class JspController {
	
	
	@RequestMapping("jspIndex")
	public String jspIndex() {
		return "jspSpringboot";//在application.properties中已经定义了视图路径的前缀和后缀,所以此处只需要根据完整路径及前缀和后缀来定义返回文件名
	}

}

五、编写启动程序

@SpringBootApplication
public class JspApp {
	public static void main(String[] args) {
		SpringApplication.run(JspApp.class, args);
	}
}

启动项目,访问成功:

猜你喜欢

转载自blog.csdn.net/QYHuiiQ/article/details/84672674
今日推荐