收获总结

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. mysql连接不上Uncaught exception 'PDOException' with message 'could not find driver

    需要给你的PHP加一个PDO扩展打开PHP.INI 把extension=php_pdo.dll 前面的分号去掉 重启APACHE. extension=php_pdo_mysql.dll

  2. php 内置的 webserver 研究。

    今天,试了一下通过 php5.4.45 内置的webserver , 在Windows XP 上面能够跑起公司的一个项目,完全无压力.哈哈,只要一个php 就可以,不需要 Apache , Nginx ...

  3. CodeForces 484D Kindergarten

    贪心观察+DP决策. 首先需要观察到一个结论:分割后的每一段肯定是单调增或者单调减的. 然后可以根据dp来决策如何分割价值最多. dp[i][0]表示放完第i个,最后一段是递减的情况下的最大价值 dp ...

  4. 【poj解题】3664

    简单,两次排序 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 500 ...

  5. FTP详解

    概述 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Applicat ...

  6. Python+Selenium+PhantomJS下载JavaScript异步加载网页

    # -*- coding: utf-8 -*- from selenium import webdriver import selenium.webdriver.support.ui as ui fr ...

  7. Spring整合Hibernate--声明式事务管理

    Spring指定datasource 1. 新建jdbc.properties文件: jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc: ...

  8. Mysql update语句赋值嵌套与在表列中数据后面增加数据

    1.Mysql update语句赋值嵌套select  点击(此处)折叠或打开 update a set col=(select col from a where id='5') where id&g ...

  9. Nginx 负载均衡 后端 监控检测 nginx_upstream_check_module 模块的使用

    在使用nginx 的负载均衡 中,我们通常会使用到 Nginx 自带的 ngx_http_proxy_module 健康检测模块. ngx_http_proxy_module 自带的 健康检测模块参数 ...

  10. Bar Chart of Frequency of modals in different sections of the Brown Corpus

    Natural Language Processing with Python Chapter 4.8 colors = 'rgbcmyk' # red, green, blue, cyan, mag ...