




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 基于 JSP Servlet 校园二手交易平台 摘 要 本系统采用 JSP servlet 技术 是使用 Java 编程语言编写的一套校园网二手交易 平台软件 系统采用的是最近几年流行的 B S 开发模式 以互联网方式运行 服务器 端只需要安装本系统 而客户端用户只要可以上网 就可以非常方便快捷的通过浏览 器访问系统 浏览和发布二手交易信息 免去了传统的 C S 模式下复杂的安装 配置 维护等操作 同时由于使用面向对象的 Java 语言 所以本系统也具有 Java 语言的面 向对象 与平台无关 安全性高 稳定性高 多线程等特性 以及 Java 语言对网络编 程技术的支持 使得本系统具有很高的使用价值 系统开发采用了实现 MVC 模式的 Web 应用组件 Struts 实现数据持久化功能的 ORM 组件 Hibernate 用 JSP HTML JavaScript 进行界面处理 数据库采用比较稳定的 MySQL 5 0 并用 JDBC 进行数据库访问 关键词 JSP Struts Hibernate MySQL 二手交易平台 II Campus Secondhand Merchandise Platform Based on Jsp Servlet ABSTRACT This system is a set of platform software of the campus wide system secondhand transaction It adopts the JSP J2EE technique and programmed with Java programming language It also adopts the B S development mode which is based on Web and popularize in recent years It runs in internet ways Only when the server install this system and the client can visit it browse and release some secondhand conveniently and speedily when they go on line And so it dispenses with such operation as the complicated installing installment and support in traditional C S mode At the same time it uses the Java language which towards the OOP object oriented programming So the system has the specific property of towarding OOP irrelevant with the platform the Java language s support to the network programming technique makes the system have high practical value The System using the components of Web applications Struts to achieve MVC model using the ORM components Hibernate to achieve data persistence features using JSP HTML JavaScript to Show page using Relatively stable database MySQL 5 0 and use JDBC to visit KEY WORDS JSP Struts Hibernate MySQL Campus Secondhand Merchandise III 目 录 摘 要 I ABSTRACT II 1 系统分析 1 1 1 开发背景 1 1 2 目的和要求 1 1 3 可行性研究 1 2 开发技术及开发环境 3 2 1 Java 语言简介 3 2 2 J2EE 技术介绍 3 2 3 Servlet JSP 技术 3 2 4 MVC 简介 4 2 5 Struts 技术 5 2 6 Hibernate 技术 6 2 6 1 应用程序的分层体系结构 6 2 6 2 Hibernate 的应用及 API 简介 7 2 7 开发环境及环境配置 8 2 7 1 Java JSP 系统环境 8 2 7 2 JSP 环境的安装和环境变量的设置 8 2 7 3 Eclipse 开发工具 9 2 7 4 Tomcat 服务器 9 2 8 数据库开发工具选择及配置 10 3 系统需求分析及设计 11 3 1 系统需求分析 11 3 1 1 系统功能需求 11 3 1 2 系统界面要求 11 3 2 概要设计 12 3 2 1 系统体系结构设计 12 3 2 2 系统功能模块设计 12 3 2 3 功能设计的目标与原则 13 3 3 数据库设计 14 3 3 1 数据库需求分析 14 3 3 2 数据库概念结构设计 14 IV 3 3 3 数据库逻辑表设计 14 3 3 4 数据库逻辑结构设计 17 3 4 数据库访问设计 18 3 4 1 数据库表模型设计 18 3 4 2 Hibernate 数据库访问配置 18 3 4 3 定义映射文件 19 3 4 4 Hibernate Session 工厂 22 3 4 5 定义和实现 Hibernate DAO 22 3 4 6 Hibernate Filter 的实现 23 4 系统功能模块的实现 25 4 1 系统主页设计 25 4 1 1 主页显示设计 25 4 1 2 主页后台设计 26 4 2 系统登录功能设计 26 4 3 系统搜索功能设计 27 4 4 用户注册功能设计 29 4 4 1 用户注册页面设计 29 4 4 2 用户注册后台设计 31 4 5 发布 修改信息设计 31 4 6 信息管理设计 32 4 7 信息留言设计 33 4 8 二手指南设计 34 5 总结 35 致 谢 36 参 考 文 献 37 附 录 38 基于 JSP Servlet 校园二手交易平台1 1 系统分析 1 1 开发背景 随着全世界互联网技术的不断发展 各种基于互联网技术的网络应用不断涌现 网 络技术正在不断的深入人们的生活 人们从Internet上获取信息 享受生活 交流感 情 网上工作等 Internet正在迅速改变着人们的生活方式 经过我国改革开放多年以后 随着与国际社会的接轨 各种资源的商品化已经逐 渐成为了我们这个社会的代名词 在这这情势下 校园二手商品资源也已极大的丰富 起来 如何解决一类问题 争取最大利用率的交流这类商品的信息便是一个存在中的 问题 本毕业设计便是解决该问题的 1 2 目的和要求 在当前社会上 许多的各种类型的电子商务类网站纷纷建立 可以很大程度上的 解决人们信息资源的闭塞以及地域上的限制 作为大学校园 伴随着学生的购买能力 的提高和每年的升学和毕业 也存在的许多各种类型的二手商品 由于信息交流的落 后 很多只限于于校园公告栏或者请人代为宣传的方式进行交易 这种方式有很多局 限性和偶然性 并不能满足二手商品畅通交流的要求 于是一种新的二手商品信息交 流的方式出现了 就是基于Web的校园网二手商品交易系统 通过这个系统 可以发现 每一个校园网用户都是系统的主人 大家可以非常方便的发布自己的信息 浏览别人 的发布的信息 还可以对各种二手商品信息作出横向比较 作出自己的最佳选择 由 此可见 该系统只是一个交流二手商品信息的平台 与一般的电子商务类网站又有本 质的区别 1 3 可行性研究 设计这样一个系统 从根本上解决了传统的校园二手信息发布交流方式的弊端 使得校园各种二手商品信息得到了有效的整合 方便了广大用户 且拥有的客户通常 只是大学校园网的用户 所有系统规模上来讲不会很大 从经济上来说 由于选择的 开发工具和服务器几乎全部为免费的开源软件 并且由于是开发成本较低的基于Web的 B S模式 而非成本费用相对较高的C S模式 所以从经济上来讲是可行的 从技术上 来说 由于是基于Web的 可以相对比较容易面对用户的实际需求而开发 而在现今 各种网络应用的开发已经相当成熟 出现了几大主流的开发语言和工具 都可以非常 有效的支持开发这样一个系统 同时作为本系统 也有许多成功的电子商务类网站的 经验可以借鉴 所以从技术的角度来说 也是可行的 从运行上来说 由于客户端仅 陕西科技大学毕业设计说明书2 仅只是需要一个浏览器 通过浏览器来登陆系统 而服务器端也只需要一台服务器 服务器要求一个数据库环境和一个网络应用开发的环境 实现起来比较容易 所以从 运行上来说是可行的 同时这样一个系统 在系统管理员合法管理和用户的自觉配合 下 不会违规进行任何的不法的活动和交易 发布具有危害性和不适宜的信息 也不 存在任何非法牟利的行为 在法律上也是可行的 在各种可行性研究保证和基于用户 需求要求下 开发系统的方案经过不断论证和假设 确定出了一个最佳方案 基于 JSP Servlet 校园二手交易平台3 2 开发技术及开发环境 2 1 Java 语言简介 Java语言是美国Sun公司于1995年推出的一种简单的 面向对象的 分布式的 可 解释的 键壮的 安全的 结构的 中立的 可移植的 性能很优异的多线程的 动 态的语言 其前身为OAK语言 是SUN公司为一些消费性电子产品而设计的一个通用环 境 他们最初的目的只是为了开发一种独立于平台的软件技术 经过Sun公司的工程师 的不懈努力以及全世界无数的编程爱好者的使用 Java终于发展成为今天这样一个集 桌面 J2SE 网络 J2EE 移动平台 J2ME 应用为一体的功能强大的编程语言 目前 Java由于其平台无关及分布式特性 最重要的应用是在网络应用上 1 2 2 J2EE 技术介绍 J2EE技术是Java网络应用的技术 广泛应用于企业级的应用 它是由一套规范 shannin 2001 和建立在J2SE平台上的应用编程接口 API 组成 J2EE拥有Sun公司 提供免费开发工具 称为J2EE软件开发工具包 Software Development Kit SDK J2EE技术是一种Java网络应用技术的组合 包含有远 程方法调用 Remote Method Invocation RMI Java消息服务 Java Message Service JMS JavaMail等通信服务 JDBC Java命名和目录接口 Java naming and Directory Interface JNDI Java连接器体系结构 Java Connector Architecture JCA Java事务API Java事务服务 JTA JTS XML处理API等通用服务 以及Servlet Java服务器页面 JSP 企业级JavaBean EJB 等组件技术 任何J2EE的 实现都必须要在其特定容器中实现 2 3 Servlet JSP 技术 Servlet是JSP技术的基础 JSP本身就是预先被编译成Servlet 然后再运行的 而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成 Servlet其实 和传统的CGI程序和ISAPI NSAPI等Web程序开发工具的作用是相同的 在使用Java Servlet以后 用户不必再使用效率低下的CGI方式 也不必使用只能在某个固定Web服 务器平台运行的API方式来动态生成Web页面 许多Web服务器都支持Servlet 即使不 直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持 Servlet JSP JavaServer Pages 是一种基于Java的脚本技术 在JSP 的众多优点 之中 其中之一是它能将 HTML 编码从 Web 页面的业务逻辑中有效地分离出来 用 JSP 访问可重用的组件 如 Servlet JavaBean 和基于 Java 的 Web 应用程序 JSP 还支持在 Web 页面中直接嵌入 Java 代码 可用两种方法访问 JSP 文件 浏览器发 陕西科技大学毕业设计说明书4 送 JSP 文件请求 发送至 Servlet 的请求 a JSP 文件访问 Bean 或其它能将生成的动态内容发送到浏览器的组件 b 发送至 Servlet 的请求生成动态内容 并调用 JSP 文件将内容发送到浏览器 该访问使得将内容生成从内容显示中分离出来更为方便 JSP最大的优点在于其与平台无关性 具有 一次编写 处处运行 的特点 2 4 MVC 简介 模型 视图 控告器 MVC 是 20 世纪 80 年代 Smalltalk 80 出的一种软件模式 现在已经被广泛使用 a 模型 Model 模型是应用程序的主体部分 模型表示业务数据 或者业务逻辑 b 视图 View 视图是应用程序中用户界面相关的部分 是用户看到并与之交互的界面 c 控制器 Controller 控制器的工作就是根据用户的输入 控制用户界面显示和更新模型对象的状态 典 型的 MVC 模式所包含的模块 每个模块的功能以及模块之间的关系如图 2 1 所示 2 模型模型 封装应用程序状态 响应状态查询 应用程序功能 通知视图改变 视图视图 解释模型 模型更新请求 发送用户输入给控制器 允许控制器选择视图 控制器控制器 定义应用程序行为 用户动作映射成模型更新 选择响应的视图 状态查询 通知改变 方法调用事件 视图选择 用户请求 状态改变 图 2 1 MVC 组件的关系和功能 MVC 模式的出现不仅实现的功能模块和显示模块的分离 同是赛马场还提高了应用 系统的可维护性 可扩展性 可移植性和组件的可利用性 在早期的程序中 如果不注意对数功能和显示的解耦合 常常估导致程序的复杂及 难以维护 像 VB Delphi 等 RAD 程序都有这种问题 甚至现在有 C Java 有时候也会 出现把业务逻辑写在显示模块中的现象 尽管 MVC 设计模式很早的提出了 但在 Web 项目的开发中引入 MVC 却是步履艰难 主要原因是在早期的 Web 项目开发中 程序语言和 Html 的分离一直难以实现 CGI 程 序以字条串输出的形式动态的生成 html 内容 直到基于 J2EE 的 JSP Model2 问世时才 基于 JSP Servlet 校园二手交易平台5 得以改观 它用 JSP 技术实现视图的功能 用 Servlet 技术实现控制器的功能 用 JavaBean 实现模型的功能 JSP Model2 结构如图 2 2 所示 浏 览 器 控制器 Servlet 视图 JSP 请求 响应 Model JavaBean 实例化 应用服务器数据库 图 2 2 JSP Model2 结构图 在 Model 2 这种框架结构中 Servlet 作为控制器负责处理用户的请求以及创建 JSP 页面中所有要使用的 Bean 对象 并且还要根据用户的请求来返回到不同的 JSP 页 面 在使用 Model 2 开发框架时 一定要保证在 JSP 页面中不能包含任何的业务处理逻 辑 它只是简单地得到对象或者在 Servlet 中创建的 Bean 然后通过这些动态的内容 来生成动态显示的页面 Struts 本质上就是在 Model 2 的基础上实现一个 MVC 架构 它只有一个中心控制 器 采用定制转向的 URL 并采用 Action 来处理逻辑 2 5 Struts 技术 Struts是一个为开发基于模型 Model 视图 View 控制器 Controller MVC 模式的应用架构的开源框架 是利用Java Servlet和JSP构建Web应用的一项非常有用 的技术 首先事件是指从客户端页面 浏览器 由用户操作触发的事件 Struts使用 Action来接受浏览器表单提交的事件 这里使用了Command模式 每个继承Action的子 类都必须实现一个方法execute struts重要的表单对象是ActionForm 它代表了一种应用 这个对象中至少包含 几个字段 这些字段是Jsp页面表单中的input字段 因为一个表单对应一个事件 所 以 当我们需要将事件粒度细化到表单中这些字段时 也就是说 一个字段对应一个 事件时 单纯使用Struts就不太可能 当然通过结合JavaScript也是可以转弯实现的 Struts 是一个基于 Sun J2EE 平台的 MVC 框架 主要是采用 Servlet 和 JSP 技术来 实现的 Struts 把 Servlet JSP 自定义标签和信息资源 message resources 整合 到一个统一的框架中 开发人员利用其进行开发时不用再自己编码实现全套 MVC 模式 陕西科技大学毕业设计说明书6 极大的节省了时间 Struts 包含了一组想相互协作的类 Servlet 和 JSP 标记 它们共同组成了一个可 重用的 MVC 模板 通过定义可以看出 Struts 是 Web 应用的开发框架 Struts 包含丰 富的标记库和独立于该框架工作的实用程序类 图 2 3 显示了 Struts 的基本结构 客户 浏览器 控制器 ActionServlet 业务逻辑 Action 视图 JSP 模型 ActijonForm struts config xml 分配 读取 转发 请求 响应 实例 图 2 3 Struts 基本结构 通过图 2 3 可以看出 采用 Struts 框架结构的 Web 应用程序主要由控制器 业务 逻辑 模型和视图组成 其中的控制器 模型和视图为 Struts 框架的主要组成部分 而事务逻辑则是我们需要实现的系统业务逻辑处理部分 2 6 Hibernate 技术 2 6 1 应用程序的分层体系结构 随着计算机应用软件的发展 应用程序逐渐由单层体系结构发展为多层体系结构 其中 三层结构是目前典型的一种应用软件结构 表述层 提供与用户交互的界面 如GUI 图形用户界面 web页面等 业务逻辑层 负责各种业务逻辑 直接访问数据库 提供对业务数据的保存 更 新 删除和查询操作 数据库层 负责存放管理应用的持久性业务数据 三层结构的特点是 所有下层向上层提供调用的接口 具体实现细节对上层透明 层与层之间存在自上而下的依赖关系 即上层会访问下层的API 但下层不依赖于上层 分离出的持久化层封装了数据访问细节 为业务逻辑层提供了面向对象的API 2 持久 Persistence 即把数据 如内存中的对象 保存到可永久保存的存储设 备中 如磁盘 持久化的主要应用是将内存中的数据存储在关系型的数据库中 当然 也可以存储在磁盘文件中 XML数据文件中等等 持久层 Persistence Layer 即专注于实现数据持久化应用领域的某个特定系统 的一个逻辑层面 将数据使用者和数据实体相关联 基于 JSP Servlet 校园二手交易平台7 三层软件结构如图 2 4 所示 表示层 业务逻辑层 数据库层 表示层 业务逻辑层 持久化层 数据库层 三层结构 分离出持久化层 图 2 4 三层软件结构图 数据库的读写是一个很耗费时间和资源的操作 当大量用户同时直接访问数据库的 时候 效率将非常低 如果将数据持久化就不需要每次从数据库读取数据 直接在内 存中对数据进行操作 这样就节约了数据库资源 而且加快了系统的反映速度 增加 持久化层提高了开发的效率 使软件的体系结构更加清晰 在代码编写和系统维护方 面变得更容易 特别是在大型的应用里边 会更有利 同时 持久化层作为单独的一 层 人们可以为这一层独立的开发一个软件包 让其实现将各种应用数据的持久化 并为上层提供服务 从而使得各个企业里做应用开发的开发人员 不必再来做数据持 久化的底层实现工作 而是可以直接调用持久化层提供的 API 2 6 2 Hibernate 的应用及 API 简介 Hibernate是一种Java语言下的对象关系映射解决方案 它是一种自由 开源的软 件 它用来把对象模型表示的对象映射到基于SQL的关系模型结构中去 为面向对象的 领域模型到传统的关系型数据库的映射 提供了一个使用方便的框架 Hibernate不仅管理Java类到数据库表的映射 包括从Java数据类型到SQL数据类 型的映射 还提供数据查询和获取数据的方法 可以大幅度减少开发时人工使用SQL 和JDBC处理数据的时间 Hibernate对JDBC进行了非常轻量级的对象封装 使得Java程序员可以随心所欲的 使用对象编程思维来操纵数据库 Hibernate可以应用在任何使用JDBC的场合 它既可 以在Java的客户端程序使用 也可以在Servlet JSP的Web应用中使用 最具革命意义 的是 Hibernate可以在应用EJB EnterpriseJavaBeans是Java应用于企业计算的框架 的J2EE架构中取代CMP 完成数据持久化的重任 Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性 Hibernate 的性能非常好 因为它是个轻量级框架 映射的灵活性很出色 Hibernate 支持各种关 系数据库 从一对一到多对多的各种复杂关系 Hibernate 核心接口如图 2 5 所示 陕西科技大学毕业设计说明书8 Configuration 配置 Hibernate SessionFactory 初始化 HIbernate Session 负责对象操作 Query 执行数据库查询 Criteria 执行数据库查询 Transaction 管理事务 创建 创建 执行 执行 执行 图 2 5 Hibernate 核心接口框图 2 7 开发环境及环境配置 2 7 1 Java JSP 系统环境 开发及测试的系统环境 我选择了Microsoft Windows Advanced Server 2000 由于其本身就是为服务器版的 适合用于搭设成为服务器端 要开发JSP 首先必须要 求有Java环境 我选择了JavaTM Platform Standard Edition 6 Development Kit 作为JSP的容器 选择了目前非常流行的Tomcat 6 0 而IDE工具则选择了 Eclipse MyEclips 2 7 2 JSP 环境的安装和环境变量的设置 首先安装JDK 安装Tomcat 接下来配置环境变量 右键点击 我的电脑 在弹出的菜单中点 属性 在系 统特性里选择 高级 找到 环境变量 点击进入后 系统变量 就是我们需要设 置的地方 a 新建变量 CATALINA HOME 变量值为 D apache tomcat 6 0 18 b 新建 JAVA HOME 变量 然后在变量值中输入以下内容 C Program Files Java jdk1 6 0 12 c 编辑 path 变量 在原有的变量值后添加 JDK 的 BIN 目录 JAVA HOME bin CATALINA HOME BIN 基于 JSP Servlet 校园二手交易平台9 2 7 3 Eclipse 开发工具 Eclipse平台体系结构主要由5部分组成 分别是平台运行库 工作区 工作台 团队支持和帮助 在运行时内核是整个架构的核心 其他部件都是以插件方式来实现的 Eclipse采 用动态加载机制 即只有需要的才加载 这样可以降低启动时间 提高资源使用效率 工作空间插件即所谓的工作区 主要负责管理用户资源 例如用户创建项目的管 理 文件变更等 并负责通知其他插件关于资源变更的信息 工作台插件是Eclipse 提供的用户界面 它使用标准窗口工具包 SWT 和一个更 高级的API JFace 构建的 SWT是Java的Swing AWT的非标准替代者 JFace则以SWT 为基础 但更易于使用 团队支持插件负责提供版本控制和配置管理支持 它允许用户根据需要添加视图 并与允许用户使用的任何版本控制系统交互 帮助插件允许以HTML文件形式添加文档 并提供了一个附加的导航结构以便用户 使用帮助功能搜索相关信息 2 7 4 Tomcat 服务器 Tomcat是Sun的JSWDK Java Server Web Development Kit 中Servlet的运行环境 servlet容器 Tomcat是Apache Jakarta软件组织的一个子项目 Tomcat是一个 JSP Servlet容器 它是在SUN公司的JSWDK Java Server Web Development Kit 基 础上发展起来的一个JSP和Servlet规范的标准实现 使用Tomcat可以体验JSP和 Servlet的最新规范 经过多年的发展 Tomcat不仅是JSP和Servlet规范的标准实现 而且具备了很多商业Java Servlet容器的特性 并被一些企业用于商业用途 4 Tomcat目录如下 Tomcat home bin Tomcat 存放启动和关闭tomcat脚本 conf Tomcat 存放不同的配置文件 server xml和web xml doc 存放Tomcat文档 lib japser common 存放Tomcat运行需要的库文件 JARS logs 存放Tomcat执行时的LOG文件 src 存放Tomcat的源代码 webapps Tomcat的主要Web发布目录 包括应用程序示例 work 存放jsp编译后产生的class文件 陕西科技大学毕业设计说明书10 2 8 数据库开发工具选择及配置 目前数据库的开发工具 大 中 小型的有很多 比如Oracle MS SQL Server2000 DB2 MySQL Access等等许多关系数据库 在系统开发初期 我用SQL server2000 进行数据库连接 因为可以于Windows 2000服务器系统很好的兼容 并且 对大并发访问有很好支持 功能强大且使用简单 然而在后期的开发中 由于经常更 换设计环境 而且自己用到Hibernate 对软件有一定要求 每次系统移植都要花很多 时间配置环境 所以又更换了移植性很好的MySQL做数据库 MySQL是一个小型关系型数据库管理系统 被广泛地应用在Internet上的中小型网 站中 由于其体积小 速度快 总体拥有成本低 尤其是开放源码这一特点 许多中 小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库 与其他的大型数据库例如Oracle DB2 SQL Server等相比 MySQL自有它的不足 之处 如规模小 功能有限 MySQL Cluster的功能和效率都相对比较差 等 但是这 丝毫也没有减少它受欢迎的程度 对于一般的个人使用者和中小型企业来说 MySQL提 供的功能已经绰绰有余 而且由于MySQL是开放源码软件 因此可以大大降低总体拥有 成本 3 在本系统中 对MySQL的配置最重要是数据库字符编码设置 因为数据库的录入的 大多是中文字符 默认编码为GBK会减少许多操作 配置如下 default character set gbk 基于 JSP Servlet 校园二手交易平台11 3 系统需求分析及设计 3 1 系统需求分析 3 1 1 系统功能需求 本系统主要面向于大学校园网用户 依托校园网提供给这些用户一个发布和交流 二手商品信息的平台 在大学校园里 存在着很多的二手商品 但是由于信息资源的 不流通以及传统二手商品信息交流方式的笨拙 导致了很多仍然具有一定价值或者具 有非常价值的二手商品的囤积 乃至被当作废弃物处理 现在通过校园网进入到本系 统 可以方便快捷的发布和交流任何二手商品的信息 并且可以通过留言方式进行深 一步的交流 由于每个大学的校园网都基本篇布校园的每一个地方 因此 只要宣传 得当 理论上来说 每一个人都可以让他所发布的信息让全校所了解 争取到了信息 资源的最大化利用 系统完成的主要功能有 用户设置功能 发布信息功能 信息管理功能 搜索信 息功能 留言功能 及系统管理功能 具体业务功能包括如下 用户注册 学生可利用自已学号进行注册 注册实现实名制 用户登录 只有登录用户才能进行信息发布 管理员登录后可以进行系统管理 发布信息 普通用户和管理员登录后都可以发布信息 修改信息 普通用户可以修改自己发布的信息 管理员可以修改所有信息 删除信息 普通用户可以删除自己发布的信息 管理员可以删除所有信息 浏览信息 游客 普通用户和管理员可以浏览所有发布的信息 搜索信息 游客 普通用户和管理员可以用关键字搜索所有发布的信息 普通用 户可以搜索自己发布的所有信息 发表留言 普通用户和管理员登录后都可以对发布信息进行留言 查看留言 游客 普通用户和管理员都可以查看发布信息的留言 删除留言 管理员可以删除留言 添加二手指南 管理员可以添加二手指南 查看二手指南 游客 普通用户和管理员都可以查看二手指南 修改二手指南 管理员可以修改二手指南 删除二手指南 管理员可以删除二手指南 3 1 2 系统界面要求 由于系统主要面向大学生 系统界面要求不能过古板 要能体现大学校园的自由 创新 系统界面设计应体现人性化 界面清晰简捷 操作简单流畅 提高管理效果 不需要任何专业培训 不需要配备专门的电脑操作人员 无电脑知识一样运用自如 陕西科技大学毕业设计说明书12 关键在于系统的框架式设计简单明晰 3 2 概要设计 3 2 1 系统体系结构设计 本系统是一个典型的三层应用 浏览器通过 Web 服务器实现对数据库的各种操 作 图 3 1 展示了整个系统的体系结构 数 据 库 StrutsDAO s Hibernate 映射文件 域 模 型 调用 操作 映射 图 3 1 系统体系结构 在这个系统体系结构中 并不是直接 JDBC 来访问数据库和进行数据库中相关表的 操作 而是通过一系列持久层的 Java 对象来完成数据库的操作 映射文件相当于持久层的 Java 对象和数据库的表之间的桥梁 它所描述的是这两 都之间的对应关系 而且 持久层的 Java 对象和数据库表之间的关系也是一一对应的 3 2 2 系统功能模块设计 系统主要设计了用户设置功能 发布信息功能 信息管理功能 搜索信息功能 留言功能 及系统管理功能模块 用户设置功能主要是用户注册必须填写所要求的个人资料 完成个人资料登入 发布信息功能主要是为已注册用户的服务 登陆的用户可以即时发布自己的二手 商品信息 立刻就能浏览到 这是本系统的主要功能 信息管理功能是帮助已发表信息的的用户管理自身发布的二手商品信息的同时也 管理短消息信息 此项功能也主要是服务于注册用户 搜索信息功能是面向所有登陆到本系统的人员的 采用模糊查询的方法 遍历所 有二手商品信息 搜索出浏览者感兴趣的内容 留言功能是对某一二手商品信息进行留言 还可以查看该信息的其他留言 基于 JSP Servlet 校园二手交易平台13 系统管理功能是系统管理员对系统所有信息资源进行统一管理的一个模块 系统 功能结构如图3 2所示 首页 用户登录用户注册 游客普通用户管理员 浏 览 二 手 信 息 浏 览 二 手 指 南 发 表 信 息 留 言 搜 索 二 手 信 息 管 理 个 人 信 息 发 布 二 手 信 息 管 理 信 息 留 言 管 理 二 手 信 息 管 理 个 人 信 息 管 理 二 手 指 南 图 3 2 系统功能结构图 3 2 3 功能设计的目标与原则 本二手交易平台的主要目的是服务于学生 方便学生进行网上交易 其原则是做到 界面友好 操作简单且可靠 具体做到 a 架构清晰 界面友好美观 简捷 实用性强 b 动态式信息发布 为充分展现网站的时实性 二手交易平台采用动态网页技术 实现内容发布 c 提供多种信息搜索及查看方式 全面自动化管理 d 全面整合买家和卖家之间的信息 提供一个交流沟通的平台 e 可用性 目标系统功能齐全 能够完全满足业务需求 陕西科技大学毕业设计说明书14 3 3 数据库设计 3 3 1 数据库需求分析 对于数据库的需求主要体现在对数据库的提交信息 更新信息 删除信息 保存 信息等 这些信息的存在都取决于各个功能模块的对信息的需求 通过对功能模块的 具体操作 实现对数据库中信息的输入和输出 所以 针对各个功能模块的需求 设 计如下的数据表和数据结构 1 Maste 类表 用于实现平台用户我实名制及平台基本信息 学院信息 包括学院编号 学院名 描述等 班级信息 包括班级编号 班级名 学院编号 描述等 学生信息 包括学号 姓名 班级编号 学院编号等 类型信息 包括类型编号 类型名 类型描述等 交易地区信息 包括地区编号 地区名 地区描述等 2 Temp 类表 用于实现平台各模块 用户信息 包括用户编号 用户名 密码 学号 及用户的其它相关信息等 商品信息 商品编号 信息标题 信息内容 发布信息的用户 信息相关内容等 商品留言信息 包括留言编号 商品信息编号 留言内容等 3 3 2 数据库概念结构设计 概念模型是对于信息世界的建模 是现实世界到信息世界的抽象 是数据库设计 人员和用户之间进行交流的语言 它具有简洁明晰 易于理解和修改 便于向各种数 据模型转换 从而生成相应的逻辑模式 概念设计的目的是要确定系统的概念模型 因为概念模型是数据库系统的核心和 基础 所以概念设计是数据库设计的关键 3 3 3 数据库逻辑表设计 数据库的概念结构设计完毕后 现在可以将上面的数据库概念结构转化为某种数 据库所支持的实际数据模型 也就是数据库的逻辑结构 在本次设计开发中 考虑到系统的规模 以及系统的功能 稳定性 性能和效率 等方面 特别的对系统可移植性的考虑 我使用 MySQL 数据库系统 依照 3 3 1 中的数据库需求分析设计各数据库表 各个表中都用 ID 做主键 困为 用到 Hibernate 自动生成主键 所以这里主键 ID 类型设置为VARCHAR 50 其它字段也都 有各自的约束条件 基于 JSP Servlet 校园二手交易平台15 各个表的具体逻辑结构如下 表 3 1 学院表 m dep 字段名数据类型约束条件说明 IDVARCHAR 50 Primary Key 学院编号 DEP NAMEVARCHAR 10 UNIQUE 学院名 DEP DESCvarchar 100 NOT NULL 学院描述 表 3 2 班级表 m class 字段名数据类型约束条件说明 IDVARCHAR 50 Primary Key 班级编号 DEP IDVARCHAR 50 Foreign Key 学院编号 CLASS NAMEVARCHAR 10 UNIQUE 班级名 CLASS DESCvarchar 100 NOT NULL 班级描述 表 3 3 学生表 m student 字段名数据类型约束条件说明 IDVARCHAR 12 Primary Key 学号 CLASS IDVARCHAR 50 Foreign Key 班级编号 STU NAMEVARCHAR 10 UNIQUE 学生姓名 sexTINYINT 3 NOT NULL 学生性别 表 3 4 交易地区表 m area 字段名数据类型约束条件说明 IDVARCHAR 50 Primary Key地区编号 AREA NAMEVARCHAR 10 UNIQUE地区名 AREA DESCvarchar 100 NOT NULL地区描述 表 3 5 信息类型表 m type 字段名数据类型约束条件说明 IDVARCHAR 50 Primary Key类型编号 TYPE NAMEVARCHAR 10 UNIQUE类型名 TYPE DESCvarchar 100 NOT NULL类型描述 表 3 6 二手指南表 t article 字段名数据类型约束条件说明 IDVARCHAR 50 Primary Key指南编号 TITLEVARCHAR 10 UNIQUE指南标题 陕西科技大学毕业设计说明书16 CONTENTvarchar 8000 NOT NULL指南内容 表 3 7 用户表 t user 字段名数据类型约束条件说明 IDVARCHAR 50 Primary Key用户编号 USERNAMEVARCHAR 10 UNIQUE用户名 PASSWORDvarchar 100 NOT NULL用户密码 STU IDVARCHAR 50 Foreign Key学号 BIRTHDAYDATETIMENOT NULL生日 PHOTOSMALLINT 5 NOT NULL照片 QUESTIONVARCHAR 100 NOT NULL注册问题 ANSWERVARCHAR 100 NOT NULL注册答案 EMAILVARCHAR 50 EMAIL QQVARCHAR 20 QQ CREATE TIMEDATETIMENOT NULL注册时间 STATUSTINYINT 3 NOT NULL状态 ROLETINYINT 3 NOT NULL权限 表 3 8 信息表 t message 字段名数据类型约束条件说明 IDVARCHAR 50 Primary Key信息编号 MESSAGE TITLEVARCHAR 50 UNIQUE信息标题 TYPE IDVARCHAR 50 Foreign Key信息类型 AREA IDVARCHAR 50 Foreign Key交易地区 OLD VALUESMALLINT 5 NOT NULL新旧值 PRICEDECIMAL 10 0 NOT NULL商品价格 R USERVARCHAR 10 NOT NULL联系人 R PHONEVARCHAR 50 NOT NULL联系电话 R EMAILVARCHAR 50 EMAIL MESSAGE DESCVARCHAR 200 NOT NULL 信息详情 MESSAGE PHOTOVARCHAR 50 信息图片 CREATE TIMEDATETIMENOT NULL新增日期 FLAGTINYINT 3 NOT NULL信息标志 TOP VALUEINTEGERNOT NULL人气值 CREATE USER I D VARCHAR 50 Foreign Key发布用户 基于 JSP Servlet 校园二手交易平台17 3 3 4 数据库逻辑结构设计 对于 maste 表 它们都是做为别的表的外键而存在的 本系统数据库逻辑可分为两 部分 一部分实现用户的实名制 实名制需要校方学生纪录 而学生又有以学院 班 级 每个用户对应一个学生 其逻辑模型如图 3 3 所示 图 3 3 数据库逻辑模型一 第二部分实现商品信息关联 每个商品都有商品类型 交易地区和发布用户 每个 商品有多个留言 而每个留言又有发表用户 其逻辑模型如图 3 4 所示 图 3 4 数据库逻辑模型二 陕西科技大学毕业设计说明书18 3 4 数据库访问设计 数据库访问是指对数据库进行操作 本系统使用 Hibernate 完成数据库表与 java 对 象映射 并用 HibernateSessionFactory 进行数据库访问 3 4 1 数据库表模型设计 所有数据库表中都有编号做为主键 在 java 类库中用 BaseModel java 完成模型对 象的基类 在 BaseModel 类中 属性 id 做为所有表的主键 equals Object o 是重写 的父类方法 只要字符串内容相同 对象就相同 toString 用于规范对象的打印格式 本系统包含的业务模型有 交易地区 Area 商品类型 Type 二手指南 Article 学院 Department 班级 Clazz 学生 Student 用户 User 信息 Message 留言 Comment 它们都对应于数据库中某张表 这些 Java 模型对象的数据类型与数据库表 相对应 并都继承 BaseModel 所有 Model 类的 UMR 如图 3 5 所示 图 3 5 系统持久层对象 UMR 图 基于 JSP Servlet 校园二手交易平台19 3 4 2 Hibernate 数据库访问配置 Hibernate 配置文件主要用于配置 hibernate 连接数据库的参数以及其它一些 hibernate 在运行时需要使用的各种参数的值 配置如图 3 6 所示 图 3 6 Hibernate 配置图 Hibernate 是你的应用程序里连接数据库的那层 所以它需要连接用的信息 连接 connection 是通过一个也是由我们配置的 JDBC 连接池 connection pool 来完 成的 Hibernate 的发布包里包含了许多开源的 open source 连接池 但在我们例 子中使用 Hibernate 内置的连接池 3 4 3 定义映射文件 映射文件用于描述持久层对象以及它们的属性和数据库中的表和表的字段之间的对 应关系 完成 java 对象和数据库中表的数据的相互转化 这里只介绍用户对象的映射 配置 文件清单如下 陕西科技大学毕业设计说明书20 基于 JSP Servlet 校园二手交易平台21 在 hibernate mapping 标签 tag 之间 含有一个 class 元素 所有的持久化实 体类都需要一个这样的映射 来把类对象映射到 SQL 数据库里的表 id 元素是标识符 属性的声明 name id 声明了 Java 属性的名字 Hibernate 会使用 getId 和 setId 来访问它 column 属性则告诉 Hibernate 我们使用 market 1 表的哪个字段 作为主键 嵌套的 generator 元素指定了标识符生成策略 在这里我们指定 uuid hex 陕西科技大学毕业设计说明书22 3 4 4 Hibernate Session 工厂 该类主要用于方便地提供 Hibernate 的初始化以及 Hibernate 的 sessioon 和事务 的处理 HibernateSessionFactory 类的结构如图 3 7 所示 图 3 7 HibernateSessionFactory 类方法 UMR 图 在此简要介绍一下使用 Hibernate 进行数据库操作的过程 使用 Hibernate 进行持 久化操作主要需要以下步骤 a 创建 Configuration 对象 进行配置文件的装载操作 读取所有的映射文件并 进行解析 b 创建 SessionFactory 对象 通过创建好的 Configuration 对象可以创建一个 SessionFactory 对象的实例 它是产生 Session 对象的工厂 它在整个应用中是 唯一的 c 创建 Session 对象实例 Session 对象类似于数据库的连接对象 可以理解为 与数据库建立的一个连接 这个连接可以进行数据库的其它操作 d 开始一个事务 e 进行持久化操作 读取或保存 java 对象 f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高强度间歇性训练对健康促进效果的研究进展
- 社交网络数据挖掘技术在高影响力用户识别中的应用研究
- 新能源光伏组件质量追溯体系实施策略报告
- 2025年Z世代消费行为与品牌年轻化设计研究报告
- 河南省驻马店市第十七中学2026届九年级化学第一学期期中调研试题含解析
- 高血压病人护理公开课
- 2026届十堰市重点中学英语九年级第一学期期末调研模拟试题含解析
- 心态培训课程员工培训
- 2026届安徽省宿州地区化学九上期中检测试题含解析
- 2026届安徽六安市叶集区三元中学九年级化学第一学期期中联考模拟试题含解析
- 小学数独游戏校本课程教材
- 第三章 俄国十月社会主义革命及其影响下的欧洲革命风暴
- 完美奖金制度课件
- 大项目销售之如何测量控单力
- DB37-T 5026-2022《居住建筑节能设计标准》
- 医生岗位月度绩效考核表(KPI)
- 小学数学苏教版六年级上册《长方体和正方体整理与复习》课件(公开课)
- 新苏教版三年级上册科学全册教案
- 深基坑开挖危险源辨识及控制措施
- Q-RJ 557-2017 航天型号产品禁(限)用工艺目录(公开)
- T_CCA 024-2022 预制菜
评论
0/150
提交评论