三層概念 與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 的 使用 ###