基于mvc模型的二手市场的设计与实现.doc_第1页
基于mvc模型的二手市场的设计与实现.doc_第2页
基于mvc模型的二手市场的设计与实现.doc_第3页
基于mvc模型的二手市场的设计与实现.doc_第4页
基于mvc模型的二手市场的设计与实现.doc_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专科毕业设计(论文) 设计题目: 基于基于 MVC 模型的二手市模型的二手市场场的的设计设计与与实现实现 系 部: 信息工程系信息工程系 专 业: 计计算机网算机网络络技技术术 班 级: 网网络络 101301 姓 名: 刘刘 军军 学 号: : 102103130120 指导教师: 游学游学军军 职 称: 讲讲 师师 20 13 年 5 月 南 京 江苏海事职业技术学院毕业设计(论文) II 摘 要 二手市场是对商品进行销售、转换买卖的场所。二手市场作为市场形式的 一部分,事实上并没有得到足够的发掘,二手物品本身因为数量较少,转让利 润较小,商家基本为个人形式,因此商品难以得到集中处理。最终结果是由于 买卖双方无法获得买卖信息而导致了二手物品的搁置与浪费。 本次设计主题为二手市场的设计与实现,该系统作为一个信息交互网站, 提供用户注册、用户信息发布、信息搜索、个人信息管理等几项功能,最终目 标是卖方能够发布及管理二手物品信息,买方能够查询到相关分类商品的转让 信息,极大的去方便用户的生活。 本系统的开发工具为 Eclipse,并采用 MVC 模型作为系统架构,前端显示主 要采用 JSP 页面,系统中涉及的表单验证功能主要采用 Ajax 技术,数据存储方 面主要使用 SQL Server 2005 数据库,系统的整体框架是采用了 SSH2 框架。 关键字: 二手市场 MVC Ajax SSH2 SQL Server2005 江苏海事职业技术学院毕业设计(论文) III Abstract The secondary market is commodity sales, selling place. The secondary market as part of the market form, in fact has not been enough to explore, Because of the low number of second-hand goods itself, the transfer of smaller profits, business basic personal form of commodity, so difficult to obtain concentrated treatment. The end result is due to both the buyer and the seller is unable to obtain the sale of information which led to the second-hand goods use and waste. The design theme for the design and implementation of the secondary market, as an information interaction site of the system, several features provide user registration, user information, information search, personal information management, the ultimate goal is for the seller to release and management of second-hand goods information, the buyer can query to the relevant classification of goods for the transfer of information, great to facilitate the users life. Development tool of this system is Eclipse, and use the MVC model as the system architecture, front display mainly uses the JSP page, form validation function relates to the system mainly uses the Ajax technology, data storage using SQL Server 2005 database, the overall framework of the system is the use of the SSH2 framework. Keywords The secondary market MVC Ajax SSH2 SQL Server 2005 江苏海事职业技术学院毕业设计(论文) IV 目 录 第一章第一章 绪论绪论.1 1.1 设计背景与意义.1 1.1.1 背景.1 1.1.2 意义1 1.2 研究内容及主要成果2 1.2.1 主要研究内容2 1.2.2 主要成果介绍2 第二章第二章 开发技术研究开发技术研究.4 2.1 B/S 系统架构介绍.4 2.2 MVC 模型介绍4 2.3 SSH2 框架介绍 .5 2.4 SQL SERVER 2005 介绍.6 2.5 AJAX介绍 7 2.6 CSS 介绍7 2.7 开发和运行环境8 2.8 系统开发流程8 第三章第三章 需求分析需求分析.10 3.1 系统预期用户10 3.2 系统可行性分析11 3.3 系统功能性需求11 第四章第四章 系统设计系统设计.13 4.1 设计目标13 4.2 系统目录结构设计13 4.3 系统体系结构设计15 4.4 系统功能结构设计15 4.5 数据库结构设计16 第五章第五章 系统实现系统实现.21 5.1 系统界面设计21 5.1.1 系统界面设计原则.21 5.1.2 系统界面展示及相关实现代码.21 5.2 输入数据的验证31 总总 结结.34 江苏海事职业技术学院毕业设计(论文) V 致致 谢谢.35 参考文献参考文献.36 江苏海事职业技术学院毕业设计(论文) 1 第一章第一章 绪论绪论 1.11.1 设计背景与意义设计背景与意义 1.1.1 背景 2012 年 7 月 19 日,中国互联网络信息中心(CNNIC)在北京发布第 30 次中 国互联网络发展状况统计报告 。报告显示,截至 2012 年 6 月底,中国网民数 量达到 5.38 亿,增长速度趋于平稳,网民数量居世界第一。众多商家把握时代 的发展趋势,将原本刊登于报纸、杂志等媒介的高额广告转向价格低廉的网络 平台,同时许多个体经营者及个人也将网络广告作为推广、宣传服务与产品的 利器。 二手商品即还存在利用价值的非全新商品,因为其并非全新特点,所以价 格一般比较便宜,但是商品的主要功能基本还存在,所以存在较高的性价比。 然而,二手商品的需求毕竟比较小,需求者一般为个人,商家可盈利空间较小, 因此针对该类商品的网上信息发布系统很少。从而导致了有二手商品转让或购 买意愿的用户可能要通过贴广告、参加跳蚤市场这样的传统途径来解决自己的 需求。然而,粘贴广告的方式比较耗费精力和财力,并且收效甚微,所以许多 人选择到集中展示二手商品的跳蚤市场来获得更大的选择,但是,我们不可能 拥有一个每天都开放的二手市场,例如在大学中的一些社团每年会举办几次跳 蚤市场,生意相当好,但是没有一个社团会选择天天去经营这样的一个市场, 归根到底还是二手市场的开办成本和二手商品的需求量之间的经济矛盾不允许 去做这样一个长期的经营活动。 因为存在着以上的矛盾,许多用户选择将二手商品搁置或扔掉,极大的浪 费了资源。我们迫切的需要一个平台来实现对二手商品信息的集中存放,满足 更多人群对二手商品买卖的需求。 1.1.2 意义 本次毕业设计的内容主要针对目前二手商品信息难以集中、信息获取渠道 困难的特点,设计一个网上二手商品信息发布系统,为广大民众提供快捷高效 的信息集中处理平台。具体意义如下: 1)方便用户实时的查看最新的二手商品信息 用户只需要一台电脑,一个可用的网络,一个友好的浏览器就可以到网络 江苏海事职业技术学院毕业设计(论文) 2 上查看自己需要的商品信息,因为网络的特殊的传输渠道,卖家发布的信息, 用户可以立即查询到,为用户提供了更加及时的信息。 2)扩大了选择范围 传统意义上,我们可以在二手市场上看到很多商品,但是这些商品的来源 受到地理范围的限制而只能是附近的一些卖家提供的商品,而且买家一般也都 是附近的一些群体。网络的普及将世界变成了一个地球村,在这里你可以看到 来自世界各地的商品信息,你的信息也可以被世界各地的人看到,无论是卖家 还是买家,都扩大了选择范围。更庆幸的是,网上银行、快递公司的兴起也为 用户提供了远程交易的可能。 3)节约了人力和财力 传统意义上的二手物品交易无外乎两种途径:一是四处散布广告;二是通 过定期的二手市场集中展示。但是无论是出于哪种途径,卖家和买家都需要投 入大量人力、财力和时间。而网络上的二手市场可以令卖家和买家足不出户的 免费发布和接收二手物品信息。 1.21.2 研究内容及主要成果研究内容及主要成果 1.2.1 主要研究内容 本次设计的内容为基于 MVC 模型的二手市场的设计与实现,系统设计以用户 需求为起点,按照流程分为系统需求分析、系统功能分析、系统整体架构设计、 系统局部功能的设计与实现。 1.系统需求分析,根据当下二手市场发展的不足,分析多数用户的主要需求。 2.系统功能分析,根据用户需求,分析系统需要实现的功能。 3.系统整体架构设计,在功能需求的基础上,考虑系统各个功能之间可能存 在的关联,设计系统的整体组织结构。 4.系统局部功能的设计与实现,在对系统整体结构及功能作详细分析的基础 上,研究系统各个模块的设计与实现方法。 1.2.2 主要成果介绍 本次设计通过参考资料、请教老师及同学完成了一个基于 MVC 模型的二手市 场,该系统为典型的 web 系统,主要目标是为了解决传统二手商品信息传播困 江苏海事职业技术学院毕业设计(论文) 3 难的特点。 本系统完成了对二手商品信息的发布与检索功能,用户通过登录该系统即可 浏览到来自世界各地的二手商品信息,系统设计中加入了二级检索功能,方便 用户精确快速的查找到自己需要的信息。另外,本系统提供用户的注册与登录 功能,主要目的在于对信息发布者做一个相关的信息存储,方便用户发布信息、 管理信息。 江苏海事职业技术学院毕业设计(论文) 4 第二章第二章 开发技术研究开发技术研究 2.12.1 B/SB/S 系统架构介绍系统架构介绍 本设计主要是参考 Web 体系结构,采用现下常用的 B/S(浏览器/服务器) 模式,用户的所有操作都是通过浏览器完成和服务器的交互工作。该系统体系 结构主要由前台页面显示、后台逻辑控制、数据库操作几个模块组成。用户能 够直观的看到前台的页面显示,这也是用户的操作界面,用户通过页面操作将 信息或命令传达到后台逻辑控制层,由逻辑层判定下一步操作内容,数据库用 于负责数据的持久化问题。 Web 技术的发展,使得管理系统的开发更方便、功能更强大,在此系统的开 发过程中,Web 技术起了一个骨架式的支持作用;与此同时组件技术的发展为系 统的开放性、集成性提供了便利,有效合理地引入组件技术是当前 Web 系统开 发与发展的一个方向;通过对系统的开发进行建模,形象直观的图形化表示, 可以显示系统的流程与功能。选择有效的建模方法,充分利用 Web 技术与组件 技术,提高软件的开发效率,提高的软件的可靠性和可维护性,是每个软件开 发人员所关心的问题。 2.22.2 MVCMVC 模型介绍模型介绍 MVC 是三个单词的缩写,分别为: 模型(Model),视图(View)和控制 Controller)。 MVC 模式的目的就是实现 Web 系统的职能分工。 Model 层实现 系统中的业务逻辑,通常可以用 Java Bean 或 EJB 来实现。 View 层用于与用户 的交互,通常用 JSP 来实现。 Controller 层是 Model 与 View 之间沟通的桥梁, 它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户 的输入并将它们映射为模型层可执行的操作。 MVC 模型倡导 2 个独立的应用程序之间应该严格的隔离。这种隔离应该叫做 概念上的隔离,或者,更加专业的术语叫做“松耦合” 。MVC 几乎所有的的方面 都是受这个目标的驱动,应用程序之间互相保持隔离。松耦合的架构方式带来 了许多短期和长期优势: 1)易于开发 个性化的组件之间不再依赖其他的组件,这就意味着他们能够更加容易的 独立开发。组件能够容易的被替换掉,保护一个组件并发并不受与其交互的其 江苏海事职业技术学院毕业设计(论文) 5 他组件开发的影响。 2)易于测试 组件的松耦合允许测试站在“产品”组件的立场上进行充分的测试。也就 是说,可以通过调用其他的组件返回一些数据从而很容易的避免直接调用数据 库。组件之间和模拟呈现之间容易的交换大大方便了测试的进程,随着时间的 流逝,它能极大的增加系统的可靠性。 3)易于维护 逻辑上隔离的组件意味着对于一些组件变化也是隔离的。因为风险往往是 伴随着的一定范围的改变产生,因此,更少的修改是一件好事。 在本次毕业设计中,MVC 作为一个开发模型来实现对系统的松耦合,系统设 计中 Entity 层基本对应 MVC 中的模型层,Action 层基本对应 MVC 中的控制层, 系统页面展示模块基本对应 MVC 中的视图层。 2.32.3 SSH2SSH2 框架介绍框架介绍 框架,即 Framework。其实就是某种应用的半成品,就是一组零件,供你选 用完成你自己的系统。简单说就是使用前人提供的工具,来做你需要做的事情, 这样的话使用者就可以使用现成的工具来完成自己的工作,大大提高了自己的 工作效率。 为什么要用框架? 因为软件系统发展到今天已经很复杂了,特别是服务器 端软件,涉及到的知识,内容,问题太多。在某些方面使用别人成熟的框架, 就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻 辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如, 事物处理,安全性,数据流控制等问题。还有,框架一般都经过很多人使用, 所以结构很好,并且扩展性也很好,而且它是不断升级的,你可以直接享受别 人升级代码带来的好处。框架一般处在低层应用平台(如 J2EE)和高层业务逻 辑之间的中间层。因为某种框架用的人多,而且项目比较大,采用以后熟悉该 框架技术的人可以马上和开发团队紧密结合,从而大幅度的提升工作效率。 Struts2+Spring+Hibernate 是 J2EE 的最新流行框架。 Spring 是一个开源 框架,它由 Rod Johnson 创建。它是为了解决企业应用开发的复杂性而创建的。 Spring 使用基本的 Java Bean 来完成以前只可能由 EJB 完成的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度 江苏海事职业技术学院毕业设计(论文) 6 而言,任何 Java 应用都可以从 Spring 中受益。 Hibernate 是一个开放源代码 的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程 序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在 任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。 Struts2 框架是以 Web Work 基础上发展起来的。从某种程度上来讲,Struts2 没有继承 Struts 1 的血 统,而是继承 Web Work 的血统。或者说,Web Work 衍生出了 Struts2,因为 Struts2 是 Web Work 的升级,而不是一个全新的框架,因此稳定性、性能等各 方面都有很好的保证:而且吸收了 Struts 1 和 Web Work 两者的优势,因此, 是一个非常优秀的框架。 在本次系统设计中,hibernate 的功能是实现对数据的操作,完成数据持久 化任务;struts2 主要功能是实现 action 的跳转;spring 在此次系统中管理 hibernate 和 struts,并提供容器作用,实现数据的一次加载,到处使用。 2.42.4 SQLSQL ServerServer 20052005 介绍介绍 SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工 具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结 构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高 可用和高性能的数据应用程序。 与 Microsoft Visual Studio、Microsoft Office System 以及新的开发 工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论是开发人员、数据库管理员、信息工作者还 是决策者,SQL Server 2005 都可以为用户提供创新的解决方案,帮助用户从 数据中更多地获益。 SQL Server 2005 具有以下优势: 1.企业数据管理 SQL Server 2005 针对行业和分析应用程序提供了一种更安全可靠和更高 效的数据平台。SQL Server 的最新版本不仅是迄今为止 SQL Server 的最大发 行版本,而且是最为可靠安全的版本。 2.开发人员生产效率 江苏海事职业技术学院毕业设计(论文) 7 SQL Server 2005 提供了一种端对端的开发环境,其中涵盖了多种新技术, 可帮助开发人员大幅度提高生产效率。 3.商业智能 SQL Server 2005 的综合分析、集成和数据迁移功能使各个企业无论采用 何种基础平台都可以扩展其现有应用程序的价值。构建于 SQL Server 2005 的 BI 解决方案使所有用户可以及时获得关键信息,从而在更短的时间内制定更好 的决策。 2.52.5 AjaxAjax 介绍介绍 Ajax 并不是一种新的编程语言,而仅仅是一种新的技术,它可以创建更好、 更快且交互性更强的 web 应用程序。Ajax 使用 JavaScript 在 web 浏览器与 web 服务器之间来发送和接收数据。 传统的 web 应用程序会把数据提交到 web 服务器(使用 HTML 表单)。在 web 服务器把数据处理完毕之后,会向用户返回一张完整的新网页。由于每当 用户提交输入,服务器就会返回新网页,传统的 web 应用程序往往运行缓慢, 且越来越不友好。通过 Ajax,web 应用程序无需重载网页,就可以发送并取回 数据。完成这项工作,需要通过向服务器发送 HTTP 请求(在幕后) ,并通过当 服务器返回数据时使用 JavaScript 仅仅修改网页的某部分。 通过在幕后与 web 服务器交换数据,而不是每当用户做出改变时重载整个 web 页面,Ajax 技术可以使网页更迅速地响应。 本系统中涉及到的 Ajax 的应用主要体现在页面信息验证、下属城市的动态 获取,通过该技术,系统在不发生页面跳转的情况下完成前后台的数据交互。 2.62.6 CSSCSS 介绍介绍 CSS 是英语 Cascading Style Sheets(层叠样式表单)的缩写,它是一种用 来表现 HTML 或 XML 等文件样式的计算机语言。 CSS 目前最新版本为 CSS3,是能够真正做到网页表现与内容分离的一种样式 设计语言。相对于传统 HTML 的表现而言,CSS 能够对网页中的对象的位置排版 进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模 型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的 表现设计语言。CSS 能够根据不同使用者的理解能力,简化或者优化写法,针对 各类人群,有较强的易读性。 江苏海事职业技术学院毕业设计(论文) 8 CSS 本身主要功能是完成对页面的布局与美化工作,在本系统的实现中, CSS 主要完成页面整体框架布局、div 层的嵌套布局、页面元素的属性设定。 2.72.7 开发和运行环境开发和运行环境 本系统采用的是 B/S 架构,开发工具为 Eclipse,开发语言为 Java,由于 Java 的跨平台性,理论上该系统可以在任何操作系统上运行,以下为具体开发 环境: 操作系统:Microsoft Windows XP 开发语言:Java+JavaScript 开发工具:Eclipse4.2.0 数据库系统:Microsoft SQL Server 2005 应用服务器软件:Tomcat 6.0 图形编辑软件:美图秀秀 3.8.1 2.82.8 系统开发流程系统开发流程 本次毕业设计主要按照以下流程进行实现:需求分析、系统功能分析、系统 整体架构设计、系统细节设计与实现,如下图 2.1 所示: 需求分析 系统功能分析 系统整体架构设计 系统细节设计与实现 图 2.1 系统开发流程图 1.系统需求分析阶段,该阶段的内容主要是分析目前二手市场存在的不足, 了解用户期望目标。 2.系统功能分析阶段,该阶段的主要内容是根据收集到的用户需求信息,分 析该系统需要实现的功能。 3.系统整体架构设计阶段,该阶段的主要内容是根据系统各个功能的关联, 江苏海事职业技术学院毕业设计(论文) 9 设计系统架构,在此阶段对系统具体功能模块的设计不做考虑。 4.系统细节设计与实现阶段,该阶段是根据系统总体架构,对各个模块进行 逐个分析并制定解决方案,参照方案完成该模块。 江苏海事职业技术学院毕业设计(论文) 10 第三章第三章 需求分析需求分析 3.13.1 系统预期用户系统预期用户 本系统作为一个信息发布系统,所有用户都具有搜索信息的权限。具体划分, 用户主要涉及商品信息发布者与商品信息接收者两种角色,对两种角色现做以 下详细介绍: 1.商品信息发布者的存在是该系统存在的基础,商品信息发布者主要功能是 发布自己的商品转让信息,因为涉及到个人信息的集中存放与辨识问题,商品 信息发布者还拥有用户登录、用户个人信息修改、发布历史管理等功能,如下 图 3.1 所示: 用户登录 用户个人信息管理 用户发布历史管理 信息索引 信息发布 图 3.1 商品信息发布者功能图 2.商品信息接收者是指没有登录该系统的用户,对于该用户,由于没有登录 系统,因此仅提供信息索引、用户注册、用户登录(已注册用户)功能,如下 图 3.2 所示: 江苏海事职业技术学院毕业设计(论文) 11 用户登录 用户注册 信息索引 图 3.2 商品信息接收者功能图 3.23.2 系统可行性分析系统可行性分析 本次设计的主要影响因素为技术的运用。从技术本身来说,由于本系统的功 能比较少,技术上主要涉及 SSH2 框架、JSP、Ajax 和 CSS 技术,皆是当前的主 流技术,因此有关查询资料比较丰富,可参考文件较多,为实现本系统提供了 有力的保障;其次,本系统的设计中不涉及硬件及其他配套设备,基本上不需 要投入其他资金,因此不存在经济上的困难;第三,本系统功能比较小,所有 设计与制作均出自一人之手,后期维护也由同一人承担,不涉及相关技术不了 解的情况,不存在管理上的难度。 3.33.3 系统功能性系统功能性需求需求 针对目前二手商品信息汇集困难的特点,特设计本系统,因此,系统在功能 上要做到以下几点: 1)用户方面 用户分为已注册用户与未注册用户,其两者的主要区别仅在于已注册用户拥 有自己的账号,个人资料信息,商品发布功能,未注册用户仅享受系统提供的 信息查询功能。 2)登陆方面 系统首页自动判定该用户是否已经登陆,对于已登陆用户,系统为其保存用 户信息,用户可以通过右上角的快速链接查看个人信息,对于尚未登陆用户, 系统右上角仅提供注册与登陆链接。 3)信息查询 江苏海事职业技术学院毕业设计(论文) 12 系统页面上方提供一个大的搜索框供用户直接搜索商品关键字,在首页提供 常见商品的快速链接,同时,系统在查询结果页面提供信息的更多约束条件的 查询,方便用户缩小查询范围。另外,系统提供分类查询功能,方便用户按种 类细化查询条件。 4)信息发布 系统为已登陆用户提供信息发布功能,用户在页面提交自己的信息表单,填 写必要选项,选取商品种类,用户发布成功后即可在页面查看到该条记录。 5)个人信息 用户个人信息是查询已登陆用户的个人相关信息,包括用户信息、发布信 息等内容,在该页面可以完成用户个人信息的修改,以及已发布信息的修改和 删除操作。 江苏海事职业技术学院毕业设计(论文) 13 第四章第四章 系统设计系统设计 4.14.1 设计目标设计目标 根据当前主流 Web 系统的设计模式,并参考其他类似服务类网上系统的特 点,结合本系统自身的实际应用需求,在本系统的设计完成时将要实现以下的 目标: 1)基本功能实现。系统本身的出发点就是完成一项功能,所以,本条目标 的实现代表着系统完成程度的关键评判因素。系统应该逐一实现功能需求中所 述的各项功能。 2)系统配置灵活。系统应该充分尊重用户的个性,允许用户对涉及自身的 某些信息的选择性输出,对一些系统本身运行时不做强烈要求的内容,给予用 户充分的自由做选择性填写。 3)友好的操作界面。系统的基本功能完善的同时,尽量实现一个友好的操 作界面,在不影响系统正常服务的情况下,还应做到为用户提供最方便的操作。 4)易于日后维护。这主要是考虑到系统在建成之后可能涉及用户体验不佳、 系统 Bug 逐渐显现、系统性能不稳定的情况下,方便系统维护人员能够对系统 及时做出正确调整。 5)易于升级。一个优秀的系统,一个具有活力的系统必然在一开始就考虑 到随着系统的广泛应用,系统在很多地方需要增加或删减模块,这就要求本系 统在开发时有着清晰的功能层次划分,能满足系统在需要升级或扩充时能够方 便的做出调整。 6)良好的纠错能力。纠错能力主要体现在对于用户的一些非法操作能够及 时给出提示信息,方便用户改进。例如在登陆系统时用户名及密码错误、密码 为空等常见用户误操作行为。 4.24.2 系统目录结构设计系统目录结构设计 系统在设计伊始就选择了使用 MVC 分层模型和 SSH2 框架,系统目录结构大 致如图 5.4 所示。 江苏海事职业技术学院毕业设计(论文) 14 图 4.1 系统架构图 系统为 Eclipse 建立的 Web Project,src 目录下存放 action、dao、util、service、entity、test 六个主文件夹,其中 test 文件夹 仅用作部分代码测试使用。action 文件夹存放控制层类、dao 文件夹中存放系 统与数据库之间的操作接口,另外,dao 文件夹中还有 impl 文件夹,用于存放 接口的实现类;、service 文件夹存放服务层接口,service 文件夹中还存在 impl 文件夹,其中存放 service 层接口的实现类、util 提供系统组件的一些类 的存放、entity 主要存放实体类信息,包括表格的映射文件配置信息。 系统 Web Content 目录下存放自定义文件夹 imgs、css、js、pages、util 和 index.jsp 页面,其中 imgs 文件夹主要是提供所需图片的调用,css 文件中存 放页面布局信息,供页面元素调用,js 文件夹中为 JavaScript 信息,页面中的 控件通过 JavaScript 脚本实现部分功能,pages 存放多数页面,在本系统中其 优势不明显,在大型系统中,分类的页面存储为日后的升级、维护提供了极大 的方便,util 文件夹主要存放一些组件页面,例如本系统中首页由 header.jsp、footer.jsp、siderbar.jsp、content.jsp 页面组成,页面组合的 应用增强了代码的复用性,降低了资源浪费;index.jsp 页面是系统的入口,它 江苏海事职业技术学院毕业设计(论文) 15 提供首页的跳转操作,解决系统首页直接加载时因为 css 文件名称的冲突而带 来的页面非正常显示现象。 4.34.3 系统体系结构设计系统体系结构设计 基于用户使用的便利性以及现今主流实现方式的考虑,二手市场系统采用 现下比较流行的 B/S 体系架构。所谓 B/S 架构,就是浏览器/服务器模式,用户 通过浏览器访问系统,通过对浏览器实现与后台服务的数据交互工作。相对于 传统的 C/S 架构(客户端/服务器)架构,B/S 架构机构的优势体现在以下几个 方面: 1) 极大地降低了客户端计算机的运行负荷,减少了用户机器的资源消耗。 2) 有利于对系统的更改和维护,由于系统本身运行在服务器端,因此对服 务器方的更改即可影响到所有客户端的访问数据。 3) 客户通过浏览器访问服务器系统,不涉及用户个人机器配置及操作环境 的因素,极大地方便了系统开发人员的工作量。 4) 开发及设计时无需考虑跨平台的实现问题。 4.44.4 系统功能结构设计系统功能结构设计 通过对系统的深入分析与研究,总结出系统功能的几个主要功能模块,如图 4.1 所示。 基于 MVC 系统的二手市场 用户个人中心模块 用户登陆与注册模块 用户信息索引模块 用户信息发布模块 数据库操作模块 图 4.2 系统功能模块图 以下是对各个模块的具体说明: 江苏海事职业技术学院毕业设计(论文) 16 1)用户登陆与注册模块,该模块负责用户账户的注册、登陆和修改功能, 同时提供对已登陆用户名的保存功能,使用户在一次连接中不用再次登陆。 2)用户个人中心模块,该模块的显示建立在用户具有账户和已登录情况下, 对于已注册用户,个人账户信息保存在服务器中,只有在用户登陆的情况下, 才会出现个人中心的连接,用户进入个人中心可以查看自己的相关信息,包括 个人信息和已发布信息的修改。 3)用户信息索引模块,该模块是本设计的主要体现模块,系统的主要服务 主要都体现在该模块,用户能够通过系统提供的搜索框、城市选项框、时间选 择、类型选择功能筛选自己需要的信息。为方便用户操作,系统首页面提供常 用物品的分类链接,方便用户快速查询。 4)用户信息发布模块,用户信息发布模块建立在用户具有用户账号和已登 录的情况下,需要发布信息的用户必须拥有自己的账号来标示自己的信息,该 功能模块下,用户可以选择自己要发布的商品信息的所属类别、设定商品的期 望出售价格、填写自己的联系方式等。发布信息时用户要指定自己发布信息的 所属类别,系统不提供物品类别的自动判定功能。 5)数据库操作模块,该模块事实上对用户是透明的,但是涉及到整个系统 数据的存储问题,关系到系统运行的操作性及顺畅性,因而不容忽视。数据库 模块主要考虑数据表的设计,包括表间的关联问题,同时结合系统设计特点, 设计表格使其最高效率的服务于系统。 4.54.5 数据库结构设计数据库结构设计 数据库用于存储系统中涉及到的数据,实现主要数据的持久化功能,另外, 有些数据还用于页面的现实条用,例如城市表中的下属城市信息还用于页面的 动态获取展示,这些信息在需要使用的时候从数据库查询调用,减少页面的加 载负荷,保证了系统运行的顺畅。另外,选择用数据库存储数据能够方便的直 观地看到系统的数据的格式化存储。 本次设计采用的数据库软件为 Microsoft SQLServer 2005,本次设计中主 要有四个基表和一个视图,分表为 user_tb(用户表) 、type_tb(类型表) 、 city_tb(城市表) 、info_tb(信息表) 、info_view(用户视图) ,如下图 4.3, 为数据库中表之间的关联关系: 江苏海事职业技术学院毕业设计(论文) 17 图 4.3 系统表关联 以下给出本次设计涉及的几个主要表格及其相关说明: 1)用户表(user_tb) 负责用户信息的存储,表结构如图 4.4 所示。 图 4.4 用户表结构 user_id:用户唯一标识字段 user_name:用户名字段,即登陆账户名 password:用户密码,即登陆密码 sex:性别 江苏海事职业技术学院毕业设计(论文) 18 age:年龄 address:用户所在地 mail:用户邮箱,用于验证信息(本次设计不做实现) real_name:用户真实姓名,用于实名认证(本次设计不做实现) 2)类型表(type_tb) 描述发布商品的所属类型,类型表严格划分类型所属父阶类型。表结构如 图 4.5 所示。 图 4.5 类型表结构 type_id:所属类型标识 type_name:类型名称描述 super_type:上阶类型标识 3)城市表(city_tb) 描述商品所在地信息,主要用于实现下拉框数据动态显示,城市设置等级 划分,如:省、市、县三级管辖范围划分。同时,城市要有自己的隶属城市 id 属性。表结构如图 4.6 所示。 图 4.6 城市表结构 city_id:城市标识字段 city_name:城市名称描述 city_level:城市等级划分,主要用户区分省、市、县等划分区域 super_city:城市所属城市标识 4)信息表(info_tb) 负责信息存储,用于用户信息查询、筛选。信息表涉及对用户表 id、类型 表 id、城市表 id 的关联,它外键关联其他三张表格,通过 id 的外键链接,能 查询到任意一条信息,该表格提供一条信息的所有相关细节信息的查询功能。 江苏海事职业技术学院毕业设计(论文) 19 表结构如图 4.7 所示。 图 4.7 信息表结构 info_id:信息唯一标识 user_id:该信息发布者的用户标识 type_id: 用于标识物品所属类别 city_id:该信息发布商品所在城市标识 info_title:信息标题 info_content:信息主体,描述物品详细信息 img:物品图片展示(如果存在) price:信息发布者期望的出售价格 submit_date:提交日期,主要用于计算信息时效性 tel:信息发布者联系方式 5)信息视图(info_view) 信息表主要的功能是为查询操作提供更加便捷的操作,视图表中存放系统查 询涉及的字段信息,另外写入了 info_tb 的 id,便于用户实现对该条记录的信 息信息查看。表结构如图 4.8 所示。 图 4.8 信息视图 info_id:商品信息表 id 标识,用于系统查看商品详细信息时的检索 江苏海事职业技术学院毕业设计(论文) 20 user_name:用户名,取自用户表 city_name:物品信息中 city_id 字段对应城市名 typy_name:物品所属类型 info_title:信息标题 price:用户预设出售价格 submit_date:信息提交时间 数据库的设计主要考虑到系统数据存取的方便性以及系统部分功能的实现。 用户表提供用户所有个人信息的存储;城市表事实上主要目的提供页面上城市 选择的功能,因为城市选择设计三个等级,同一等级城市会有多个,一个城市 下又会有多个城市,因此,如果单纯的通过页面来判断所选择的城市,并展示 该城市的下属城市的话,那么该页面内容必然太过庞大,而且涉及逻辑判断较 多,从而严重影响系统的运行速度,利用 Ajax 技术可以侦测到用户已经选择的 城市,后台执行相关代码即可将该城市的下属城市显示到前台页面,从而大大 减小了系统负荷,这也正是数据表设计隶属城市 id 的原因所在;类型表提供对 信息所属类型的定义,同时也能够提供发布页面类型选择的动态传输,实现类 似于下属城市动态加载的功能。 信息表实际上关联了以上三张表格,通过它可以查到一条信息的完整相关 信息,为了避免系统数据库存储的冗余,故将以上三张表格的标识符关联到此 表中,信息表存储数据的除用户关系、发布所在地、所属类别之外的所有直接 信息。因为信息表存储的内容较大,关联的信息较多,如果页面的每一次查询 都是直接在信息表中查询的话,必然带来两个直接问题:一是查询一条信息所 要检索的字段更多,对查询效率有一定影响;二是当查询一条信息时,页面上 要显示物品所在地时,系统还需要通过信息表中的 city_id 字段去查询 city_tb 中的 city_name 字段,这样必然很麻烦,因此,再次引入 info_view 视图。视 图因为是在数据库中存储的一个视图创建语句,因而其本身所占存储空间较小, 而且执行效率更高。在 info_view 视图中,根据以上四张表格之间的关联,系 统中查询出一条信息对应的用户名、城市名、类型名、价格、提交日期等字段, 这些是可以直接显示在系统页面上的,因而比较方便使用,另外,这些字段和 用户查询时传入的字段匹配,因此,查询时可以直接在视图中查询,避免类查 询一条信息必须通过查询 info_tb 表的麻烦。 江苏海事职业技术学院毕业设计(论文) 21 第五章第五章 系统实现系统实现 5.15.1 系统界面设计系统界面设计 5.1.1 系统界面设计原则 系统界面是用户与系统后台控制的中介,是用户唯一可以看到的模块,因 此界面设计的原则是友好、大方,本系统的设计原则如下: 1)页面设计要简洁实用。界面功能布局合理,操作方便,不奢求很炫的效 果和华丽的外观。 2)风格统一。系统界面最好保持风格的统一,避免风格的交叉和混杂给用 户带来的视觉凌乱感。 3)颜色搭配合理。本系统颜色的搭配原则是采用比较淡的颜色作为主色调, 对其他一些模块的颜色,进行稍微加深或者减浅,尽量做到不给用户某一模块 特别突兀的感觉。 4)必要部位添加注释。对于类似于必填部位的说明,避免用户在最后提交 时发生无法提交提醒,还需重新填写的现象。注解有助于减少用户的错误操作。 5.1.2 系统界面展示及相关实现代码 本系统涉及多个页面,本论文只选取几个主要页面作为展示说明: 1 1)用户信息查询界面用户信息查询界面 用户查询界面主要按照系统分类提供常用搜索物品的超链接,用户在首页面 就可以看到大多数常用商品的搜索链接;另外,系统搜索界面提供关键字搜索, 用户可以在搜索框输入自己想要查询的物品的关键字,页面提交数据到指定 Action,此时的 Action 指定类的指定方法是通过 struts.xml 中的映射文件来 获得,该 Action 类调用 Service 层接口,Service 类调用 Dao 层方法,Dao 层 访问数据库,实现对数据的持久化操作。系统展示页面如图 5.1 所示。 江苏海事职业技术学院毕业设计(论文) 22 图 5.1 用户信息查询界面图 本页面为系统首页,主要功能:通过搜索框的关键字查询相关信息、通过系 统页面上的类型分类快速查询相关信息、用户登陆、用户注册,功能代码如下: 1. 通过关键字查询信息代码 Jsp 页面部分: 江苏海事职业技术学院毕业设计(论文) 23 Struts.xml 中对应映射信息: A cti on 层实现方法: function searchKey() var key=$(#searchText).val(); window.location.href=QueryInfoByKeyAction?key=+key; /pages/result.jsp /pages/error.jsp 江苏海事职业技术学院毕业设计(论文) 24 Service 层实现执行操作: 2 2)用户注册界面用户注册界面 用户注册界面即为用户在系统注册自己的账号,拥有自己账号的用户享有信 息发布功能,同时,在这项活动和这项功能基础上,系统还将提供个人信息查 询功能,用户可以在登陆系统之后查看自己的个人信息和已经发布的信息。用 Service public class QueryInfoServiceImpl implements QueryInfoService Override public List queryBykey(String key) infoList=queryInfoDao.queryByKey(key); return infoList; Dao 层执行方法: Repository public class QueryInfoDaoImpl extends MyHibernateDaoSupport implements QueryInfoDao /关键字查询 String Hql; SuppressWarnings(“unchecked“) public List queryByKey(String key) Hql=“from InfoView i where Title like %“+key+“%“; infoList=(List)this.getHibernateTemplate().find(Hql); return infoList; public class QueryInfoAction extends ActionSupport HttpServletRequest request=ServletActionContext.getRequest(); /根据关键字查询信息 public String queryByKey() throws UnsupportedEncodingException String key=null; key = new String(request.getParameter(“key“).getBytes(“ISO- 8859-1“),“UTF-8“); infoList=queryInfoService.queryBykey(key); if(infoList.size()=0) return “fail“; return “success“; 江苏海事职业技术学院毕业设计(论文) 25 户注册界面主要涉及的内容是对用户信息的持久化操作,另外,在此处提供用 户注册时的必填信息验证功能。如图 5.2 所示。 图 5.2 用户注册界面图 此模块是一个典型的 SSH2 框架完成的操作,其中,struts2 的实现主要体 现在 struts.xml 配置文件中,实现 action 位置及方法的定义,因为比较类似 于 web.xml 文件且上文已做类似信息展示,因此不做展示;hibernate 框架主要 体现在它对数据库连接的获取,以及它提供一定的结构方便开发人员更加简便 的实现数据操作;这里主要展示的是 spring 框架,在本系统中,hibernate 和 struts 都被放到了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论