發文回味 jsp的增刪改查MVC 與現在的三層

三層概念 與mvc 開發的模式 : medle View Controller

----  medle 與 Controller----後端      
----  View --- 前端 

三層架構 :

後端 在 控制層 裏分出了 服務層 + 持久層 : 所行成的 三層
----- 就是減低耦合性 : 減少依賴 : 日後 分佈式 的 發展
Controller service、 Dao 持久層 ;

當然 你是一個2,3個 servlet 的 那就 垂直開發 了 :

期待 在你的項目 也有10 萬行 的代碼量 : 分佈式 就顯而易見 。。。。。。

========= 案例解讀 : ======

 ---- 需求 :  用戶的增刪改查  : 
 ---- 分析  :  技術選型  :   用 jar 包
   很基礎的 servlet +  jsp  +  mysql + JDBCTemplate + Duird + BeanUtils  + tomcat 

====== ( 定義: 原型圖 ): 一個現成 的 死數據 : 將這些 數據 編活 ----- 這是 後端最需要 的效果

 數據庫的額創建  : --- 

作爲後端 : 要做的 是 :

=========== 先搭好的架子 ============

基於jar 包 ------- 可能沒有 像maven 這樣的 集成

---------- web jar 包 :共有 11包

 ============== 
  ----2:個在以前的及基礎上進行的是   el+jatl 的  搭建 
 ----1:連庫  的 duird-1.0.9 的:
 ----1:c3p0-0.9.1.2.jar
----2:commons:----
 beanutils-1.8.3/ logging-1.1.1
----4:spring 系列 的 :4個  4.2.4
 spring-beans-4.2.4RELEASE.jar
  spring-core-4.2.4RELEASE.jar
   spring-jdbc-4.2.4RELEASE.jar
    spring-tx-4.2.4RELEASE.jar

 ----1:MySQL 數據庫建庫  : mysql-connection-java-5.1.18

====== view 層裏 直接 用jsp : el+jstl 的 期待的頁面 當然有看到 jQuery 與 bootStrap

  -------  

啓動服務器 看啊看靜態頁面是否 可以跳轉 ;

========@@@@@@@@

面向 接口 開發

: 接口 與實現類的多態 成爲擴展 與 解耦
會有一個接口的作用 : 可擴張展 減低耦合

=====@@@@@@@@ 包的路徑 : dao domain util service web

三層 的後端的是 : 控制層 web’:servlet 服務層service , 持久層dao

  =------ util包:用durid 連接數據庫 JDBCTuil 類 放倒  util 類裏 
 =------ domain 包: 創建於數據庫 表關聯的 javabean   或者說是POJO 
      -----**********   注意 要做的 int 類型 應該是 integer  **********
      ----- get set  與方便的測試toString方法

==@@@@@@@@ 前端裏要 html 改造成爲 jsp 頁面 ;@@@@@@@@ ==========
-
= 改造 :-------

  -==---html  頁面  整個 一頓複製   覆蓋到 jsp ;的 僅留 page 這一行 的下面 全部 覆蓋替代  

  -----else : 或者 : html 用 改後綴名  成爲 jsp  再將  其他jsp page這行這裏就可以了


 ------ 將a 連接 的href == 到servlet 頁面 裏   --- 】可以想一下   流程圖 那個圖  ------  ¥¥¥¥¥¥¥¥
     ------  用el :  ${}--- jsp 方式: 獲取  動態 真實路徑 : 就是  基本最小的與 來獲取 其他域 ----- 
           ----- : pageContext.request.contextPath()/userlistServlet  ======
            隨後就會創建 此 servlet

@@@@@@####### 後端 3層的定義 ######@@@@@@======
######### interface : 面向接口 開發 就在 服務層; 與 持久層; 接口 : 包中 的 實現類

=控制層 web =======
----- Servlet :==
==========
-------UserListServlet:======

===服務層 service ======= :: 接口 :包中 的 實現類
==== 用戶 管理的業務接口
------:interface USerService{} // 查尋所有 用戶信息:
----Method: public List findAll(){}
-
-----: 定義 實現類的包 : imp ======
----- : 調用 dao 完成查詢 : ===== 創建dao裏的操作s數據庫 的類
成員 變量:多態new Userdao

===持久層 dao ======= :: 接口 : 包中 的 實現類
====
------:interface Userdao {}
----Method:
-
-----: 定義 實現類的包 : imp ======
----Method: public List findAll(){}
// 用 JDBCUtil 工具類 。。。。。。。。

@@@ 回到 =====服務層 service =======
new Dao 的 實現類

@@@ 回到 =控制層 web ====== 調用
----- Servlet :==
==========
!!! 寫邏輯 -------UserListServlet:======
----:// 調用 UserService v的findAll方法 獲取 User 數據(dao 要做的)
// 存入 request 域裏
// 轉發到jsp 頁面 裏 :
@@@ 回到 =====持久層 dao ======= :
// 用 JDBCUtil 工具類
=-@@@---- : 用使用的是 spring 的 === JDBCTemplate 對象 參數 裏 用工具類 連接數據庫
private 聲明 new Jdbctemplate
— : 定義 sql語句 :
還是 調用這些 方法 ;query(sql new .BeanPropertyRowMapper(User.class)));

          return  返回 list 集合對象  users  就可以了

前端 #### 準備 ====@@@@@@ : list.jsp的 改制: copy html 裏的 、 ========================

      這時 就要用到 el、jstl   的  

******** 面對的就是一個集合
引入 > tagoib 前綴 還是: c uri = http:// java.sun.com/ jstl/ core
<%@ %> taglib prefix =“c”

=== 開幹 =------- :看看前端 出現認識到 table裏的標籤 的對應
------ 留下一個 br : 刪除這些 死的 數據 : 然後 —el/jstl 的操作 ;
==== c:forEach 的方法 : 將這個死的數據 放到 c:forEach 裏
c:forEach item=“${users}” var=“user” Status=“s”

====

bug

消息 StatementCallback; SQL [select * from user]; getInt()的值無效 - ‘男’; 嵌套異常是java.sql.SQLException:getInt()的值無效 - ‘男’

@@@ 回到 =====持久層 dao ======= :
@@@ 回到 =====服務層 service =======
@@@ 回到 =控制層 web ======
-------- 16:16 2019/4/29 =======
講解 :
********** 如何 拔取 前端數據 ***********===
------- 比如一個註冊頁面 -------
找到你的 曾經喜歡的 頁面 進入
1: 先 查詢 源代碼 — 要試着在找是 — 一個註冊頁面
3: 沾到html 的from 裏 :很簡陋 ??? 要找的是 : css style
2: 接着嘗試 所有的css 都引入進來 ----- 直到試好了

@@@@@@@@@@@@@ 優化 @@@@@@========

=====#### : 有待完善的是監聽器 listener 與 攔截器 Fileter 的 使用 ###

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章