基于ssh的java留言板系统内容摘要:

图 ER 图 系统用例图 留言板用例图 第 8 页 共 34 页 图 系统用例图 系统总体设计 系统有三种身份登录:管理员、用户、访问者。 管理员只有一个,是程序中自己设定的,为了保证系统安全,用户不可以自己升级为管理员可以进入自己的后台修改信息,访问者可以访问留言板的任何内容,但要想发布内容,就要进行注册以认清用 户身份。 留言板系统采用 MVC 模式( model、 view、 controller) Model:该层中封装了对数据库的基本操作等方法,用来为 Controller 层提供必要的模型。 View:是视图层, view 用来同 model 层进行数据交换,对 model 层的数据进行显示。 Controller:数据持久层中, model 即为值对象以及数据访问对象用来实现控制显示的逻辑,实现系统功能。 本系统结构分为四层从上到下即 Web 层、 Action 层、 Service 层、 Persistent层, MVC 模式与四层应用结构的对应关系图如下所示: 用户 访客 浏览留言的帖子 发表留言 回复帖子 修改资料 会员搜索 管理员 会员管 理 留言管 理 论坛信 息管理 第 9 页 共 34 页 图 MVC 结构图 视图 控制器 模型 表述层 业务逻辑层 持久化层 数据库层 第 10 页 共 34 页 4 系统详细设计 开发工具简介 myeclipse : MyEclipse 企业级工作平台( MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 JavaEE 的开发、 发布,以及在应用程序服务器的整合方面极大的提高工作效率。 它是功能丰富的 JavaEE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 使用最高级的桌面和 web 开发技术,包括: HTML 5和 JavaEE 支持 JPA 、 JSF 、 EclipseLink 、以及 openJPA。 MyEclipse 的特征从结构上来划分可以被分为 7类: 1. 应用程序服务器的连接器 2. JavaEE 模型 3. 数据库服务 4. WEB 开发工具 5. EJB 开发工具 6. JavaEE 项目部署服务 7. MyEclipse 整合帮助 对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。 MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言, MyEclipse 是 Eclipse 的插件,也是一款功能强大的 JavaEE 集成开发环境,支持代码 编写、配置、测试以及除错, 以前版本需先安装 Eclipse。 以后版本安装时不需安装 Eclipse。 经过了 MyEclipse M1 和 MyEclipse M2 两个版本, MyEclipse Enterprise Workbench for Eclipse 终于在 2020 年 3 月 28 号正式发布了。 在官方网站上 MyEclipse 可以下载了,该版本集成了 Eclipse ,提升了团队协作开发、开发周期管理以及 Spring 和 Hibernate 的更好支持。 第 11 页 共 34 页 MyEclipse 大大降低了用户的使用难度,操作简单容易上手,因此,用其作为开发工具比较合适。 Microsoft Sqlserver 2020 Sqlserver 2020:Microsoft SQL Server 2020 是一个全面的数据库平台,使用 集成 的 商业 智能 (BI)工具 提供了企业级的数据管理。 Microsoft SQL Server 2020 数据库引擎 为关系型数据和 结构 化数据提供了更安全 可靠 的 存储 功能,使您可以 构建 和管理用于 业务 的高可用和高性能的数据 应用程序。 Microsoft SQL Server 2020 数据引擎是该企业数据管理解决方案的核心。 此外 Microsoft SQL Server 2020 结合了分析、报表、集成和通知功能。 这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、 Web services 和移动设备将数据应用推向业务的各个领域。 与 Microsoft Visual Studio、 Microsoft Office System 以及 新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 Microsoft SQL Server 2020 与众不同。 无论您是开发人员、数据库管理员、信息工作者还是决策者, Microsoft SQL Server 2020 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。 Java 语言 在 Iava 虚拟机更是让人耳目一新, Java 简单易学,跨平台而又不失强大功能。 相比其他语 nter 上,几乎每个网页都包含 Java 程序或代码。 由于 Java的广泛应用,使它受到了史无前例的关注, Java 是一种 Inter 编程语言, Java还曾是网络动画技术的代名词, J言, Java 技术平台具有鲜明的优越性。 从最初构造 Java 平台开始,就考虑了安全性的问题,即其安全性是建立在 Java 平台的内核中的。 其他的语言只是在软件开发时才由用户自行处理安全问题,难免会有安全漏洞。 其次,对于程序员来说, Java 语言比以往其他的任何一门语言都好用,原因在于: Java 有自动回收垃圾的功能, Java 增加了对象和变量的强制类型检查, Java 还取消了指针。 JSP 页面设计 JSP 技术使用 Java 编程语言 编写类 XML 的 tags 和 scriptlets,来封装产生动态 网页 的处理逻辑。 网页还能通过 tags 和 scriptlets 访问存在于服务端的资 第 12 页 共 34 页 源的 应用逻辑。 JSP将网页逻辑与 网页设计 和显示分离,支持可重用的基于组件的设计,使基于 Web 的 应用程序 的开发变得迅速和容易。 Web 服务器 在遇到访问JSP 网页的请求时,首先执行其中的 程序段 ,然后将执行结果连同 JSP 文件中的HTML 代码 一起返回给客户。 插入的 Java 程序段可以操作 数据库 、重新定向网页等,以实现建立动态网页所需要的功 能。 JSP与 JavaServlet 一样,是在服务器端执行的,通常返回给 客户端 的就是一个 HTML 文本,因此客户端只要有 浏览器就能浏览。 Hibernate 与 struts 的简介 Hibernate 是一种新的 ORM(对象关系映射)工具,它同时提供了从 Java类到数据表的映射和数据查询、恢复等机制,实现数据层对象的持久化。 相对于使用 JDBC 和 SQL来手工操作数据库,使用 Hibernate 可以大大减少操作数据库的工作量。 并且 Hibernate 可以和 Web 服务器以及应用服务器良好的集成。 STRUTS 是 Apache 组织的一个开放源码的项目,它是一个可重用的 MVC 设计。 STRUTS 应用有 3 个主要部件: Servlet 及负责具体业务处理的 Action 类( Controller), JSP 页面( view)和 STRUTS 应用的业务逻辑封装( Model)。 STRUTS 和 Hibernate 都有自己的不足,但将两者结合起来,通过使用 STRUTS 技术来降低 MVC层之间的耦合性,而利用 Hibernate 架构来降低业务模型部分的开发难度。 结合之后的好处是采用 STRUTS 和 Hibernate 结合的应用框架开发出来的信息系统无论在整体的结构上还是在局部的复杂业务模型中都得到了更低的耦合性,它们的灵活性与可维护性也得到了提高,从而消除了单独使用这些架构开发系统的不足。 MVC 设计思想 MVC 英文即 ModelViewController,即把一个应用的输入、处理、输出流程按照 Model、 View、 Controller 的方式进行分离,这样一个应用被分成三个层—— 模型层、视图层、控制层。 视图 (View)代表用户交互界面,对于 Web 应用来说,可以概括为 HTML 界面,但有可能为 XHTML、 XML 和 Applet。 随着应用的复杂性和规模性,界面的处理也变得具有挑战性。 一个应用可能有很多不同的视图, MVC 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务 第 13 页 共 34 页 流程的处理。 业务流 程的处理交予模型 (Model)处理。 比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 模型 (Model):就是业务流程 /状态的处理以及业务规则的制定。 业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。 业务模型的设计可以说是 MVC 最主要的核心。 目前流行的 EJB 模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。 它仅仅告诉你按这种模型设计就可 以利用某些技术组件,从而减少了技术上的困难。 对一个开发者来说,就可以专注于业务模型的设计。 MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。 抽象与具体不能隔得太远,也不能太近。 MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。 我们可以用对象编程来做比喻, MVC 定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。 这点对编程的开发人员非常重要。 业务模型还有一个很重要的模型那就是数据模型。 数据模型主要指实体对象的数据 保存(持续化)。 比如将一张订单保存到数据库,从数据库获取订单。 我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制 (Controller)可以理解为从用户接收请求 , 将模型与视图匹配在一起,共同完成用户的请求。 划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。 控制层并不做任何的数据处理。 例如,用户点击一个连接,控制层接受请求后 , 并不处理业务信息,它只把用户的信息传递给模型,告诉模 型做什么,选择符合要求的视图返回给用户。 因此,一个模型可能对应多个视图,一个视图可能对应多个模型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。 如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。 因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。 这实际上是一种模型的变化 传播机制。 模型、 第 14 页 共 34 页 视图、控制器三者之间的关系和各自的主要功能 MVC 的优点 大部分用过程语言比如 ASP、 PHP 开发出来的 Web 应用,初始的开 发模板就是混合层的数据编程。 例如,直接向数据库发送请求并用 HTML 显示 ,开发速度往往比较快 ,但由于数据页面的分离不是很直接 ,因而很难体现出业务模型的样子或者模型的重用性。 产品设计弹性力度很小,很难满足用户的变化性需求。 MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。 首先,最重要的是应该有多个视图对应一个模型的能力。 在目前用户需求的快速变化下,可能有多种方式访问应用的要求。 例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的 处理都是一样,也就是说订单的处理是一致的。 按 MVC 设计模式,一个订单模型以及多个视图即可解决问题。 这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。