springboot整合jsp视图

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

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

一、新建war类型的maven项目

二、pom文件中导入依赖:

    
		org.springframework.boot
		spring-boot-starter-parent
		2.0.0.RELEASE
	
	
	
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
		
		
			org.springframework.boot
			spring-boot-starter-tomcat
		
		
		
		
			org.apache.tomcat.embed
			tomcat-embed-jasper
		
	

三、在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文件夹。

springboot整合jsp视图_第1张图片

四、编写Controller代码:

/**
* 

Title: JspController

*

Description:JSP整合springboot

* @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);
	}
}

启动项目,访问成功:

 

你可能感兴趣的:(springboot,java学习)