iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
Modern Web

自己開發一個~?系列 第 12

Springboot~測試生出一張圖

  • 分享至 

  • xImage
  •  

覺得寫程式就是要可以看到甚麼才有感
/images/emoticon/emoticon05.gif

再來加顯示圖
加入資料夾Folder
使用static files資料夾

叫images

放入圖
http://localhost:8080/images/%E9%81%8A%E6%88%B2%E5%B0%81%E9%9D%A2.jpg
https://ithelp.ithome.com.tw/upload/images/20231018/20119035kRgNHulhx5.png

  • 針對系統的啟動

  • 看線上手冊



  • 啟動選 package名稱>run as>選 spring boot app

  • 按紅色暫停紐

  • 預設8080

  1. MVC

  2. 使用@去控制

  3. 新增packge_

  4. 和class

  5. 做一個首頁Controller

  6. 採用POJO_https://hackmd.io/@MonsterLee/HJyAdgRBB
    7.templates 樣品引擎



package com.tzu.controllers;

public class HomeConreoller {
//做網頁路口 處理程序
	public void index (){
		
		}
	
}

解釋一下;
這個Java程式碼片段定義了一個名為HomeConreoller的類別,是一個網頁控制器(Controller)的開始。以下是程式碼的解釋:

  1. HomeConreoller 類別是一個控制器,通常用於處理網頁應用程式中的請求和路由。

  2. 在這個示例中,HomeConreoller 類別定義了一個名為 index 的方法,該方法用於處理某個網頁路徑的請求。然而,目前這個方法的內容是空的,未執行任何操作。

  3. 控制器的主要功能是接收請求、處理請求(例如,檢索資料或進行業務邏輯處理),然後將結果返回給用戶端,通常是透過網頁或API。

請注意,這個程式碼片段中的 index 方法是空的,它需要進一步的實現以處理特定的網頁請求。控制器的功能和邏輯通常會根據特定的應用程序需求而變化,包括路由、資料庫操作、模板渲染等。

  1. 看線上手冊:
  2. https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/SpringBootApplication.html

  1. 語法反紅地方處理:燈泡按import


  2. 到另一個主程式 地方加入

package com.tzu.myweb;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan(basePackages = {"com.tzu.myweb"})

public class MywebApplication {

	public static void main(String[] args) {
		SpringApplication.run(MywebApplication.class, args);
	}

}

解釋一下
這是一個Spring Boot應用程式的主啟動類別(Main Application Class)。以下是程式碼的解釋:

  1. MywebApplication 類別被註解為 @SpringBootApplication,這表示它是一個Spring Boot應用程式的入口點。

  2. @ComponentScan 註解用於指定要掃描的基礎包(basePackages)。在這個例子中,它指定要掃描 "com.tzu.myweb" 這個包以查找Spring組件,包括控制器、服務、存儲庫等等。這有助於Spring Boot自動註冊和管理這些組件。

  3. main 方法是應用程式的入口點。當你執行這個應用程式時,它將使用 SpringApplication.run() 方法啟動Spring Boot應用程式。

總結來說,這個類別是一個Spring Boot應用程式的主啟動類別,並使用註解來配置應用程式的基本設置。這個應用程式可能包含其他Spring Bean和控制器等,並且透過這個類別進行啟動。

  1. 另一個程式看命名有沒有打好再RUN看看
package com.tzu.myweb;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan(basePackages = {"com.tzu.myweb"})

public class MywebApplication {

	public static void main(String[] args) {
		SpringApplication.run(MywebApplication.class, args);
	}

}

解釋一下

這個程式碼片段是一個基本的Spring Boot應用程式的主要啟動類別。以下是程式碼的解釋:

  1. MywebApplication 類別被註解為 @SpringBootApplication,這表示它是一個Spring Boot應用程式的主啟動類別。

  2. @ComponentScan 註解指示Spring Boot掃描 com.tzu.myweb 這個基礎包以查找Spring元件(如控制器、服務、存儲庫等)。這允許Spring Boot自動註冊和管理這些元件。

  3. main 方法是這個應用程式的入口點。當執行這個應用程式時,它使用 SpringApplication.run() 方法啟動Spring Boot應用程式。

總結來說,這個程式碼是一個簡單的Spring Boot應用程式的入口點。它使用Spring Boot的自動配置和元件掃描功能,以便輕鬆創建和管理Spring元件。這個應用程式的實際邏輯和功能可能會包含在其他類別中,並在應用程式中進行配置和使用。


  1. https://hackmd.io/@monkenWu/Sk9Q5VoV4/https%3A%2F%2Fhackmd.io%2F%40gen6UjQISdy0QDN62cYPYQ%2FH1yxwXyNN?type=book

也可以參考上面網址


  1. 建立首頁產生500就是有連上

  2. 但是現在顯示404
    瀏覽器用下面兩個網址測試
    http://localhost:8080/default
    http://localhost:8080/

