JavaWeb三层结构---课设02
收获总结
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的更多相关文章
- JavaWEB 常用开发模式MVC+三层结构
MVC开发模式: M: Model -- JavaBean C: Controler -- Servlet V: View --- JSP 不会在word里面画画,所以就直接截了 老 ...
- mvc与三层结构
http://www.cnblogs.com/zhhh/archive/2011/06/10/2077519.html 又看到有人在问三层架构和MVC的关系,感觉这种问题有点教条化了.因为它们都在逻辑 ...
- C语言课设心得分享(一)
今儿上完课设,老师果然讲的比较少,周四还不用去,看来还是学生自己折腾.我在做课设的过程中,攒了一些心得/体会,希望能和大家分享分享,也希望能一起探讨探讨.如果是我能回答的问题,我很乐意能够提供帮助. ...
- mvc与三层结构终极区别
http://blog.csdn.net/csh624366188/article/details/7183872 http://www.cnblogs.com/zhhh/archive/2011/0 ...
- MySQL三层结构、用户权限、索引设计原则
一.守护进程是什么? Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它不需要用户输入就能运行而且提供某种服务,不是对 ...
- Javaweb学习笔记——(十三)——————JSTL、JSTL核心标签库、自定义标签、有标签体的标签、带有属性的标签、MVC、Javaweb三层框架
JSTLApache提供的标签库 jar包:jstl-1.2.jar,如果传MyEclipse,他会在我们导入jar包,无需自己导入,如果没有使用MyEclipse那么需要自行导入.--------- ...
- 计算机网络课设之基于UDP协议的简易聊天机器人
前言:2017年6月份计算机网络的课设任务,在同学的帮助和自学下基本搞懂了,基于UDP协议的基本聊天的实现方法.实现起来很简单,原理也很简单,主要是由于老师必须要求使用C语言来写,所以特别麻烦,而且C ...
- Atitit.软件开发的三层结构isv金字塔模型
Atitit.软件开发的三层结构isv金字塔模型 第一层,Implements 层,着重与功能的实现.. 第二次,spec层,理论层,设计规范,接口,等.流程.方法论 顶层,val层,价值观层,原则, ...
- C#-WebForm-WebForm开发基础、如何给控件注册事件?——事件委托写法、http无状态性、三层结构
(小知识 - xml:可扩展的标记语言 html:超文本标记语言) 一.创建WebForm:新建→网站 此时文件夹中只有一个 config 文件,打开后 二.在项目下右键添加新项 在设计页面中打开 从 ...
随机推荐
- Android--->activity界面跳转,以及查看生命周期过程
main.xml界面布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns ...
- 单源最短路-dijkstra算法(未优化)
bool used[maxn]; int g[maxn][maxn]; // 边未联系的填充为INF int d[maxn]; void dijkstra(int s){ memset(g,false ...
- javascript 实现加法分离。 plus(3)(4); // => 得到 7
原文地址:http://cnodejs.org/topic/5230d5f0101e574521c86ff4 JavaScript 的设计是典型的函数式的编程范式匿名函数 JSON数据本身就是字符串, ...
- Selenuim+Python之元素定位总结及实例说明
网页自动化最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以笔者今天来总结下Selenuim+Python最基本的几种定位方式及实例说明,希望能帮助到大家 ...
- Spring--AOP--面向切面编程
AOP: 面向切面编程. 通过动态代理实现. AOP就3条线, 2条线给剪断. 实现:动态代理 如果实现interface的话, 用Proxy, InvocationHandler. 不实现inter ...
- AWK第一篇------全面介绍
AWK-文本流编辑器 目录 [隐藏] 1 命令行语法 2 用shell实现调用awk 3 awk语言概要 3.1 记录和字段 3.2 脚本的格式 3.3 行为终止 3.4 注释 3.5 模式 3.6 ...
- STM32 USB虚拟串口(转)
源:STM32 USB虚拟串口 串口调试在项目中被使用越来越多,串口资源的紧缺也变的尤为突出.很多本本人群,更是深有体会,不准备一个USB转串口工具就没办法进行开发.本章节来简单概述STM32低端芯片 ...
- 【bzoj1552】[Cerc2007]robotic sort
题目描述 输入 输入共两行,第一行为一个整数N,N表示物品的个数,1<=N<=100000.第二行为N个用空格隔开的正整数,表示N个物品最初排列的编号. 输出 输出共一行,N个用空格隔开的 ...
- matlab unique 顺序不变
对于一个向量,使用unique去重后会自动排序,为了保持原顺序: A = [5,1,8,5,2,8,3,9,6,1];[i,j] = unique(A,'first');B = A(sort(j)); ...
- iOS开发——NSDate(待续...)
1.获取当前系统时间,毫秒级 - (void)viewDidLoad { [super viewDidLoad]; NSString *currentTime = [self getCurrentTi ...