收获总结

1三层架构模式

区分层次的目的即为了“高内聚,低耦合”的思想

分层介绍:

Javaweb设计分为三层:数据访问层,业务逻辑层和表示层。

数据访问层:只提供对基本数据的访问,不涉及任何的业务逻辑;对数据库进行操作

业务逻辑层:负责业务逻辑,通过获取表示层传来的用户指令,执行业务逻辑;需要访问数据库时,交给数据访问层处理,处理完成后,必要时将结果返回到表示层。

具体介绍:

1 数据持久层:数据持久层由Java对象持久化类和数据访问对象(DAO)组成。每个数据库表都对应着一个持久化对象

2 业务逻辑层:调用数据访问dao层中的方法,实现对数据的操作

3 表示层:表示层结合JSP,TagLib库处理显示功能。

·····································································

  由于刚开始进行开发,老师虽然给了几个小项目的源码,但是不知道各个层之间的调用关系等等,也是一筹莫展,没办法,,,只能硬着头皮看,上网查资料,通过努力终于明白了一点,通过这次实际操作进一步加强了自己的理解。

一般的JavaWeb项目都有不同的包,但是之间有一定的联系。下面,以“用户注册登录系统”为例,进行简单介绍流程。

1 需求分析

2 数据库设计

3 代码实现

  !实体层(Domain包):就是根据数据库设计中不同的表进行建立的,跟人理解一般:一个表对应一个实体。

  !!实体访问层(Dao包):对实体数据库进行操作:连接数据库,操作数据库,关闭数据库。

  !!!Util包:实现对公用工具类进行设计,就是通用的一些方法类,就像是String转Date类呀,相似的之类

  !!!!业务逻辑层(Service包):将数据访问层在进行封装

        作用:从dao层获取数据,提供表示层显示;从表示层获取用户和指令,执行业务逻辑;从表示层获取用户和指令,通过数据访问层写入数据

  !!!!!表示层(Web)servlet+jsp:  Servlet包:其主要功能在于交互式地浏览和修改数据,生成动态Web内容。JSP 前端页面表示。

············································

  设计方法可以分为自顶向下和自底向上两种方法,自己比较喜欢自底向上的设计方法。

  一般调用方法:

  用户登陆网站,通过展示的页面进行操作

  JSP(HTML)--->Servlet---->Servive--->Dao---->Service--->Servlet--->JSP

  Servlet--->Service-->Dao--->Service-->Servlet-->JSP

  总之,不管如何,网站必须通过网页来给用户显示出来,网页上不同的超链接,用户通过点击超链接,转到后台进行相关的处理,对数据进行处理,最后再将处理后的数据进行前端显示出来,这样用户就能得到自己想要看到的效果。知道这个逻辑,我们的设计就能更加容易一点。

JavaWeb三层结构---课设02的更多相关文章

  1. JavaWEB 常用开发模式MVC+三层结构

    MVC开发模式: M:  Model   -- JavaBean C:  Controler   --  Servlet V: View   --- JSP 不会在word里面画画,所以就直接截了 老 ...

  2. mvc与三层结构

    http://www.cnblogs.com/zhhh/archive/2011/06/10/2077519.html 又看到有人在问三层架构和MVC的关系,感觉这种问题有点教条化了.因为它们都在逻辑 ...

  3. C语言课设心得分享(一)

    今儿上完课设,老师果然讲的比较少,周四还不用去,看来还是学生自己折腾.我在做课设的过程中,攒了一些心得/体会,希望能和大家分享分享,也希望能一起探讨探讨.如果是我能回答的问题,我很乐意能够提供帮助. ...

  4. mvc与三层结构终极区别

    http://blog.csdn.net/csh624366188/article/details/7183872 http://www.cnblogs.com/zhhh/archive/2011/0 ...

  5. MySQL三层结构、用户权限、索引设计原则

    一.守护进程是什么? Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它不需要用户输入就能运行而且提供某种服务,不是对 ...

  6. Javaweb学习笔记——(十三)——————JSTL、JSTL核心标签库、自定义标签、有标签体的标签、带有属性的标签、MVC、Javaweb三层框架

    JSTLApache提供的标签库 jar包:jstl-1.2.jar,如果传MyEclipse,他会在我们导入jar包,无需自己导入,如果没有使用MyEclipse那么需要自行导入.--------- ...

  7. 计算机网络课设之基于UDP协议的简易聊天机器人

    前言:2017年6月份计算机网络的课设任务,在同学的帮助和自学下基本搞懂了,基于UDP协议的基本聊天的实现方法.实现起来很简单,原理也很简单,主要是由于老师必须要求使用C语言来写,所以特别麻烦,而且C ...

  8. Atitit.软件开发的三层结构isv金字塔模型

    Atitit.软件开发的三层结构isv金字塔模型 第一层,Implements 层,着重与功能的实现.. 第二次,spec层,理论层,设计规范,接口,等.流程.方法论 顶层,val层,价值观层,原则, ...

  9. C#-WebForm-WebForm开发基础、如何给控件注册事件?——事件委托写法、http无状态性、三层结构

    (小知识 - xml:可扩展的标记语言 html:超文本标记语言) 一.创建WebForm:新建→网站 此时文件夹中只有一个 config 文件,打开后 二.在项目下右键添加新项 在设计页面中打开 从 ...

随机推荐

  1. 解析json数组

    解析json数组 JSONArray jsonArray = new JSONArray(markingStr); int iSize = jsonArray.length(); for (int i ...

  2. php使用curl设置超时的重要性

    原文:http://phpquan.com/lamp/php/php-curl-timeout/ 网站登录不了,原因是没有可用的 PHP 子进程来响应新的请求了.这可能是是由于PHP-curl  没有 ...

  3. AOP 在javascript 中的使用

    AOP(Aspect Oriented Programming) 意为面向切面编程 可以在不修改原有代码的情况下增加新功能,利用AOP可以对业务逻辑各个部分进行隔离,从而使得业务逻辑各部分的耦合度降低 ...

  4. 高橋君とカード / Tak and Cards

    高橋君とカード / Tak and Cards Time limit : 2sec / Stack limit : 256MB / Memory limit : 256MB Score : 300 p ...

  5. PAT (Advanced Level) 1084. Broken Keyboard (20)

    简单题. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #in ...

  6. Keil C动态内存管理机制分析及改进(转)

    源:Keil C动态内存管理机制分析及改进 Keil C是常用的嵌入式系统编程工具,它通过init_mempool.mallloe.free等函数,提供了动态存储管理等功能.本文通过对init_mem ...

  7. Codeforces Education Round 11

    A(模拟+数学) 题意:在一个数列当中最少添加多少个数可以使它们两两互质,并打印出添加以后的数列 #include <iostream> #include <cstdio> # ...

  8. mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)'

    就当作自己忘记Mysql密码把,忘记密码的解决方法 一.mysql登录错误mysqladmin: connect to server at 'localhost' failederror: 'Acce ...

  9. Tessnet2图片识别

    验证码识别据说可以用C#图像识别类库Tessnet2来实现,Tessnet2源于目前Google维护的开源项目Tesseract2.本文将对此传说进行验证,含验证结果与验证方法. 1. 验证结果 —— ...

  10. access 随机选取数据

    access随机读取数时 用order  by  rnd(id)   发现每次获取的数据顺序都是一致的,必须要加上随机数才可以,如下: Random r = new Random();         ...