发文回味 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 的 使用 ###

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值