三层概念 与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 的 使用 ###