SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
1
2
• 撰寫與設定Servlet
學習目標
• 開發環境準備與使用
• 了解Web應用程式架構
• Servlet撰寫與部署設定
• 了解URI模式對應
• 使用web-fragement.xml
2
準備開發環境
• Java SE 8
• Eclipse IDE for Java EE Developers
• Tomcat 9
3
第一個Servlet程式
4
5
關於HttpServlet
• Servlet API的相關類別
6
• 類別路徑(Classpath)中必須包括Servlet API
的相關類別
– 手動...
– IDE...
7
關於HttpServlet
8
關於HttpServlet
9
使用@WebServlet
• Servlet 3.0可使用標註
10
使用web.xml
• 部署描述檔(Deployment Descriptor,DD檔)
11
使用web.xml
• web.xml中的設定會覆蓋Servlet中的標註設定
– 可以使用標註來作預設值
– web.xml來作日後更改設定值之用
12
使用web.xml
13
環境根目錄(Context Root)
• 設定方式因使用的Web應用程式伺服器而不同
14
使用web.xml
• 一個Servlet在web.xml中會有三個名稱設定
– <url-pattern>設定的邏輯名稱
– <servlet-name>註冊的Servlet名稱
– <servlet-class>設定的實體類別名稱
15
檔案組織與部署
16
檔案組織與部署
• 實際上在部署Web應用程式時,會將Web應用
程式封裝為一個WAR(Web Archive)檔案
– 副檔名為*.war的檔案
– 可使用JDK所附的jar工具程式來建立
– 在Eclipse可以執行「Export/WAR file」匯出WAR
• Tomcat容器若發現webapps目錄中有WAR檔案,
會將之解壓縮,並載入Web應用程式
17
URI模式設定
• 請求URI
– 環境路徑
– Servlet路徑
– 路徑資訊
• 可使用HttpServletRequest的
getRequestURI()來取得
18
環境路徑
• 容器用來決定該挑選哪個Web應用程式的依據
• 環境路徑的設定方式標準中並沒有規範,依
使用的應用程式伺服器而有所不同
• 可使用HttpServletRequest的
getContextPath()來取得
• 如果應用程式環境路徑與Web伺服器環境根路
徑相同,則應用程式環境路徑為空字串
• 如果不是,則應用程式環境路徑以"/"開頭,
不包括"/"結尾
19
URI模式設定
• 路徑對應(Path mapping)
– "/"開頭但"/*"結尾的URI模式,例如"/guest/*
• 延伸對應(extension mapping)
– 以"*."開頭的URI模式,例如"*.view"
• 環境根目錄(Context root)對應
• 預設Servlet
– 僅包括"/"的URI模式
• 嚴格匹配(Exact match)
– 不符合以上設定的其他字串,例如/guest/test.view
20
URI模式設定
• 如果URI模式在設定比對的規則在某些URI請
求時有所重疊,則請求時比對的原則是從最
嚴格的URI模式開始符合
– "/admin/login.do"
– "/admin/*"
– "*.do" 請求/admin/login.do
21
Servlet路徑
• 不包括路徑資訊(Path info)與請求參數
(Request parameter)
• Servlet路徑直接對應至URI模式資訊
• 可使用HttpServletRequest的
getServletPath()來取得
• 基本上是以"/"開頭
• 在"/*"與""的情況下,getServletPath()
取得的Servlet路徑是空字串
22
Servlet路徑
• 若請求是根據"/hello.do"對應至某個
Servlet
– Servlet路徑就是"/hello.do"
• 如果透過"/servlet/*"對應至Servlet
– Servlet路徑就是"/servlet"
• 如果透過"/*"或""對應至Servlet
– Servlet路徑就是空字串
23
路徑資訊
• 不包括請求參數,指的是不包括環境路徑與
Servlet路徑部份的額外路徑資訊
• 可使用HttpServletRequest的
getPathInfo()來取得
– 如果沒有額外路徑資訊,則為null
24
25
HttpServletMapping
• 在Servlet 4.0中,HttpServletRequest新
增了getHttpServletMapping()方法
26
Web目錄結構
• 一個Web應用程式基本上會由以下項目組成:
– 靜態資源(HTML、圖片、聲音等)
– Servlet
– JSP
– 自定義類別
– 工具類別
– 部署描述檔(web.xml等)、設定資訊
(Annotation等)
27
WEB-INF
• 不被列入應用程式根目錄中可直接存取項目
– /WEB-INF/web.xml 是部署描述檔。
– /WEB-INF/classes 用來放置應用程式用到的自定義類別
(.class),必須包括套件(Package)結構
– /WEB-INF/lib 用來放置應用程式用到的JAR(Java
ARchive)檔案
• 可以透過程式面的控管,讓程式來取得/WEB-INF中
的資源,像是使用ServletContext的
getResource()與getResourceAsStream(),
或是透過RequestDispatcher請求調派
28
Web應用程式用到的JAR檔案
• 可以放置Servlet、JSP、自定義類別、工具類
別、部署描述檔等
• 應用程式的類別載入器可以從JAR中載入對應
的資源
• 可以在JAR檔案的/META-INF/resources目錄中
放置靜態資源或JSP等
29
類別尋找
• /WEB-INF/classes
• /WEB-INF/lib的JAR檔案
• 容器實作本身存放類別或JAR的目錄
30
歡迎頁面
• web.xml
• 尋找順序
– 目錄
– JAR的/META-INF/resources
• 如果URI最後是以/結尾,但不存在該目錄,
則會使用預設Servlet
31
使用web-fragment.xml
• Servlet 3.0
– JAR檔案可用來作為Web應用程式的部份模組
– 部署描述檔web-fragment.xml
– 放置在JAR檔案中的META-INF目錄之中
32
使用web-fragment.xml
33
web.xml與web-fragment.xml
• 決定web.xml與web-fragment.xml的配置順序
• 各個JAR檔中web-fragment.xml定義的名稱不
得重複,若有重複,則會忽略掉重複的名稱
34
另一個定義順序的方式
• 各個JAR中...
• web.xml沒有定義
順序資訊
• 載入定義的順序
– web.xml
– WebFragment3
– WebFragment2
– WebFragment1
35
metadata-complete屬性
• 設定為true(預設是false),則表示
web.xml中已完成Web應用程式的相關定義
– 部署時不會掃描標註與web-fragment.xml中的定義
– 如果有<absolute-ordering>與<ordering>
也會被忽略
36
瑣瑣碎碎
• 如果web-fragment.xml中指定的類別可以在web應用
程式的/WEB-INF/classes中找到,就會使用該類別
• 如果該類別本身有標註,而web-fragment.xml又有定
義該類別為Servlet,則此時會有兩個Servlet實例
• 如果將<web-fragment>的metadata-complete
屬性設定為true(預設是false),就只會處理自
己JAR檔案中的標註資訊
37

