Java Web應用的常見思路

AND_YOU_with_ME發表於2017-04-07

一個web應用,通常可能分為前臺,後臺。後臺通常是系統運營的管理者用來對系統的資料進行維護(增刪改查,CRUD)的,前臺通常是系統的客戶對系統主營資料進行瀏覽、檢視資料細節等操作、前臺使用者的資訊管理。

後臺:

一、 新增(C)

a) add.jsp:建立接收使用者輸入資訊的新增的表單,html/jsp檔案,使用者在這個表單中填寫所需的資料,並提交給處理資料的servlet

b) AddXXXServlet:用來處理使用者提交的表單資訊

i. 獲取使用者表單資訊

ii. 將使用者的表單資訊封裝在bean中,呼叫bean對應的dao類的addXxx()來進行資料insert操作

iii. 根據insert操作返回的受影響的行數,判斷是否insert成功,返回相應的響應

c) 通常會返回到新增的頁面,顯示操作成與失敗的資訊

二、 查詢(R)

a) ListXxxServelt:

i. 呼叫bean對應的dao類的方法進行查詢資料,通常應該按分頁查詢

ii. 將查詢到的結果儲存在request中,forward到顯示頁面listXxx.jsp

b) listXxx.jsp

i. 使用表格,迴圈標籤、EL表示式來顯示資料

ii. 常用在listXxx.jsp頁面中還連結其他的功能:編輯、刪除、新增、搜尋

三、 更新(U)

a) 使用者在listXxx.jsp中點選編輯連結,在這個連結中會帶有要更新的資料的id,請求獲取相關詳細資料的FindBookServlet

b) FindXxxServlet:

i. 獲取要請求資料的ID

ii. 根據id使用bean對應的dao類進行查詢

iii. 將返回的bean資料儲存在request中,forwardupdateXxx.jsp頁面

c) updateXxx.jsp:這個頁面與addXxx.jsp基本相同,區別有

i. 多一個id,這個id不能修改的

ii. 所有的表單元素的值是在bean中讀取的

iii. 使用者在此頁面進行修改資訊後提交表單到UpdateXxxServlet

d) UpdateXxxServlet

i. 獲取使用者表單資訊

ii. 將使用者的表單資訊封裝在bean中,呼叫bean對應的dao類的updateXxx()來進行資料update操作

iii. 根據update操作返回的受影響的行數,判斷是否update成功,返回相應的響應

四、 刪除(D)

a) 使用者在listXxx.jsp中點選刪除的核取方塊,選中要刪除的資料,提交表單到DeleteXxxServlet

b) DeleteXxxServlet

i. 獲取使用者提交的要刪除的資料id陣列

ii. 根據這個陣列將相關的資料刪除

iii. 根據刪除返回的受影響的行數判斷是否刪除成功

iv. 查詢新的資料,也就是呼叫ListXxxServelt

五、 Web應用中的路徑問題

a) 相對路徑

i. 相對路徑是相對當前文件的路徑生成新的目標路徑

1. 當前的url: http://localhost:9090/bookms/back/addBook.jsp

2. 相對路徑為:addBook

3. 生成的目標絕對路徑為:http://localhost:9090/bookms/back/addBook 

b) 絕對路徑

i. 當前的url: http://localhost:9090/bookms/back/addBook.jsp

ii. 絕對路徑:/bookms/addBook

iii. 生成的目標絕對路徑為:http://localhost:9090/bookms/addBook 

c) 為了保證路徑的穩定,在開發中統一寫成絕對路徑,實現方法為

i. jsp頁面中新增<base href=”<%=request.getContextPath() %>/”>

ii. Jsp頁面中所有的路徑都寫相對根目錄路徑

iii. servlet中如果是requestDispatcher使用的路徑都以/開頭,此處/就代表根目錄,如果是使用response重定向,為了保證路徑以根目錄開頭,路徑字串前應寫request.getContextPaht()+相對根目錄路徑

d) 在伺服器端,/可以表示伺服器的根目錄,也就是上下文路徑

e) 在客戶端,必須要寫成/bookms才能表示成上下文路徑

相關文章