Javaweb設計思路

Riccardo13發表於2020-09-26

JavaWeb在做專案的時候,最重要的是應用了分層操作的思想,JavaBean + JSP + Servlet,就是Model + View + Controller,即MVC的設計模式。

拿到專案的時候,首先分析需求,分析業務,然後分幾步走:

設計資料庫

根據實際業務需要,設計表結構,欄位,並插入資料;

建立好目錄結構

後臺(src):

  • entity : 實體類,和資料庫中一一對應(表名————類名;欄位————屬性)
  • DAO : 資料訪問層,建立介面,和介面的實現類
  • Service : 業務邏輯層,建立介面,和介面的實現類,用來呼叫DAO層
  • Servlet : 控制層,分派業務邏輯,用來呼叫Service層
  • Util : 工具類的包,比如:分頁,讀取properties的工具等
  • database.properties : 連線資料庫的資訊

前臺(web-root):

  • jsp頁面 : 使用EL、JSTL表示式完善頁面的表達
  • CSS : 樣式表
  • JS : JS指令碼
  • IMG : 圖片資源
  • web.xml : 連線 servlet 和 jsp 頁面,以及配置資訊

另外:使用過濾器解決中文亂碼和使用者登入驗證的問題
整個目錄如圖:
structure

頁面的訪問流程是:

flow

servlet處於核心的位置,它控制頁面的和資料;當瀏覽器發出一個請求時,servlet來處理請求,直接返回一個JSP頁面給瀏覽器,或是訪問和處理資料之後再返回一個JSP頁面。JavaBean有兩種,一種是處理業務的Service,一種是處理資料的DAO,servlet自己是不做任何業務的,它處理業務是呼叫Service層,而Service層呼叫DAO層來訪問資料,DAO層直接訪問資料庫。每一層的責任明確,不可以跨層呼叫。

程式碼實現流程

1、如何發起請求?
URL : http://localhost:8080/工程名/servlet/userServlet

2、如何接收請求?
1)建立Servlet類並繼承HttpServlet,重寫方法
2)配置web.xml

  <servlet>
    <servlet-name>userServlet</servlet-name>
    <servlet-class>servlet.UserServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>userServlet</servlet-name>
    <url-parttern>/servlet/userServlet</url-parttern>
  </servlet-mapping>
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3、Servlet處理請求
1)接收請求的引數值
String userName = request.getParameter(“userName”);
2)呼叫service方法處理
3)結果儲存到作用域
4)頁面跳轉
轉發: request.getRequestDispatcher(“路徑”).forward(request,response);
重定向: response.sendRedirect(“路徑”);

相關文章