Contenu connexe

Tendances

Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTLJustin Lin
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理Justin Lin
 
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式Justin Lin
 
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00Justin Lin
 
CH03:基礎語法
CH03:基礎語法CH03:基礎語法
CH03:基礎語法Justin Lin
 
Burp Suite 2.0触ってみた
Burp Suite 2.0触ってみたBurp Suite 2.0触ってみた
Burp Suite 2.0触ってみたYu Iwama
 
Laravelの検索機能の実装方法
Laravelの検索機能の実装方法Laravelの検索機能の実装方法
Laravelの検索機能の実装方法yoshitaro yoyo
 
Twitter apiを使って地域別のトレンドを取得する!
Twitter apiを使って地域別のトレンドを取得する!Twitter apiを使って地域別のトレンドを取得する!
Twitter apiを使って地域別のトレンドを取得する!Daiki11
 
認知師徒制於教學上的應用
認知師徒制於教學上的應用認知師徒制於教學上的應用
認知師徒制於教學上的應用Tonny Kuo
 
PHP 也有 Day #35 - 精通 PHP 錯誤處理,讓除錯更自在
PHP 也有 Day #35 - 精通 PHP 錯誤處理,讓除錯更自在PHP 也有 Day #35 - 精通 PHP 錯誤處理,讓除錯更自在
PHP 也有 Day #35 - 精通 PHP 錯誤處理,讓除錯更自在Asika Simon
 
