前面thymeleaf和freemarker讲的页面是html和ftl页面。而本篇案例是springboot中的jsp页面
thymeleaf和freemarker页面时定义在resources文件夹下的templates下面的,而此时的jsp页面仍是定义在webapp文件夹下面的
步骤一:在pom.xml文件中添加依赖
直接将原来的 < dependencies>覆盖,因为< parent>不属于 < dependencies>
<!--parent对springboot版本进行声明-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.5.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<!-- mvc,aop的依赖包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 由于我们在上面指定了parent,这里就不需要指定版本号 -->
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!--tomcat-->
<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>
</dependencies>
如果遇到下面这错误, 则需要把依赖包中的< scope>标签去掉。scope这个标签是作用域。例如在测试时生效等等
步骤二:在resources文件夹下创建application.properties属性文件,定义controller跳转页面的的前后缀
#controller那return跳转页面是,页面默认前缀目录。/代表从webapp下找
spring.mvc.view.prefix=/
#controller那return跳转页面是,响应页面默认后缀
spring.mvc.view.suffix=.jsp
上面就配置完了spring和jsp的环境,下面可以正常使用了
步骤三:在controller层下创建处理数据库和页面显示输数据的类
本案例将该类命名为:TestController
package com.qf.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TestController {
@RequestMapping("/test")//访问此请求的地址是localhost:8080/test
public String test(){
System.out.println("testjsp-----------");
return "show";//此时实际跳去的页面时/show.jsp.
}
}
步骤四:创建启动类(springboot中启动类相当于代替了Tomcat的启动步骤)
package com.qf;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//启动类一定要定义在controller类的父包中,也就是不在同一包中的上一级包
@SpringBootApplication//启动类的标志,必须在启动类上面加
public class StartBegin {
public static void main(String[] args) {
SpringApplication.run(StartBegin.class,args);//StartBegin代表本类对象
}
}
步骤五:创建要使用的jsp页面
本案例用到一个jsp页面:show.jsp
<%@page contentType="text/html; charset=utf-8" pageEncoding="UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>TestController的test请求跳转成功</h1>
</body>
</html>
本案例结构图: