在 Spring Boot 2 中致敬 JSP

新冠病毒??還在阻擋全世界重啟,但我們學(xué)習(xí)腳步不不能停滯澜掩,接下來給大家展示一個現(xiàn)在開發(fā)中已經(jīng)不太常用的一個小知識點妈经,希望對大家有所啟發(fā)胞得。
在平時 大家可能用 Spring Boot 2 最多就是開發(fā) RESTful API,可能很少有人在 Spring Boot 2 中用過JSP視圖稼跳,那我就來一起體驗下創(chuàng)建一個用 JSP 視圖的 Spring Boot 2 應(yīng)用有多么方便盟庞。

一起來看看我們需要些什么

項目結(jié)構(gòu)

咱們可以從 Spring Initializer 獲取項目框架。

項目依賴

<u>pom.xml</u>

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.1.6.RELEASE</version>
      <relativePath/> <!-- lookup parent from repository -->
   </parent>
   <groupId>com.eprogrammerz.examples.spring</groupId>
   <artifactId>spring-boot-jsp</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <name>spring-boot-jsp</name>
   <description>Example Spring Boot with JSP view</description>
   <properties>
      <java.version>1.8</java.version>
   </properties>
   <dependencies>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <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>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>
   <build>
      <plugins>
         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>
</project>

配置

  1. 啟動類配置

SpringBootServletInitializer 按傳統(tǒng)的 WAR包 部署方式來運行 SpringBootJspApplication汤善。
<u>SpringBootJspApplication.java</u>

package com.eprogrammerz.examples.spring.springbootjsp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class SpringBootJspApplication extends SpringBootServletInitializer {
   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
      return application.sources(SpringBootJspApplication.class);
   }
   public static void main(String[] args) {
      SpringApplication.run(SpringBootJspApplication.class, args);
   }
}
  1. Resources
    <u>application.properties</u>
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp

Controller and View Template

  1. 寫一個簡單映射方法的Controller
package com.eprogrammerz.examples.spring.springbootjsp.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class HelloController {
    @GetMapping({"/", "/hello"})
    public String hello(Model model, @RequestParam(value="name", required=false, defaultValue="World") String name) {
        model.addAttribute("name", name);
        return "hello";
    }
}
  1. 將下面內(nèi)容保存成 JSP 文件什猖,放在src/main/webapp/WEB-INF/jsp/目錄
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello ${name}!</title>
</head>
<body>
    <h2 class="hello-title">Hello ${name}!</h2>
</body>
</html>

使用Maven運行

在項目根路徑下使用命令行運行程序。

mvn clean spring-boot:run

訪問 localhost:8080 測試你的程序效果红淡。

至此不狮,使用 Spring Boot 2 展示 JSP 頁面基礎(chǔ)配置就完成,希望對大家有一定幫助在旱。

提前?大家新年新氣象摇零,2021年技術(shù)更上一個新臺階!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末桶蝎,一起剝皮案震驚了整個濱河市驻仅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌登渣,老刑警劉巖噪服,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绍豁,居然都是意外死亡芯咧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敬飒,“玉大人邪铲,你說我怎么就攤上這事∥揶郑” “怎么了带到?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長英染。 經(jīng)常有香客問我揽惹,道長,這世上最難降的妖魔是什么四康? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任搪搏,我火速辦了婚禮,結(jié)果婚禮上闪金,老公的妹妹穿的比我還像新娘疯溺。我一直安慰自己,他們只是感情好哎垦,可當(dāng)我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布囱嫩。 她就那樣靜靜地躺著,像睡著了一般漏设。 火紅的嫁衣襯著肌膚如雪墨闲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天郑口,我揣著相機與錄音鸳碧,去河邊找鬼。 笑死潘酗,一個胖子當(dāng)著我的面吹牛杆兵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播仔夺,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼琐脏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了缸兔?” 一聲冷哼從身側(cè)響起日裙,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惰蜜,沒想到半個月后昂拂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡抛猖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年格侯,在試婚紗的時候發(fā)現(xiàn)自己被綠了鼻听。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡联四,死狀恐怖撑碴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情朝墩,我是刑警寧澤醉拓,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站收苏,受9級特大地震影響亿卤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鹿霸,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一排吴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧杜跷,春花似錦傍念、人聲如沸矫夷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呐舔。三九已至烹棉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間忧陪,已是汗流浹背扣泊。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嘶摊,地道東北人延蟹。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像叶堆,于是被迫代替她去往敵國和親阱飘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,665評論 2 354

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