springboot web應(yīng)用使用jsp

直接看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é):

  1. 在springboot里面使用jsp,需要另外加入tomcat-embed-jasper的依賴
  2. 需要在配置文件中,配置如下兩個(gè)配置項(xiàng)
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp 
  1. 方法的返回值,是jsp的路徑加文件名字,最后,不能使用@RestController注解,要使用@Controller。

以上代碼github地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,958評(píng)論 6 342
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,941評(píng)論 18 139
  • 翻譯自Spring官方文檔 4.1.2版本 相關(guān)文章: Spring參考手冊(cè) 1 Spring Framework...
    liycode閱讀 724評(píng)論 0 2
  • SpringBoot詳解系列文章:SpringBoot詳解(一)-快速入門SpringBoot詳解(二)-Spri...
    GitLqr閱讀 5,060評(píng)論 2 11
  • 小李 小李早上出門上班,碰見(jiàn)隔壁新婚劉姐買菜回來(lái),他臉上的笑堆出來(lái):“劉姐買菜去了?”劉姐笑。 “真好看!”小李心...
    溫心一閱讀 487評(píng)論 0 1