---
# System prepended metadata

title: 1/6 Servlet觀念
tags: [Servlet]

---

# 1/6 Servlet觀念
###### tags: `Servlet`
tomcat 9.0.41
http://tomcat.apache.org/whichversion.html
![](https://i.imgur.com/QZvIxWo.png)
# 第一章
# 4-5 Client-Sever
Client客戶
Client-Sever(主從架構)
Client基本介面
Server負責較重(資料處理與存取)
# 4-6 web
(3-Tier) (N-Tier)
Client->Web Server->DB Server
多個Web Server (叢集)
# 4-7 3-Tier
Request(需求)Response(回應)
# 4-8 功能
Thread執行緒
# 4-10 CGI Scripts
動態伺服器網頁（英文：Active Server Pages，簡稱ASP）
JSP（全稱JavaServer Pages）
Java執行環境（Java Runtime Environment，簡稱JRE）
JVM有個很重要的觀念就是：「對於Java程式而言，其實它只認識一種作業系統（或說是一種機器）
# 4-15 Web Application
從db後端抓資料->Controller(控制者)去轉給View(視圖)->Model(模組)
從db後端抓資料->Controller(控制者)去轉給->Model
# 4-17 Web Resources
Passive resources(被動資源)
Static resource(靜態網頁)
# 4-18 
1.產品 要錢不要錢
# 第二章
# 4-25 Tomcat
環境變數
![](https://i.imgur.com/CgQNmtd.png)
# 4-27 Tomcat啟動
![](https://i.imgur.com/0o6T4vL.png)
startup.bat啟動
shutdown.bat關閉
http://localhost:8080/
Examples->測試
# 4-28 Tomcat相關目錄
conf/(Server的組態檔位置)
logs/(輸出目錄)
webapps/(存放位置)
work(執行時，暫存檔的儲存位置)
# 4-29 Eclipse環境設定
![](https://i.imgur.com/qSBceWH.png)
css->utf-8
html->utf-8
jsp->utf-8
![](https://i.imgur.com/zymmP36.png)
# 第三章
# 4-32 HTTP request封包的結構
do.Get
do.Post
1對1的關係
# 4-33.34 get post (method)
get訊息比較外漏
post比較隱密
# 4-35.36 HTTP response
例子:(HTTP/1.0)版本 (200 OK)狀態碼
# 第四章
https://javaee.github.io/javaee-spec/javadocs/
javax.servlet(.HTTP)
# 4-40 javax
java是核心包，javax的x是extension的意思，也就是扩展包
# 4-41 HelloA
java 8網站
HttpServletResponse ->getWriter
# 4-43 HTTPServlet類別
可參考87頁
# 4-45 ServletRequest介面
Enumeration getParameterName() 取得參數名稱
String [] getParameterValues() 值
String getContentTtpe()傳送資料型態
int getContentLength()長度
void setCharacterEndcoding()設定資料編碼格式(重要)
```This method must be called prior to reading request parameters or reading input using getReader(). Otherwise, it has no effect.```
"getParameter"常用
# 4-47 Form&Http Get Request
https://www.w3schools.com/html/html_forms_attributes.asp
# 4-48 post
html有method="post" java要有對應的doPost
# 4-50 HelloB
```
response.setContentType("text/html;charset=UTF-8");
		//response.setContentType("text/html");
		//response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		out.println("你好嗎?");
```
# 4-51 實作
https://www.w3schools.com/tags/att_input_type_checkbox.asp