也可以參考api手冊:
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html
3. 是沒有反紅 可是顯示 404
4.
5. 404 Not Found
伺服器找不到請求的資源。因為在網路上它很常出現,這回應碼也許最為人所悉。

405 Method Not Allowed (en-US)
伺服器理解此請求方法,但它被禁用或不可用。有兩個強制性方法:GET 與 HEAD,永遠不該被禁止、也不該回傳此錯誤碼。

5XX伺服器端錯誤回應
500 Internal Server Error
伺服器端發生未知或無法處理的錯誤。


  1. templates加入html

package com.tzu.controllers;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;


@Controller

public class HomeController {
//做網頁路口 處理程序

	public HomeController() {
		System.out.println("Home控制物件已經產生");
		
	}
	@RequestMapping(path= {"/","/default"},method= {RequestMethod.GET})

	public String index (){
		System.out.println("首頁入口");
		return "index";
		}
	
}

這是一個Spring Framework中的控制器(Controller)類別的程式碼片段。以下是程式碼的解釋:

  1. HomeController 類別被註解為 @Controller,這表示它是一個Spring MVC控制器。

  2. 控制器的建構子(public HomeController())用來執行控制器初始化的操作。在這個示例中,當 HomeController 物件被建立時,會顯示一條訊息,即 "Home控制物件已經產生"。

  3. @RequestMapping 註解用於將控制器的方法映射到特定的HTTP請求。在這個示例中,index() 方法被映射到根路徑("/")和"/default"的GET請求。當使用者訪問這些路徑時,index() 方法會被呼叫。

  4. index() 方法的內容非常簡單。它只是顯示一條訊息 "首頁入口",然後返回字串 "index"。這個字串通常代表要顯示的視圖(View)名稱。

總結來說,這個程式碼片段是一個Spring MVC控制器,用於處理根路徑("/")和"/default"的GET請求。當這些請求進入時,index() 方法會被呼叫,並返回一個視圖名稱 "index"。控制器的初始化訊息也會在建立時顯示。

package com.tzu.myweb;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan(basePackages = {"com.tzu.controllers"})

public class MywebApplication {

	public static void main(String[] args) {
		SpringApplication.run(MywebApplication.class, args);
	}

}


這個程式碼片段是一個Spring Boot應用程式的主要啟動類別。以下是程式碼的解釋:

  1. MywebApplication 類別被註解為 @SpringBootApplication,這表示它是一個Spring Boot應用程式的主要啟動類別。

  2. @ComponentScan 註解用於指定要掃描的基礎包(basePackages)。在這個例子中,它指定要掃描 "com.tzu.controllers" 這個包,以查找Spring元件,包括控制器、服務、存儲庫等等。這有助於Spring Boot自動註冊和管理這些元件。

  3. main 方法是應用程式的入口點。當執行這個應用程式時,它使用 SpringApplication.run() 方法啟動Spring Boot應用程式。

總結來說,這個程式碼是一個Spring Boot應用程式的主要啟動類別,並使用註解來配置應用程式的基本設置。它指定了要掃描的基礎包,以便找到和管理Spring元件,並使用 main 方法啟動應用程式。應用程式的實際邏輯和功能可能包含在其他類別中,並且透過這個類別進行啟動。
/images/emoticon/emoticon03.gif
下載Maven資源:https://mvnrepository.com/

  1. xml放入
  2. 使用搜尋thymeleaf
  3. 要選Spring Boot Starter Thymeleaf
  4. 選使用3.0版
  5. 選擇針對Maven
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    <version>3.0.0</version>
</dependency>

這是一個Maven的依賴項配置,用於將Thymeleaf模板引擎整合到Spring Boot應用程式中。以下是配置的解釋:

  • <dependency> 元素是用來聲明專案的依賴項。
  • <groupId> 指定了依賴項的GroupId,這個依賴項屬於Spring Boot,由Spring Boot團隊維護。
  • <artifactId> 指定了依賴項的ArtifactId,這個依賴項是Spring Boot的Thymeleaf模板引擎模組。
  • <version> 指定了要使用的依賴項版本。在這個例子中,版本是"3.0.0"。

當你在Maven專案的pom.xml中加入這個依賴項後,Maven將自動下載並添加相關的Thymeleaf庫文件到專案中,以便你可以在Spring Boot應用程式中使用Thymeleaf模板引擎來建立動態的網頁視圖。這讓你可以方便地將Java代碼和HTML模板結合,用於構建Web應用程式的前端部分。


  1. 下載後重新啟動
  2. http://localhost:8080/
  3. 原來的404顯示HELLO WORLD
  4. http://localhost:8080/
    顯示HELLO WORLD
    http://localhost:8080/default
    有顯示
    https://ithelp.ithome.com.tw/upload/images/20231018/20119035KENNg7qILA.png

謝謝收看/images/emoticon/emoticon41.gif


上一篇
起手式~介紹Springboot安裝環境
下一篇
Springboot~開始有前端
系列文
自己開發一個~?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言