Java EE Web應用開發方法
主要內容
B/S程式設計模式簡介
- Web伺服器
- Web服務器接收客戶端的請求並將結果返回客戶端
-
結果:HTML頁面、圖片、檔案、……
- Web客戶端
- Web客戶端可以使使用者向伺服器提出請求,並向用戶展現請求的結果
-
瀏覽器知道如何與伺服器通訊,並能夠解釋HTML程式碼並展現Web頁。
HTML和HTTP
- 請求/響應方式
- HTML告訴瀏覽器怎樣為使用者顯示內容
- HTTP是客戶端和瀏覽器在Web上通訊的協議
- 伺服器使用HTTP向客戶端傳送HTML
- HTML
- HTTP
- POST
- 向伺服器請求資源,同時可以傳送一些表單資料
-
一個POST例子
- 傳送資料用POST不用GET的理由
- 資料大小:GET中的字元量按伺服器不同有限制
- 安全性:用GET傳送的資料被附加到URL後面,任何人可以看到。不適於傳送敏感資料
-
HTTP響應包括:狀態碼(請求是否成功)、內容型別(text/picture/HTML,etc)、內容(實際的HTML, image, etc)
動態web程式設計
- 常見的兩種動態Web需求
- 動態內容
- 在伺服器上儲存資料
-
基本原理
初識Servlet & JSP
- First servlet, let’s do it!
-
建立檔案目錄結構
-
編寫FirstServlet.java程式碼,並放到src目錄中
-
編寫部署描述符檔案web.xml,放在etc目錄中
- 每個web應用都有一個部署描述符檔案(DD)
- 一個DD可以定義多個servlets
- <servlet-name>將<servlet>元素繫結到<servlet-mapping>元素
- <servlet-class>是Java類
- <url-pattern>是客戶端用於請求servlet的名字
- 編寫部署描述符檔案web.xml,放在etc目錄中
-
在tomcat目錄下建立目錄樹
-
在project1目錄下,編譯servlet
- 拷貝FirstServlet.class至WEB-INF/classes拷貝web.xml至WEB-INF中
- 啟動Tomcat
- 開啟瀏覽器到如下網址: ofollow,noindex">http://localhost:8080/ch1/Serv1
-
-
How to… if JSP
- Servlet container
- servlet沒有main()方法,被容器控制
- 容器將HTTP請求和響應傳給servlet,並呼叫servlet上的方法,如doPost()或doGet()
- servlet容器提供的服務
-
The Code
- 容器怎樣找到servlet
- Servlet——狡兔三窟
- 客戶端名:URL
……/register/registerMe - 部署名:內部保密
EnrollServlet - 真實名:檔案
SignUpServlet.class
- 客戶端名:URL
- Servlet對映機制提高了應用程式的柔性和安全性!
-
The DD
- DD的好處
- 基本不需要修改經過測試的程式碼
- 可以利用DD優化應用程式效能,甚至不寫任何程式碼
- 使應用程式能夠適應不同的資源,如資料庫,不需要重新編譯和測試程式碼
- 使得維護動態安全性變得非常容易,如ACL和安全形色
- 可以讓非程式設計師修改和部署web應用程式,而程式設計師關注更重要的事
- Servlet——狡兔三窟
MVC設計模式初步討論
-
模式說明
- 特點
- MVC將業務邏輯從servlet中分離,放到模型(Model)中。模型是可複用的POJO,是業務資料(如購物車狀態)和操作這些資料的方法(規則)的組合。
- 多個檢視可共享一個模型
- 控制器可以連線不同的模型與檢視
- 增強了軟體健壯性和複用性