1. 程式人生 > >Java EE Web應用開發方法

Java EE Web應用開發方法

主要內容

  • B/S程式設計模式簡介
  • HTML和HTTP
  • 動態web程式設計
  • 初識Servlet & JSP
  • MVC設計模式初步討論

B/S程式設計模式簡介

  • Web伺服器
    • Web伺服器接收客戶端的請求並將結果返回客戶端
    • 結果:HTML頁面、圖片、檔案、……
  • Web客戶端
    • Web客戶端可以使使用者向伺服器提出請求,並向用戶展現請求的結果
    • 瀏覽器知道如何與伺服器通訊,並能夠解釋HTML程式碼並展現Web頁。

HTML和HTTP

  • 請求/響應方式
    • HTML告訴瀏覽器怎樣為使用者顯示內容
    • HTTP是客戶端和瀏覽器在Web上通訊的協議
    • 伺服器使用HTTP向客戶端傳送HTML
  • HTML
  • HTTP
    • 基於TCP/IP協議
    • HTTP請求包括:HTTP方法(執行的動作)、訪問的頁面URL、表單引數
    • HTTP 1.1 method
      • 告訴伺服器請求的型別,剩餘的訊息是如何被格式化的
      • GET, PUT, POST, TRACE, DELETE, OPTIONS, HEAD, CONNECT
      • GET
        • 是最簡單的請求,它向伺服器獲取一個資源並將之發回
        • 可以用HTTP GET向伺服器傳送少量的資料
        • 一個GET例子
  • 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
      • 將元素繫結到元素
      • 是Java類
      • 是客戶端用於請求servlet的名字
    • 編寫部署描述符檔案web.xml,放在etc目錄中
    • 在tomcat目錄下建立目錄樹
    • 在project1目錄下,編譯servlet
    • 拷貝FirstServlet.class至WEB-INF/classes拷貝web.xml至WEB-INF中
    • 啟動Tomcat
    • 開啟瀏覽器到如下網址:http://localhost:8080/ch1/Serv1
  • How to… if JSP

  • Servlet container
    • servlet沒有main()方法,被容器控制
    • 容器將HTTP請求和響應傳給servlet,並呼叫servlet上的方法,如doPost()或doGet()
    • servlet容器提供的服務
      • 通訊支援
        • Servlet可以通過容器與web伺服器通訊
        • 程式設計師不需自己建立ServerSocket,監聽埠,建立流等
      • 壽命週期管理
        • 容器控制servlet的“生死”
        • 容器負責載入類、例項化和初始化servlet、呼叫servlet方法、對servlet例項進行垃圾回收等工作
      • 多執行緒支援
        • 容器根據對servlet的請求,自動建立Java執行緒
        • 開發者仍要處理執行緒安全問題
      • 宣告式安全
        • 用XML部署描述符配置安全,無需硬編碼
      • JSP支援
        • 將JSP轉化成Java程式碼

  • The Code
  • 容器怎樣找到servlet
    • Servlet——狡兔三窟
      • 客戶端名:URL
        ……/register/registerMe
      • 部署名:內部保密
        EnrollServlet
      • 真實名:檔案
        SignUpServlet.class
    • Servlet對映機制提高了應用程式的柔性和安全性!
    • The DD
    • DD的好處
      • 基本不需要修改經過測試的程式碼
      • 可以利用DD優化應用程式效能,甚至不寫任何程式碼
      • 使應用程式能夠適應不同的資源,如資料庫,不需要重新編譯和測試程式碼
      • 使得維護動態安全性變得非常容易,如ACL和安全形色
      • 可以讓非程式設計師修改和部署web應用程式,而程式設計師關注更重要的事

MVC設計模式初步討論

  • 模式說明
  • 特點
    • MVC將業務邏輯從servlet中分離,放到模型(Model)中。模型是可複用的POJO,是業務資料(如購物車狀態)和操作這些資料的方法(規則)的組合。
    • 多個檢視可共享一個模型
    • 控制器可以連線不同的模型與檢視
    • 增強了軟體健壯性和複用性