Goの時刻に関するテスト
Goの時刻に関するテストGoの時刻に関するテスト
Goの時刻に関するテストKentaro Kawano
 
Ui test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + JenkinsUi test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + JenkinsChang Hak Yeon
 
CH04:認識物件
CH04:認識物件CH04:認識物件
CH04:認識物件Justin Lin
 
Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~miraitas
 
Spring Fest 2018 Spring Bootで作るRESTful Web Service
Spring Fest 2018 Spring Bootで作るRESTful Web ServiceSpring Fest 2018 Spring Bootで作るRESTful Web Service
Spring Fest 2018 Spring Bootで作るRESTful Web ServiceWataruOhno
 
オブジェクト指向の入門資料
オブジェクト指向の入門資料オブジェクト指向の入門資料
オブジェクト指向の入門資料KubotaHideya
 
Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件Justin Lin
 

Tendances (20)

Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTL
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
 
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
 
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
 
CH03:基礎語法
CH03:基礎語法CH03:基礎語法
CH03:基礎語法
 
[BurpSuiteJapan]Burp Suite回答編
[BurpSuiteJapan]Burp Suite回答編[BurpSuiteJapan]Burp Suite回答編
[BurpSuiteJapan]Burp Suite回答編
 
Burp Suite 2.0触ってみた
Burp Suite 2.0触ってみたBurp Suite 2.0触ってみた
Burp Suite 2.0触ってみた
 
Laravelの検索機能の実装方法
Laravelの検索機能の実装方法Laravelの検索機能の実装方法
Laravelの検索機能の実装方法
 
solr勉強会資料
solr勉強会資料solr勉強会資料
solr勉強会資料
 
Twitter apiを使って地域別のトレンドを取得する!
Twitter apiを使って地域別のトレンドを取得する!Twitter apiを使って地域別のトレンドを取得する!
Twitter apiを使って地域別のトレンドを取得する!
 
認知師徒制於教學上的應用
認知師徒制於教學上的應用認知師徒制於教學上的應用
認知師徒制於教學上的應用
 
PHP 也有 Day #35 - 精通 PHP 錯誤處理,讓除錯更自在
PHP 也有 Day #35 - 精通 PHP 錯誤處理,讓除錯更自在PHP 也有 Day #35 - 精通 PHP 錯誤處理,讓除錯更自在
PHP 也有 Day #35 - 精通 PHP 錯誤處理,讓除錯更自在
 
Goの時刻に関するテスト
Goの時刻に関するテストGoの時刻に関するテスト
Goの時刻に関するテスト
 
Ui test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + JenkinsUi test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + Jenkins
 
CH04:認識物件
CH04:認識物件CH04:認識物件
CH04:認識物件
 
Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~Linux Server 冗長化~リアルタイム同期でラクラク運用~
Linux Server 冗長化~リアルタイム同期でラクラク運用~
 
Spring Fest 2018 Spring Bootで作るRESTful Web Service
Spring Fest 2018 Spring Bootで作るRESTful Web ServiceSpring Fest 2018 Spring Bootで作るRESTful Web Service
Spring Fest 2018 Spring Bootで作るRESTful Web Service
 
iOSでMVVM入門
iOSでMVVM入門iOSでMVVM入門
iOSでMVVM入門
 
オブジェクト指向の入門資料
オブジェクト指向の入門資料オブジェクト指向の入門資料
オブジェクト指向の入門資料
 
Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件
 

