SpringBoot學習之mvc

大雄45發表於2021-09-09
導讀 Spring Boot非常適合Web應用程式開發。 我們可以使用嵌入式Tomcat,Jetty或Undertow輕鬆建立自包含的HTTP伺服器。 大多數Web應用程式將使用spring-boot-starter-web模組快速啟動和執行。

SpringBoot學習之mvcSpringBoot學習之mvc

關於SpringBoot中的mvc

在SpringBoot中使用mvc與springmvc基本一致,我們甚至可以按照springmvc中的標準來完成控制器的實現。

package com.bdqn.lyrk.study.springboot.controller;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 * @author chen.nie
 */
@Controller
@RequestMapping("/index")
public class IndexController {
    @GetMapping("/index")
    public String index() {
        return "index";
    }
    @GetMapping("/number/{number}/Desc/{desc}")
    @ResponseBody
    public BeanEntity bean(@PathVariable ("number") int number, @PathVariable("desc") String desc) {
        return new BeanEntity(number,desc);
    }
}
@Data
@AllArgsConstructor
class BeanEntity {
    private int number;
    private String desc;
}

當我們訪問瀏覽器地址時得到對應的結果:
SpringBoot學習之mvcSpringBoot學習之mvc

我們可以發現這裡跟springmvc中controller寫法無二,其餘的service層和dao層也均是按常規寫法,用@Service和@Repository標記service與dao即可。

關於SpringBoot中mvc(靜態資源-檢視)

預設情況下,Spring Boot將從類路徑或ServletContext的根目錄中的名為/static(或/ public或/resources或/META-INF/resources)的目錄提供靜態內容。

在靜態內容當中我們可以放js,css樣式等檔案,除Web服務,我們還可以使用Spring MVC來提供動態HTML內容。Spring MVC支援各種模板技術,包括Thymeleaf,FreeMarker和JSP。當然SpringBoot不推薦用JSP來作為檢視層,通常情況我們把模板放在 src/main/resources/templates下。

以下目錄就是典型的模板與靜態資源目錄結構,按照上述規則我們把靜態資源js檔案放在static目錄下,模板檔案(這裡使用的是Freemarker)放在規定的目錄下:

SpringBoot學習之mvcSpringBoot學習之mvc

springBoot新增對jsp的支援

原則上來說,SpringBoot不推薦使用Jsp做為檢視層,如果想用Jsp,我們需要包含以下的依賴:

     <dependency>
                     <groupId>org.springframework.boot</groupId>
                     <artifactId>spring-boot-starter-tomcat</artifactId>
                     <scope>provided</scope>
              </dependency>
        <dependency>
          <groupId>org.apache.tomcat</groupId>
             <artifactId>tomcat-jasper</artifactId>
            <version>8.5.28</version>
    </dependency>

在application.properties做相關檢視的配置:

spring.mvc.view.suffix=/WEB-INF/jsp/
spring.mvc.view.prefix=.jsp

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2785074/,如需轉載,請註明出處,否則將追究法律責任。

相關文章