目录

  • 1 阶段1模块一Java Web编程准备
    • 1.1 学习导航
    • 1.2 任务一进行系统需求分析与总体设计
    • 1.3 任务二搭建开发环境
    • 1.4 任务三制作静态页面
    • 1.5 任务四部署并运行第一个JSP文件
    • 1.6 模块一课件
    • 1.7 模块一习题
  • 2 阶段1模块二Java Web编程入门
    • 2.1 学习导航
    • 2.2 任务一认识JSP页面组成元素
    • 2.3 任务二认识JSP的内置对象
    • 2.4 任务三使用out对象输出信息
    • 2.5 任务四获取客户端请求数据
    • 2.6 任务五实现页面跳转
    • 2.7 任务六实现访问控制
    • 2.8 任务七制作网页计数器
    • 2.9 模块二 课件
    • 2.10 模块二习题
  • 3 阶段1模块三JavaWeb数据库编程
    • 3.1 学习导航
    • 3.2 任务一使用MySQL
    • 3.3 任务二使用SQL操作数据
    • 3.4 任务三认识连接数据库的步骤
    • 3.5 任务四使用Statement处理数据
    • 3.6 任务五使用PreparedStatement处理数据
    • 3.7 模块三课件
    • 3.8 模块三习题
  • 4 阶段1模块四JavaWeb基础阶段实训
    • 4.1 课件
    • 4.2 IT新闻资讯系统
  • 5 阶段2模块五Java Web应用优化
    • 5.1 学习导航
    • 5.2 任务一认识软件设计分层架构
    • 5.3 任务二使用分层架构实现管理员登录
    • 5.4 模块五课件
    • 5.5 模块五习题
  • 6 阶段2模块六Java Web开发业务应用
    • 6.1 学习导航
    • 6.2 任务一实现页面的分页显示
    • 6.3 任务二使用SmartUpload组件实现文件上传下载
    • 6.4 任务三使用图表组件显示动态数据图表
    • 6.5 模块六课件
    • 6.6 模块六习题
  • 7 阶段2模块七Servlet技术基础
    • 7.1 学习导航
    • 7.2 任务一认识Servlet
    • 7.3 任务二创建并运行一个简单的Servlet
    • 7.4 任务三使用Filter解决中文乱码问题
    • 7.5 模块七课件
    • 7.6 模块七习题
  • 8 阶段2模块八MVC开发模式
    • 8.1 学习导航
    • 8.2 任务一认识MVC模式
    • 8.3 任务二使用MVC模式实现用户登录
    • 8.4 模块八课件
    • 8.5 模块八习题
  • 9 阶段2模块九  Java Web进阶阶段实训
    • 9.1 模块九课件
    • 9.2 在线收藏夹
  • 10 阶段3模块十学生会网站项目开发
    • 10.1 模块十课件
  • 11 实训题库
    • 11.1 网络留言板系统1
    • 11.2 网络留言板系统2
    • 11.3 猜数游戏
    • 11.4 学生成绩查询系统
    • 11.5 场馆管理系统
    • 11.6 物资管理系统
    • 11.7 网络书签
    • 11.8 商品库存系统
    • 11.9 火车车次管理系统
    • 11.10 会议室预定系统
    • 11.11 人员档案管理系统
    • 11.12 新闻资讯系统
任务一认识软件设计分层架构
  • 1 知识链接
  • 2 任务实现
  • 3 同步实训

【问题引入】

使用第一阶段的JavaWeb基础技能,我们已经能够编写简单的Web应用系统,但是在网页中有大量的数据库代码与JSP代码混杂在一起,阅读起来非常不清晰。一旦程序引用发生变化,这些代码就无法继续使用,必须要进行修改。业务功能代码与页面显示代码分离能避免发生此类问题,提高软件开发效率,那么如何使页面中的JSP业务功能代码与页面显示代码分离,提高代码的重用性呢?

【实现思路】

良好的软件架构设计能提高软件开发效率,分层模式是最常见的一种架构模式,它是将解决方案的组件分隔到不同的层中,实现功能代码与页面显示的分离。

【知识链接】

1.软件设计分层模式

分层模式是最常见的一种架构模式,甚至可以说分层模式是很多架构模式的基础。分层模式可以这样定义:将解决方案的组件分隔到不同的层中。每一层中的组件应保持内聚性,每一层都应与它下面的各层保持松耦合。对于一个系统的分层,小型系统一般三层就够了,复杂系统可以分更多的层。

2.三层架构

在分层架构中使用最成熟的是三层架构,“三层”是指表示层、业务逻辑层、数据访问层,如图5-1所示。

5-1  三层系统的分层式结构

1)表示层位于最外层(最上层),最接近用户,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。表示层一般为Web应用程序,以JSP文件、HTML文件为主。

2)业务逻辑层的主要功能是提供对业务逻辑处理的封装,在业务逻辑层中通常会定义一些接口,表示层通过调用业务逻辑层的接口来实现各种操作,如数据有效性的检验、业务逻辑描述等相关功能。在规范化编程中,业务逻辑层通常放在biz包中。

3)数据访问层也称为持久层,主要功能是负责数据库访问,可以访问数据库系统、二进制文件、文本文档XML文档。在规范化编程中,数据访问层通常放在dao包中。

微课:


3.层与层之间的关系

在三层架构中,各层之间相互依赖:表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层。各层之间的数据传递方向分为请求与响应两个方向,如图5-2所示。

                           

5-2  数据传递方向

表示层接受用户的请求,根据用户的请求通知业务逻辑层;业务逻辑层收到请求,首先对请求进行阅读审核,然后将请求通知数据访问层或直接返回给表示层;数据访问层收到请求后便开始访问数据库。

数据访问层通过对数据库的访问得到请求结果,并把请求结果通知业务逻辑层;业务逻辑层收到请求结果,先是对请求结果进行阅读审核,然后将请求结果通知表示层;表示层收到请求结果并把结果展示给用户。

4.分层架构的优点

分层架构的设计体现了“高内聚,低耦合”的思想,有如下优点:

开发人员可以只关注整个结构中的某一层。

可以很容易地用新的实现来替换原有层次的实现。

可以降低层与层之间的依赖。

有利于标准化。

利于各层逻辑的复用。

结构更加明确。

在后期维护时极大地降低了维护成本和维护时间。