




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文) I 目目 录录 目 录.1 摘 要.1 前 言.3 第一章 绪论.4 1.1 研究背景4 1.2 设计目标4 1.3 本文结构5 第二章 系统开发环境与技术.6 2.1 系统开发环境6 2.1.1 MyEclipse 插件介绍.6 2.1.2 Tomcat 服务器介绍6 2.2 系统开发技术7 2.2.1 JSP 与 Servlet 技术.7 2.2.2 JavaScript 简介 .10 2.2.3 MVC 模式.11 2.2.4 Struts 框架.11 2.2.5 Spring 框架 .13 2.2.6 Hibernate 框架15 第三章 系统需求分析与前台设计.17 3.1 需求分析17 3.1.1 系统前台简要设计概述.17 3.1.2 系统用例图.18 3.2 系统设计18 3.2.1 系统层次划分.18 3.2.2 数据库设计.19 3.2.3 成本管理模块时序图.22 第四章 系统详细设计与功能实现.27 4.1 系统项目的文件夹结构27 4.2 成本管理模块的具体实现28 4.2.1 查询成本信息列表功能的实现.28 4.2.2 添加成本信息功能的实现.33 毕业设计(论文) II 4.2.3 修改成本信息功能的实现.36 4.2.4 删除成本信息功能的实现.39 4.2.5 查看成本明细信息功能的实现.41 第五章 总结与展望.43 5.1 课题总结43 5.2 进一步开发的展望43 参考文献.44 致 谢.45 毕业设计(论文) 1 摘摘 要要 服饰企业生产状况联络表是针对企业的实际情况而进行设计、开发的,而成本管理 模块则是为了保持产品的成本信息及时的保存、更新。利用 JSP 技术和 SSH 框架以及相 应的数据库访问技术实现了基于 Web 的系统。该框架可以减少模块之间的耦合性,让开 发人员减轻重新建立解决复杂问题方案的负担,并且可以被扩展以进行内部的定制化。 通过使用 JSP 技术建设动态网站,充分发挥了 Java 语言所独有的易用性、跨平台性和安 全性,从而构建了一个运行高效、安全可靠、适用性广的管理系统,实现了企业信息资 源的网上管理,满足了公司业务处理的需要,使企业适应了网络经济时代发展的要求。 论文首先简要介绍了企业管理系统的一些研究与应用背景,其次介绍了该网站系统 所采用的开发工具、平台以及开发环境。在此基础上,论文详尽描述了成本管理系统情 况。 关键词关键词:JSP,SSH 框架,成本管理 毕业设计(论文) 2 Abstract Apparel enterprise production situation contact sheets is designed and developed according to enterprises actual situation,and the cost management module is to keep the cost of the product information timely preservation, updated. Its the corresponding Web-based system used of JSP technology and Struts Spring Hibernate framework and database access technology. The framework reduces coupling between modules and allows developers to reduce the burden of re- establishing to solve the complex problems. It can sufficiently develop the characteristic capabilities of easily utilization, flatextent and security of the Java language by using of the technology of JSP to build the Dynamic websites, thereby constructs the management system that has the abilities of high efficiently implementation, security and dependability, extensively practicable. Firstly,The paper briefly introduces the research and application background of the enterprise management system,also introduces the platform and development environment configuration.Finally, the paper shows the main functions of the cost management module. Keywords: JSP,Struts Spring Hibernate Framework,cost management 毕业设计(论文) 3 前前 言言 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识, 它已进入人类社会的各个领域并发挥着越来越重要的作用。越来越多的企业也必然要借 助先进的信息技术来展示自己公司的信息,产品的介绍,并借助计算机技术来提高管理 效率,因此网站建设所体现的重要性越来越突出。一个企业门户网站建设、运行的好坏, 直接关系到一个企业的形象,也影响着其管理、服务的质量和水平。对企业门户网站的 测评能直接对其建设、运行状况做出科学的评价,并据此对其未来的发展做出科学的规 划。通过对企业门户网站的不断完善来推动企业内部管理体制的改革和业务流程的再造, 并从根本上在企业的各个部门贯彻服务的理念。 本文的结构如下: 第一章是绪论部分,叙述了本系统的开发背景、开发目标、开发意义以及国内外的 一些比较。 第二章介绍了本系统的开发环境及开发技术。 第三章是系统需求分析与前台设计,阐述了在系统开发前的分析工作、系统的整体 设计以及数据库设计。 第四章是系统的详细设计与功能实现。 第五章总结和展望,对整个项目的过程和感悟进行总结,并对项目未来的开发做出 展望。 毕业设计(论文) 4 第一章第一章 绪论绪论 1.1 研究背景研究背景 当今时代信息技术飞速发展,人们已经处于数字化的生存空间之中。Internet 构造了 无限的信息资源,它的普遍使用已经从根本上改变了人们的生活方式和工作方式,也改 变了企业的经营方式和服务方式。 传统的人为管理模式已经远远无法满足现在的企业,那么企业对于企业管理系统的 需求是必然的。通过管理系统,能够大大提高企业的各个方面效率,同时方便了企业与 职工之间的交流,便于满足将来的业务需求。 网络技术的迅猛发展使得基于 Web 的各类信息系统成为目前信息系统中最为流行的 展现形式之一。基于 Web 的信息系统具有如下一些特点: (1) 有利于信息的及时更新和发布; (2) 便于操作和管理; (3) 拥有良好的用户界面和接口; (4) 灵活性和可扩展性; (5) 系统功能的通用性; 正是在这样的社会大背景下,我们开始进行“服饰生产企业生产状况联络表成本 管理”的课题研究,其目的在于通过网站的形式实现基于 Web 的信息系统的上述优点和特 点,以展现该类信息系统在全球信息网Internet 网中快速、便捷、准确地发布信息, 提供资源共享的强大功能和作用。 成本管理可以帮助企业实现对成本更好的控制,透明的各项成本支出,长期积累下 来的数据可以帮助企业对成本进行分析,以达到节约成本的目的。系统中的成本信息与 负责人相关联,以达到可追溯的目的,使得企业对于成本管理做到可监控。 1.2 设计目标设计目标 开发设计本系统的任务是管理该公司的成本信息,通过该系统能够让用户对成本信 息查询、新增、修改和删除。 开发系统的目标是对成本信息及其明细信息进行管理,满足的要求具体可包括如下 几个方面: (1) 网页风格符合企业员工的特点,简单实用。 (2) 能够实现对于成本信息的符合实际企业需求的管理。 毕业设计(论文) 5 (3) 网站运行安全稳定。 1.3 本文结构本文结构 本文的章节安排如下: 第一章绪论部分,说明本文的研究背景和设计目标。为接下来的系统后台的分析与 设计做基础准备。 第二章背景技术,简单介绍系统实现所用到的平台与技术。如MyEclipse、Tomcat 服 务器、JSP与与 Servlet原理、JavaScript、SSH(Struts-Spring-Hibernate)框架等。 第三章系统分析与设计,对企业的门户网站的后台进行需求分析,根据需求分析设 计相应的功能与表结构。 第四章系统实现,给出系统后台的具体实现,包括实现效果和核心代码说明。 第五章总结与展望,对本文所做的工作进行总结,并针对目前工作中的不足对未来 工作的展望。 毕业设计(论文) 6 第二章第二章 系统开发环境与技术系统开发环境与技术 2.1 系统开发环境系统开发环境 企业订单管理系统以 Eclipse 为开发平台,使用 MyEclipse 作为 Eclipse 的插件,并由 Tomcat 6.0 充当 Web 服务器来开发实现的。 2.1.1 MyEclipse 插件介绍插件介绍 MyEclipse 是一个商业软件(商业插件) 、基于 Java 和 Eclipse 的可扩展开发平台(比 如 MS Visual Studio 开发平台中的 VC、VB 等。Borland 公司的 Delphi、Borland、C+、Builder) 。就其本身而言,它只是一个框架和一组服务,用于通 过插件组件构建开发环境。 虽然大多数用户很乐于将 MyEclipse 当做 Java IDE(Integrated Development Environment)来使用,但 MyEclipse 的目标并不仅限于此。MyEclipse 还包括插件开发环 境(Plug-in Development Environment-PDE) ,当然,这个功能的实现主要是 Eclipse,这个 组件主要针对希望扩展 Eclipse 核心的软件开发人员,因为它允许他们构建与 Eclipse 环境 无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给 用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的, 但它的用途并不限于 Java 语言。例如:支持诸如 C/C+、COBOL 和 Eiffel 及 Perl 等编程 语言的插件。 MyEclipse 是一款功能强大的 J2EE 集成开发环境,支持代码编写、配置、测试及除 错。程序功能包括:HTML 智能编辑器、 Struts、JSF、CSS、JavaScript、SQL、Hibernate、Spring 等,带有自动完成与语法高亮显 示功能的 J2EE 编辑器。在 Eclipse 中安装这个插件可以大大提高开发 J2EE 的效率。 2.1.2 Tomcat 服务器介绍服务器介绍 Tomcat 是一个免费开源的 Servlet 容器,它是 Apache 软件基金会(Apache Software Foundation)Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共 同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现,Tomcat 7 支持最新的 Servlet 3.0 和 JSP 2.2 规范。Tomcat 不仅是一个 Servlet 容器,它也具有传统的 Web 服务器的功能,如处理 HTML 页面,简单的域名管理, 毕业设计(论文) 7 配置 JNDI 等。因为 Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的 喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。 Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持 负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任 何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的 场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认 为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。 实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 Tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为 HTML 页面服务,而 Tomcat 实际上运行 JSP 页面和 Servlet。另外,Tomcat 和 IIS、Apache 等 Web 服务器一样,具有处理 HTML 页面的功能,另外它还是一个 Servlet 和 JSP 容器,独立的 Servlet 容器是 Tomcat 的默认 模式。不过,Tomcat 处理静态 HTML 的能力不如 Apache 服务器。 2.2 系统开发系统开发技术技术 服饰企业生产状况联络表系统的开发技术是基于 J2EE 架构的 SSH 组合技术。开发平 台是 Eclipse,以 MyEclipse 作为插件,Tomcat 6.0 作为服务器,JDK1.6.0_13 作为工具包。 2.2.1 JSP 与与 Servlet 技术技术 JSP 技术是建立在 Servlet 技术之上的。先有 Servlet 技术,后推出的 JSP 技术。JSP 最终要编译为 Servlet 运行。进行 Web 应用开发的时候,结合 Servlet 和 JSP 能够使开发 的分工和层次更加清晰。JSP 注重于页面的呈现,处理逻辑应该尽量减少,这样方便网页 设计人员在美工上多下功夫:Servlet 程序则侧重于对逻辑的控制,根据需要对 JSP 页面 进行导航。 Servlet 是一种独立于平台和协议的服务器端的 Java 应用程序,可以生成动态的 Web 页面。Servlet 位于 Web 服务器内部,由 Web 服务器进行加载,该 Web 服务器必须包含 支持 Servlet 的 Java 虚拟机。 JSP(Java Server Pages)是一种动态网页技术标准,是基于Java Servlet和整个Java体系 的Web开发技术。它在动态网页的建设中有着强大而特别的功能,它的以下优点使很多人 认为它将是最有发展前途的动态网页技术3。 毕业设计(论文) 8 (1) 将内容的生成和显示进行分离 用 JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最 终页面,并使用 JSP 标识或者小脚本来生成页面上的动态内容。Web 管理人员和页面设 计者,能够编辑和使用 JSP 页面,而不影响内容的生成。 (2) 采用标识 Web 页面开发人员不会都是熟悉脚本语言的编程人员。JSP 技术封装了许多功能,这 些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成所需要的。 JSP的执行流程是这样的:第一个用户请求JSP文件的时候,JSP容器(如Tomcat)把 JSP文件转换成Java文件(Servlet类文件) ,然后编译成class文件,常驻内存;当有客户请 求的时候,直接开一个线程,无须重新编译,直接执行第一次已经编译好的class文件,速 度比每次都要重新编译JSP文件要快的多。 JSP 的工作原理的工作原理 JSP 页面以扩展名为 JSP 的纯文本文件的形式存在服务器上,当服务器接收到客户端 对某个 JSP 页面的请求时,如果这是对该页面创建或修改后的第一次请求时,那么 JSP 引擎就把该 JSP 页面内容转换成一个纯 Java 语言的 Servlet 源码,然后将其编译成 Servlet 字节代码,最后将 Servlet 的执行结果返回至浏览器。JSP 页面被编译成 Servlet 之后,其 执行代码以独立线程的形式一直存在服务器的内存中,以后对该 JSP 页面提出请求时, 不需要重新编译,直到该页面被修改或 WEB 应用程序重新启动。其工作原理如图 2-2 所 示。 Windows HTTP JSP JDBC HTML Web 图 2-2 JSP 的工作原理 毕业设计(论文) 9 JSP 技术语法技术语法 (1) 常用 JSP 命令: 1)page-页面指令,主要用来指定当前 JSP 页面的属性。 2)-允许包含其他动态和静态文件。 3)-将一个 JSP 文件传给另一个 JSP 文件。 4)-可以通过 Java 插件在浏览器中运行 Java Applet 。 5)-标记是用来访问 JavaBean 的动作标记。当 JSP 页面使用 标记时,表示将引用一个 JavaBean 的实例。JavaBean 标记的语法格式如下: 。 (2) JSP 内置对象6: 为了方便 Web 页面的开发,JSP 提供了一些内置的对象。这些内置对象可以不经显 式声明而在程序中直接使用,JSP 的几个主要内置对象有 Request、Response、Session、Out。通过这些内置对象,可以实现页面的一些基本的请求 输入、输出功能,且可实现数据在页面之间的交互。本系统主要用到的有以下几个对象4: 1)Request 对象:主要功能是接受客户端以 HTTP 方式传送的数据,使服务器端的应 用程序可以根据这些数据做进一步的信息处理,实现与客户进行交互的功能。一般常用 的是它的 getParameter(String name)这个方法来获取传递的参数。其接口为 javax.servlet.http.HttpServletRequest。 2)Response 对象:主要功能是用来对客户的请求做出响应,与 Request 对象对应的就 是 Response 对象。Response 对象用于将服务器的数据发送到客户端,输出的数据可以是 各种数据类型,甚至是文件。一般经常用到的是它的 sendRedirect(URL url)这个方法来重 定向当前用户访问的 url。Response 对象的接口为 javax.servlet.http.HttpServletResponse。 3)Session 对象:主要功能用来保存每个用户在会话期间的数据信息,这样就方便了 会话处理工作。当用户登录网站时,系统将为其生成一个独一无二的 session 对象,用以 记录该用户的个人信息,一旦该用户退出网站,那么这个 session 对象将会注销。Session 对象可以绑定若干个人信息或 Java 对象。Session 对象的接口为 javax.servlet.http.HttpServletSession。 4)Out 对象:主要功能是用于动态地向客户端输出数据信息,其主要作用是在 Web 浏 览器内输出信息。这个对象使用比较频繁,在数据的输出方面经常用到它的 毕业设计(论文) 10 println(parameter)这个方法。同时,它也是进行纠错处理时一个比较有效的输出方法。 2.2.2 JavaScript 简介简介 JavaScript 是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛 地使用于 Internet 网页制作上。JavaScript 是由 Netscape 公司开发的一种脚本语言 (scripting language),或者称为描述语言。在 HTML 基础上,使用 JavaScript 可以开发交 互式 Web 网页。JavaScript 的出现使得网页和用户之间实现了一种实时性的、动态的、交 互性的关系,使网页包含更多活跃的元素和更加精彩的内容。JavaScript 短小精悍,又是 在客户机上执行的,大大提高了网页的浏览速度和交互能力。同时它又是专门为制作 Web 网页而量身定做的一种简单的编程语言。 JavaScript 加入网页有两种办法加入网页有两种办法7: 1.直接加入 HTML 文档 这是最常用的方法,大部分含有 JavaScript 的网页都采用这种方法,如: 用来告诉浏览器这是用 JavaScript 编写的程序,需要调 动相应的解释程序进行解释。 HTML 的注释标签:用来去掉浏览器所不能识别的 JavaScript 源代码的,这 对不支持 Javascript 语言的浏览器来说是很有用的。 /-Javascript 结束:双斜杠表示 JavaScript 的注释部分,即从/开始到行尾的字符都被 忽略。的位置并不是固定的,可以包含在 或中 的任何地方。 2.引用方式:如果已经存在一个 JavaScript 源文件(以 js 为扩展名),则可以采用这 种引用的方式,以提高程序代码的利用率。其基本格式如下: 其中的 url 就是程序文件的地址。同样的,这样的语句可以放在 HTML 文档头部或主 体的任何部分。如果要实现“直接插入方式”中所举例子的效果,可以首先创建一个 JavaScript 源代码文件“Script.js”,其内容如下:document.writeln(“这是 Javascript!采用直 接插入的方法!“)。在网页中可以这样调用程序: 毕业设计(论文) 11 2.2.3 MVC 模式模式 MVC 即 Model-View-Controller,M 代表业务逻辑,V 代表视图,C 代表控制层。通 过使用 MVC 模式就把软件层次分为三个层:模型层、视图层、控制层1。 模型(Model)层:也就是软件业务的实现部分。一个软件有什么功能,它如何实现 功能,这些功能之间的联系都是在模型层进行处理的。可以这样说,模型层是一个软件 的核心,软件功能的好坏、软件功能是否完善,业务层起到了决定性的作用。 视图(View)层:就是用户能看到的并与之交互的界面。在 J2EE 技术中,常用的表 示层技术主要由 JSP、JSF、Freemarker 等组成。视图向用户显示相关的数据,并能接受 用户的输入数据,但是它不能进行任何实际的业务处理。视图还可以接受模型发出来的 数据更新事件,从而对用户界面进行同步更新。 控制(Controller)层:Struts 中的控制层和 Servlet 的功能功能一模一样,就是调用业 务层,然后进行视图的切换。控制层几乎不做任何与业务有关的事情,比如登录验证这 些。所以在软件的分层结构设计中,控制层的代码量几乎是最少的,但它的作用也是非 常重要的。 通过将模型、视图与控制层的分离,各个层之间的联系非常少,但这样做的好处是, 控制层可以随意的切换到自己想要展示的页面,然后控制层调用业务逻辑层和持久化保 存数据层,来实现软件的功能,再转回到控制层,最后将最终的结果显示到视图层,这 实际上是一种模型的变化传播机制。模型、视图、控制层三者之间的关系和各自的 主要功能如图 2-1 所示。 图 2- 1 MVC 组件关系和功能 模 型 封装应用程序状态 响应状态查询 应用程序功能 通知视图改变 毕业设计(论文) 12 2.2.4 Struts 框架框架 Struts 已经提供了一个非常好的 MVC 框架,利用 Struts 开发 MVC 系统时可以大大 加快开发速度。在开发时可以采用的开发流程如下。 (1) 收集和定义应用需求。 (2) 基于数据采集和显示的原则定义和开发用户界面的需求。 (3) 为每一个用户界面 JSP 文件定义访问路径。 (4) 定义 ActionMapping 建立应用业务逻辑之间的联系。 (5) 开发满足用户界面需求的所有支持对象。 (6) 基于每一个用户界面需求提供的数据属性来创建对应的 ActionForm 对象。 (7) 开发被 ActionMapping 调用的 Action 对象。 (8) 开发应用业务逻辑对象(Bean、EJB 等) 。 (9) 对应 ActionMapping 设计的流程创建 JSP 页面。 (10)建立合适的配置文件 struts-config.xml、web.xml。 (11)开发/测试/部署。 利用 Sruts 开发 MVC 流程,如图 2-2 所示。 Browsers Struts ActionServlet struts-config.xml Struts Action Struts ActionForm Business Logic JSP/HTML Form using Struts Custom Tags Database View Model Controller 图 2- 2 Struts 框架 MVC 流程图 在使用 Struts 框架时,对应各个部分的具体开发工作主要包括一下部分。 Model 部分:采用 JavaBean 或 EJB 组件或 Spring 的 Bean,设计和实现系统的业务逻 辑。根据不同的请求从 Action 派生具体 Action 处理对象。完成“做什么”的任务来调用由 Bean 构成的业务组件。创建由 ActionForm 的派生类实现对客户端表单数据的封装及简单 的校验。 Controller 部分:Struts 为我们提供了核心控制部分的实现。只需要配置 ActionMapping 对象即可完成 URI 地址的映射及匹配用户界面表单和 ActionForm 类的对 应关系。 毕业设计(论文) 13 View 部分:为了使用 Model 中的 ActionForm 对象,必须用 Struts 提供的自定义标记 创建 HTML 表单。利用 Struts 提供的自定义标记库编写用户界面,把应用逻辑和显示逻 辑分离。Struts 框架通过这些自定义标记建立了 View 和 Model 之间的联系。Struts 的自定 义标记还提供了很多定制页面的功能。 同时,需要编辑两个配置文件:web.xml 和 struts-config.xml。通过它们配置 Struts 系 统中的各个模块之间的交互。 图 2-2 描述了一个 Struts 应用程序的简要执行流程。 (1) 客户端浏览器发出请求。 (2) 服务器端的 Struts 中心类 ActionServlet 找到 struts-config.xml 文件,并放入到内存, 将文件中的内容作为请求路径映射。 (3) ActionServlet 类在 struts-config.xml 文件中找到相关的请求路径映射后填充 ActionForm 类,将前台传进来的表单域打包成 Bean。 (4) 然后转到 Action 类进行业务逻辑功能的实现,比如增、删、改、查数据库中的数 据。 (5) 再通过 struts-config.xml 文件的映射,找到功能逻辑处理结束后显示给客户端用户 看到的页面,转发功能通过 ActionForward 对象实现。 由图 2-2“Struts 框架 MVC 流程图”结构来看,Struts 框架可以将软件的功能进行分层 化,这样可以将精通不同技术的人员工作模块化、分工化。比如精通 UI 用户界面设计的 可以只管 View 视图层,而精通 Java 程序设计的程序员可以开发 Model 层的代码。 2.2.5 Spring 框架框架 Spring 框架是一个开放源代码的轻量级 Java 框架。主要作用是为了解决企业应用程 序维护的复杂性而创建的。Spring 框架的解决办法就是用分层架构,分层架构允许程序员 选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的容器。 Spring 框架就是实现了 AOP 功能的 IOC 容器。在 IOC 容器的基础上加入 AOP 不仅 可以做到松耦合开发,还具有面向切面编程的功能。 Spring2.0 七大模块的架构,如图 2-3 所示。 Spring AOP Source-level metadata AOP infrastructure Spring Core Supporting utlities Bean container Spring ORM Hibernate support iBats support JDO support Spring DAO Transaction infrastructure JDBC support DAO support Spring Web WebApplicationContext Multipart resolver Web utlities Spring Context Application context UI support Validation JNDI EJB support and remodeling Mail SpringWeb MVC Web MVC Framework Web Views JSP/Velocity PDF/Export 图 2- 3 Spring 架构 组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模 块联合实现。每个模块的功能如下: 毕业设计(论文) 14 Spring Core:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程 序的配置和依赖性规范与实际的应用程序代码分开。 Spring Context:Spring Context 是一个配置文件,向 Spring 框架提供上下文信息。 Spring Context 包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成 到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过 使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。 Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理 异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极 大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。 Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系 工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事 务和 DAO 异常层次结构。 Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还 简化了处理多部分请求以及将请求参数绑定到域对象的工作。 Spring Web MVC:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。 通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。 Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的 环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对 象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、 测试环境之间重用。 控制反转模式(也称作依赖性介入)的基本概念是:不创建对象,但是描述创建它 们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪 一项服务。容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。 在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起, 决定什么时间调用方法。下表列出了 IOC 的一个实现模式。 类型 1服务需要实现专门的接口,通过接口,由对象提供这些服务, 可以从对象查询依赖性(例如,需要的附加服务) 毕业设计(论文) 15 类型 2通过 JavaBean 的属性(例如 setter 方法)分配依赖性 类型 3依赖性以构造函数的形式提供,不以 JavaBean 属性的形式公 开 Spring 框架的 IOC 容器采用类型 2 和类型 3 实现。 面向方面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典 型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的核心构造是方面, 它将那些影响多个类的行为封装到可重用的模块中。 AOP 和 IOC 是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的 复杂问题。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和 Java 类中才能实现日志功能。在 AOP 方式中,可以反过来将日志服务模块化,并以声明的 方式将它们应用到需要日志的组件上。当然,优势就是 Java 类不需要知道日志服务的存 在,也不需要考虑相关的代码。所以,用 Spring AOP 编写的应用程序代码是松散耦合的。 AOP 的功能完全集成到了 Spring 事务管理、日志和其他各种特性的上下文中。 Spring 设计的核心是 org.springframework.beans 包,它的设计目标是与 JavaBean 组件一起使用。这个包通常不是由用户直接使用,而是由服务器将其用作其他多数功能 的底层中介。下一个最高级抽象是 BeanFactory 接口,它是工厂设计模式的实现,允许 通过名称创建和检索对象。BeanFactory 也可以管理对象之间的关系。 BeanFactory 支持两个对象模型。 (1) 单态 模型提供了具有特定名称的对象的共享实例,可以在查询时对其进行检索。 Singleton 是默认的也是最常用的对象模型。对于无状态服务对象很理想。 (2) 原型 模型确保每次检索都会创建单独的对象。在每个用户都需要自己的对象时, 原型模型最适合。 bean 工厂的概念是 Spring 作为 IOC 容器的基础。IOC 将处理事情的责任从应用 程序代码转移到框架。正如我将在下一个示例中演示的那样,Spring 框架使用 JavaBean 属性和配置数据来指出必须设置的依赖关系。 2.2.6 Hibernate 框架框架 Hibernate 是目前最流行的 ORM 框架,其采用非常优雅的方式将 SQL 操作完全包装 成对象化的操作。其作者 Gavin King 在持久层设计上极富经验,采用非常少的代码实现 了整个框架,同时完全开放源代码,即使偶尔遇到无法理解的情况,也可以参照源代码 来理解其在持久层上灵巧而智能的设计。 毕业设计(论文) 16 目前 Hibernate 在国内的开发人员相当多,Hibernate 的文档也非常丰富,这些都为学 习 Hibernate 铺平了道路,因而 Hibernate 的学习相对简单一些。下面通过对比来了解 Hibernate 和传统 JDBC 操作数据库持久层之间的差异。 当前的软件开发语言已经全面转向面向对象,而数据库系统仍停留在关系数据库阶 段。面对复杂的企业环境,同时使用面向对象语言和关系数据库是相当麻烦的,不但中 间的过度难以理解,而且其开发周期也相当长。 Hibernate 是一个面向 Java 环境的对象/关系数据库映射工具(Object/Relational Mapping),用来把对象模型表示的对象映射到基于 SQL 的关系模型数据结构中去。 Hibernate 的目标是:释放开发者通常的数据持久化相关的变成任务的 95%。对于以 数据为中心的程序而言,往往在数据库中使用存储过程来实现商业逻辑,Hibernate 可能 不是最好的解决方案。但对于那些基于 Java 的中间件应用中,设计采用面向对象的业务 模型和商业逻辑时,Hibernate 是最有用的。不管怎样,Hibernate 能消除那些针对特定数 据库厂商的 SQL 代码,并且把结果集由表格式的形式转换成值对象的形式。 Hibernate 不仅管理 Java 类到数据库表的映射(包括 Java 数据类型到 SQL 数据类型 的映射),还提供数据查询和获取数据的方法,可以大幅度地减少在开发时人工使用 SQL 和 JDBC 处理数据的时间。 Hibernate 能在众多的 ORM 框架中脱颖而出,因为 Hibernate 与其他 ORM 框架对比 具有如下优势。 (1) 开源和免费的 License,方便需要是研究源代码、改写源代码并进行功能定制。 (2) 轻量级封装,避免引入过多复杂的问题,调试容易,减轻程序员负担。 (3) 具有可扩展性,API 开放。功能不够用时,可以自己编码进行扩展。 (4) 开发者活跃,产品有稳定的发展保障。 毕业设计(论文) 17 第三章第三章 系统需求分析与前台设计系统需求分析与前台设计 3.1 需求分析需求分析 根据软件开发过程的要求,在技术实现可行性确定的基础上,我们首先要进行的是 系统流程的分析。需求分析就是描述系统的需求情况。结合用户的需求,本模块是用于 服装企业的成本管理,对成本信息进行添加,删除,修改以及查询等一系列的操作。本 系统主要应有如下要求: 网页风格符合企业员工的特点,简单实用。 符合企业实际的成本管理方式。 要求完成成本信息相关的所有基本操作,包括添加、删除、修改以及查询等操作。 要求能够上传与成本相关的文件,方便以后的查找管理。 3.1.1 系统前台简要设计概述系统前台简要设计概述 该成本管理系统主要是针对服装企业的,其成本管理模块的前台主要能完成以下功 能: (1) 在用户登录之后,选择成本管理中的成本明细维护,能够看到自己权限范围内的 所有成本信息。 (2) 用户可以使用多字段,查询自己需要查询的成本信息,并可以点击查看该成本信 息的详细内容 (3) 除了查询功能外,用户还必须能够对已有的成本信息进行修改。 (4) 用户可以添加新的成本信息。 (5) 对于添加错误的成本信息,可以进行对其进行删除操作,但删除操作可以不单独 列出一个界面,直接从显示列表和数据库中删除即可。 图 3-1 表示前台页面主菜单结构图: 毕业设计(论文) 18 图 3- 1 前台页面主菜单 3.1.2 系统用例图系统用例图 用户 成成本本管管理理模模块块 新增成本明细信息 查询成本信息列表 删除成本明细信息 显示成本明细信息 修改成本明细信息 图 3-2 成本管理模块用例图 3.2 系统设计系统设计 3.2.1 系统层次划分系统层次划分 该系统模块中,模块系统共分为五层,分别为表现层、控制层、业务逻辑层、数据 访问层,数据层,如图 3-2 所示。 JSP ActionServlet Hibernate MySQL BO 图 3-3 网站模块分层 表现层中,系统主要采用了 JSP 技术,将 Action 传递过来的数据封装在 ActionForm 中,进行一定的处理之后,再反馈给前台页面。 控制层主要是为了控制协调系统中各模块的执行流程,在控制层中,Struts 中的 毕业设计(论文) 19 ActionServlet 控制系统流程转向。 业务逻辑层,主要采用 Javabean,来实现具体系统的业务逻辑处理。 数据访问层,主要是采用 Hibernate 持久层方案,通过 Hibernate 封装对数据层的操作, 方便于在不同的数据库系统间移植。Hibernate 也采用了面向对象的思想来操作数据库。 数据层存放系统中的数据,本系统采用 MySQL 数据库。 3.2.2 数据库设计数据库设计 数据库就是存放数据的仓库,即数据按照一定的规律存放在计算机中,是信息系统 的核心和基础,是信息系统开发和建设的重要组成部分,把信息系统中大量的数据按一 定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、 准确地从数据库中获得所需的信息。数据库设计是信息资源管理最有效的手段,数据库 设计就是根据具体的应用环境,构造合理数据库模式,建立数据库逻辑结构,有效存储 数据,满足用户实际需求和系统应用处理要求。在动态网站设计中数据库的重要性不言 而喻。合理地设计数据库结构可以提高系统运行的效率。如果设计不当,查询起来就非 常吃力,程序的性能也会受到影响2。 数据库的设计一般主要包括两个部分: 对网站系统的设计进行需求分析,确定所需要在数据库中保存的信息。 确定每个表的字段属性等数据库信息。 根据系统设计和业务逻辑分析,与我所做模块连接比较紧密的数据表有: USER 表 SINGLE_MATERIAL_BILL 表 SINGLE_MATERIAL_BILL_ITEM 表 STYLE_COMPONENT 表 如表 3-1 所示,该表为 USER 表结构,用于保存登录用户的信息。 表 3-1 USER 表 序号序号列名列名数据类型数据类型长度长度标识标识主键主键允许空允许空说明说明 1user_idbigint20是是否自增长 2COMP_IDbigint20是 3emailvarchar255是电子邮箱 4faxvarchar255是传真 5moblie_phonevarchar255是手机 6cnamevarchar255是中文名 7name_engvarchar255是 8phonevarchar255是电话 毕业设计(论文) 20 9remarkvarchar255是备注 10status
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 今天幼师面试题及答案
- 司法助理考试题及答案
- 广西模拟地理试题及答案
- 2024年纺织材料研发方向试题及答案
- 瑞众保险笔试题及答案
- 广告拓展市场的成功案例试题及答案
- 定西医院招聘试题及答案
- 助理广告师考试学习路径试题及答案
- 深度解读纺织品行业的重要指标试题及答案
- 广告设计师创新设计方向试题及答案
- 贺兰山东麓干红葡萄酒多酚组分与其抗氧化、抗癌活性的关联性研究
- 第15课+十月革命的胜利与苏联的社会主义实践【高效备课精研 + 知识精讲提升】 高一历史 课件(中外历史纲要下)
- 灭火器维修与报废规程
- (4.3.1)-3.3我国储粮生态区的分布
- 辽宁盘锦浩业化工“1.15”泄漏爆炸着火事故警示教育
- 2023年衡阳市水务投资集团有限公司招聘笔试题库及答案解析
- 110~750kV架空输电线路设计规范方案
- 北师大版五年级数学下册公开课《包装的学问》课件
- 车辆采购、维修服务投标方案
- 北师大版英语八年级下册 Unit 4 Lesson 11 Online Time 课件(30张PPT)
- 浅析商业综合体的消防疏散
评论
0/150
提交评论