Similaire à Ch02 撰寫與設定Servlet

Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 ServletServlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 ServletJustin Lin
 
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器Justin Lin
 
Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器Justin Lin
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索Will Huang
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略Will Huang
 
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Gelis Wu
 
03.wls depoly jdbc
03.wls depoly jdbc03.wls depoly jdbc
03.wls depoly jdbcMeng He
 
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)Jeff Chu
 
Java Web动态图表编程
Java Web动态图表编程Java Web动态图表编程
Java Web动态图表编程yiditushe
 
02.web sphere培训 应用websphere
02.web sphere培训 应用websphere02.web sphere培训 应用websphere
02.web sphere培训 应用webspherelittlecong
 
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTLServlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTLJustin Lin
 
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletServlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletJustin Lin
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0國昭 張
 
Struts快速学习指南
Struts快速学习指南Struts快速学习指南
Struts快速学习指南yiditushe
 
使用 laravel 的前與後
使用 laravel 的前與後使用 laravel 的前與後
使用 laravel 的前與後Shengyou Fan
 
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲ArBing Xie
 
J2ee经典学习笔记
J2ee经典学习笔记J2ee经典学习笔记
J2ee经典学习笔记yiditushe
 
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式Will Huang
 

Similaire à Ch02 撰寫與設定Servlet (20)

Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 ServletServlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版 - 第 2 章:撰寫與設定 Servlet
 
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
 
Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
 
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
 
03.wls depoly jdbc
03.wls depoly jdbc03.wls depoly jdbc
03.wls depoly jdbc
 
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
 
Java Web动态图表编程
Java Web动态图表编程Java Web动态图表编程
Java Web动态图表编程
 
02.web sphere培训 应用websphere
02.web sphere培训 应用websphere02.web sphere培训 应用websphere
02.web sphere培训 应用websphere
 
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTLServlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
 
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletServlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
 
Struts快速学习指南
Struts快速学习指南Struts快速学习指南
Struts快速学习指南
 
使用 laravel 的前與後
使用 laravel 的前與後使用 laravel 的前與後
使用 laravel 的前與後
 
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
 
工作坊總結
工作坊總結工作坊總結
工作坊總結
 
J2ee经典学习笔记
J2ee经典学习笔记J2ee经典学习笔记
J2ee经典学习笔记
 
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式
 

Plus de Justin Lin

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring BootJustin Lin
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMailJustin Lin
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Justin Lin
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤Justin Lin
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題Justin Lin
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步Justin Lin
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能Justin Lin
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組Justin Lin
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換Justin Lin
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構Justin Lin
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組Justin Lin
 
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理Justin Lin
 
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承Justin Lin
 
5. 從模組到類別
5. 從模組到類別5. 從模組到類別
5. 從模組到類別Justin Lin
 
4. 流程語法與函式
4. 流程語法與函式4. 流程語法與函式
4. 流程語法與函式Justin Lin
 
3.型態與運算子
3.型態與運算子3.型態與運算子
3.型態與運算子Justin Lin
 
1. Python起步走
1. Python起步走1. Python起步走
1. Python起步走Justin Lin
 
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDEJustin Lin
 
Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Justin Lin
 
CH19:深入模組化
CH19:深入模組化CH19:深入模組化
CH19:深入模組化Justin Lin
 

Plus de Justin Lin (20)

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
 
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理
 
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承
 
5. 從模組到類別
5. 從模組到類別5. 從模組到類別
5. 從模組到類別
 
4. 流程語法與函式
4. 流程語法與函式4. 流程語法與函式
4. 流程語法與函式
 
3.型態與運算子
3.型態與運算子3.型態與運算子
3.型態與運算子
 
1. Python起步走
1. Python起步走1. Python起步走
1. Python起步走
 
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDE
 
Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄
 
CH19:深入模組化
CH19:深入模組化CH19:深入模組化
CH19:深入模組化
 

Ch02 撰寫與設定Servlet