直接看demo,加入依賴:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
我們知道使用jsp,一般都將jsp頁(yè)面放在webapp下的WEB-INF文件夾下,定義controller類,此時(shí)不能使用@RestController注解,只能使用@Controller,因?yàn)槭褂聾RestController注解返回的只能是json類型的數(shù)據(jù)。
package com.zhihao.miao;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class LoginController {
@PostMapping("/login")
public String login(@RequestParam("username")String username,@RequestParam("password")String password){
if("miaozhihao".equals(username)&&"123456".equals(password)){
return "success";
}
return "fail";
}
@GetMapping("/login")
public String loginIndex(Model model){
model.addAttribute("username", "miaozhihao");
return "login";
}
@GetMapping("/admin")
public String admin(Model model){
model.addAttribute("admin", "miaozhihaoer");
return "admin/index";
}
}
配置文件中配置相應(yīng)的jsp的文件目錄及后綴,
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
定義響應(yīng)的jsp文件,
啟動(dòng)類進(jìn)行啟動(dòng),
package com.zhihao.miao;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
在main下面建立webapp文件夾,webapp文件夾下建立WEB-INF文件夾,具體的
總結(jié):
- 在springboot里面使用jsp,需要另外加入tomcat-embed-jasper的依賴
- 需要在配置文件中,配置如下兩個(gè)配置項(xiàng)
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
- 方法的返回值,是jsp的路徑加文件名字,最后,不能使用@RestController注解,要使用@Controller。