基于Jsp的网络商店系统的设计与实现毕业论文.doc_第1页
基于Jsp的网络商店系统的设计与实现毕业论文.doc_第2页
基于Jsp的网络商店系统的设计与实现毕业论文.doc_第3页
基于Jsp的网络商店系统的设计与实现毕业论文.doc_第4页
基于Jsp的网络商店系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业论文(设计) 基于 Jsp 的网络商店系统的设计与实现 姓 名 学 号 专 业 指导教师 2011 年 5 月 20 日 摘 要 随着国内 Internet 使用人数的增加,利用Internet 进行网络购物并以银行卡付款 的消费方式已渐流行,市场份额也在快速增长,电子商务逐渐成为业界热议的一个焦点 话题,相关的电子商务网站也层出不穷,因此电子商务蕴含巨大商机,具有广阔的发展 前景。 本论文首先分析了网络商店的地位和现状,然后介绍了开发此系统所用到的“模型 -视图-控制器”模式。此系统采用SSH(Spring + Struts2 + Hibernate)框架进行搭 建,使用 Java 语言,Oracle 数据库和 Tomcat 服务器。主要实现后台的会员管理,公告 管理,留言管理,管理员服务,商品管理,站点信息管理,积分管理和订单管理等功能。 本系统主要解决以下问题: 1. 以管理员的身份实现对商品信息的管理,以及对购物网站的日常维护。 2. 使用 Log4j 技术对所有用户的操作进行自动记录,并把记录文件保存入硬盘文 件。 3. 实现根据商品的多条属性查询,使结果更精确。 关键词:MVC;SSH;Log4j;网络商店 Abstract With the increase number of the internet using in domestic, the use of internet for online shopping and bank card payments gradually popular consumption, and market share is also growing rapidly, e-commerce has become a focus of the industrys hot topics, besides, the related e-commerce web sites are endless. So e-commerce of huge business opportunities and broad prospects for development. Thesis analyzes firstly the status and existent problems of online store and then introduces the “Model-View-Controller” mode used to build this site. The analysis and design of the entire network application platform including the system adopts the SSH technology. SSH is short for Spring+Struts2+Hibernate. And this system uses Java programming language and Oracle database and Tomcat server to run the core modules of Members management, announced management, message management, administrator services, commodity management, site information management, integration management and order management in backend. The problems settled in this system are as follows: 1. As an administrator to realize the product information management, and maintenance of shopping sites. 2. Log4j technology records and saves all users operations automatically into the hard disk file. 3. To achieve search product information with many product attributes, so that more precise. Key Words: MVC, SSH, Log4j, Online Store 目 录 1 引 言 .1 1.1 课题背景 .1 1.2 使用的开发测试平台及相关技术分析 .1 1.2.1 MVC 模式.1 1.2.2 SSH 框架.2 1.2.3 LOG4J 日志处理.3 2 系统概要设计 .4 2.1 需求分析 .4 2.1.1 系统用户需求 .4 2.1.2 系统功能需求.4 2.1.3 本系统的顶层用例图 .5 2.2 原型法 .5 2.3 系统总体设计 .6 2.3.1 系统业务流程 .6 2.3.2 会员管理功能模块 .7 2.3.3 公告管理功能模块 .7 2.3.4 留言管理功能模块 .8 2.3.5 管理员服务功能模块 .8 2.3.6 商品管理功能模块 .9 2.3.7 站点信息管理功能模块 .9 2.3.8 积分管理功能模块 .10 2.3.9 订单管理功能模块 .10 2.4 数据库分析与设计 .11 2.4.1 数据库的定义 .12 2.4.2 表定义 .12 3 系统详细设计 .15 3.1 主要功能模块详细设计 .15 3.1.1 会员查询页面.15 3.1.2 发布新公告及公告管理页面 .15 3.1.3 商品留言页面 .17 3.1.4 添加管理员、禁用管理员和修改密码页面 .18 3.1.5 商品添加、修改和下架页面 .20 3.1.6 LOGO 更改和服务条款管理页面.22 3.1.7 积分规则查看、设置和兑换规则设置页面 .23 3.1.8 订单管理页面 .25 4 系统实现 .27 4.1 系统搭建及初始化配置 .27 4.1.1 搭建 STRUTS2 开发环境 .27 4.1.2 搭建 HIBERNATE 开发环境.28 4.2 创建包目录结构 .28 4.2.1 共通包构成 .28 4.2.2 业务包构成 .28 4.2.3 持久化层包构成 .29 4.3 STRUTS 模块的实现.29 4.4 HIBERNATE 模块的实现.30 4.4.1 编写 POJO 类 .30 4.4.2 编写并配置映射文件 .31 4.4.3 编写 SESSION 工厂.31 4.5 LOG4J 日志处理.32 4.6 图片处理 .33 5 系统测试 .35 5.1 测试工具 .35 5.2 测试用例 .35 6 结论 .37 参考文献 .38 致 谢 .39 1 引 言 科技在发展,人们的生活观念也在跟着逐渐变化,现在网上购物 因其诸多优点慢 慢的成为人们的主流购物方式,而大学生消费群在其中占很大比例,因此在接下来的几 年都是电子商务的蓬勃发展期。而开发网上购物平台是对这一产业的技术支持。本文正 是基于此利用成熟的MVC 模式开发,使用 SSH 框架以及 Log4j 处理日志等技术丰富完善 网络商店购物管理系统的安全性及扩展性能。从而使其在实际应用中具有良好的商业价 值。 1 1. .1 1 课课题题背背景景 现今的中国,电子商务的发展势头很凶猛。据 2010 年 CNNIC 最新的中国互联网发 展状况调查显示,中国网民规模达到 4.2 亿;网民每周上网时长继续增加,人均周上 网时长达到 19.8 个小时,并且大部分网络应用我国网民的互联网应用表现出商务化程 度迅速提高,娱乐化倾向继续保持沟通和信息工具价值加深的特点.2010 年上半年,大 部分网络应用在网民中更加普及各类网络应用的用户规模持续扩大。其中,商务类应 用表现尤其突出,网上支付,网络购物和网上银行半年用户增长率均在 30%左右,远 远超过其他类网络应用社交网站。因此开发这套系统应该具有广阔的市场前景。 1 1. .2 2 使使用用的的开开发发测测试试平平台台及及相相关关技技术术分分析析 本系统均采用目前流行成熟的技术开发,具体开发环境如下: 表 1-1 开发环境 操作系统 Windows 7 开发语言 Java,JSP,CSS,HTML,XML 开发工具Eclipse,Dreamweaver 测试工具 JUnit 数据库 Oracle 11g 使用框架 Struct2,Spring,Hibernate 服务器 Tomcat6.0 1 1. .2 2. .1 1 M MV VC C 模模式式 MVC 结构是Model-View-Controller的缩写,中文翻译为模型-视图-控制器。MVC 应用程序总是由这三个部分组成。模型(Model)是封装数据对象,用来封装和显示数 据对象;视图(View)是作为模型的显示,它表示数据对象的当前状态;控制器 (Controller)定义对用户的输入执行相应操作的接口,它用来操作模型和数据对象。 使用 MVC 模式可以提高系统的可靠性,适应性以及可维护性,可以快速部署,同时能 降低软件开发的生命周期。其工作机制如图 1-1 所示。 图 1-1 MVC 工作机制图 1 1. .2 2. .2 2 S SS SH H 框框架架 SSH 是 Struts,Spring,Hibernate 的缩写。是当前流行的三层架构:表述层,业 务逻辑层和数据库层。 StrutsStruts:用以响应用户的 Action,对应到相应的类进行处理,需要对应的包。现 在企业开发使用的版本为 Struts2。Struts2 中大量使用拦截器来处理用户的请求,从 而允许用户的业务逻辑控制器与Servlet API 分离。Struts2 框架的大概处理流程如下: 1. 加载 FilterDispatcher 类 2. 读取Struts2配置文件中的Action类 3. 客户端发送请求 4. FilterDispatcher 从 struts 配置文件中读取与之相对应的Action 5. 启用拦截器 6. 回调 Action 的 execute()方法 7. 通过 execute 方法将信息返回到FilterDispatcher 8. FilterDispatcher 根据配置查找响应信息,决定将跳转到哪个JSP 页面 9. 响应用户请求 HibernateHibernate:用来把实体类对应到数据库,用于实现与数据库之间的交互。提供增 删改查的基本操作的实现。需要 Hibernate 对应的包以及 Mysql 的 JDBC 驱动包。创建 Hibernate 应用程序的准备: 1. 创建数据库 2. 创建 Hibernate 配置文件 Hibernate.cfg.xml 3. 创建 Package 4. 编写 Hibernate 映射文件 5. 编写 POJO 文件 6. 编写 Hibernate 工具类 7. 编写测试类 SpringSpring:管理 Struts, XML 配置文件中为 Struts 的 Action 进行值注入。 1 1. .2 2. .3 3 L Lo og g4 4j j 日日志志处处理理 Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,可以控制日志信息输 送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、 UNIX Syslog 守护进程等;也可以控制每一条日志的输出格式;通过定义每一条日志 信息的级别,能够更加细致地控制日志的生成过程。 最方便的是,上面提到的功能可以通过一个配置文件来灵活地进行配置,而不需 要修改应用的代码。 2 系统概要设计 本章将从该网络商店的后台信息管理对该项目进行了总体分析说明。暂不考虑前台 业务流程的逻辑实现,仅考虑其功能。后台信息管理主要包括会员管理,公告管理,留 言管理,管理员服务,商品管理,站点信息管理,积分管理和订单管理等功能。 2.12.1 需求分析需求分析 系统需求分析是软件开发人员根据用户描述说明,对用户业务活动进行分析,明确 在用户的业务环境中软件系统应该“做什么”。下面就对网络商店购物系统的需求说明 进行分析。 .1 系统用户需求系统用户需求 下面是需求分析中的用户需求: 1. 友好的用户管理界面。 2. 对注册用户以及普通管理员进行管理。 3. 实现商品的增删改查等功能。 4. 对用户的留言有最高管理权限。 5. 实现站点中的公告及网站的基本功能。 6. 能处理用户的订单。 .2 系统功能需求系统功能需求 下面介绍用户对程序功能的需求和程序的功能流程: 1. 管理员分为超级管理员和普通管理员,超级管理员具有管理普通管理员的权限。 2. 管理员可以管理(增、删、查)公告。 3. 管理员可以管理(增、删、查)所以注册用户信息,但不可管理用户密码等私 人信息,只可对其权限进行管理。 4. 管理员可以管理(增、删、改、查)商品信息。 5. 管理员可以管理(增、删、改、查)留言信息。 6. 管理员可以管理(增、删、改、查)订单信息。 7. 管理员可以对站点进行日常维护。 8. 后台管理系统的搜索引擎采用模糊匹配的模式,并且可以选择多条搜索条件进 行检索。 .3 本系统的本系统的顶层用例图顶层用例图 图 2-1 网络商店购物系统顶层用例图 2 2. .2 2 原原型型法法 本系统采用原型法开发。快速原型模型的第一步是建造一个快速原型,实现客户或 未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。 通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的 真正需求是什么;第 二步则在第一步的基础上开发客户满意的软件产品。显然,快速原型方法可以克服瀑布 模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。 快速原型的 关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将 被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速 修改原型,以反映客户的需求。 原型化软件开发要突出一个“快”字。采用瀑布模型时,软件的需求分析也可以在 用户和系统分析员之间往复讨论,使之逐步趋于完善。但这种讨论终究是 “纸上谈兵”。 而原型系统则是“真枪实弹”,能够使用户立刻与想象中的目标系统作出比较。软件开 发人员向用户提供一个“样品 ” ,用户向开发为人员迅速做出“反馈 ” ,这就是原 型软件开发的优越性。 图 2-2 原型法 2 2. .3 3 系系统统总总体体设设计计 根据需求分析,网络商店购物管理系统共可分为如下八个功能模块:会员管理、公 告管理、留言管理、管理员服务、商品管理、站点信息管理、积分管理和订单管理。下 面对每个功能模块进行具体分析。 .1 1 系统业务流程系统业务流程 图 2-3 系统功能逻辑结构图 .2 2 会员管理功能模块会员管理功能模块 管理员可以根据条件查询出会员信息结果,然后可以对所选会员进行注销操作。 图 2-4 会员管理用例图 .3 公告管理功能模块公告管理功能模块 管理员可以发布新的公告,并可以对公告进行管理,根据发布的公告主题或发布时 间查询公告,然后可以对具体公告进行修改,删除操作。 图 2-5 公告管理用例图 .4 留言管理功能模块留言管理功能模块 管理员可以管理任何商品留言,而会员和游客只能管理自己的商品留言。 图 2-6 留言管理用例图 .5 管理员服务功能模块管理员服务功能模块 超级管理员可以添加管理员,根据会员 ID 查询管理员,然后可以禁用所选会员, 并且可以修改管理员密码;而普通管理员只具有查看信息,修改密码权限。 图 2-7 管理员服务用例图 .6 商品管理功能模块商品管理功能模块 管理员可以对商品信息进行管理,包括新品发布,商品信息修改,商品下架,统计 库存,商品搜索;商品搜索可以根据关键字查询或特征查询。 图 2-8 商品管理用例图 .7 站点信息管理功能模块站点信息管理功能模块 管理员可以修改站点的 Logo 和服务条款的管理。 图 2-9 站点信息管理用例图 .8 积分管理功能模块积分管理功能模块 管理员可以管理积分规则设置和兑换规则设置;对每一项规则具有制定,修改和删 除操作权限。 图 2-10 积分管理用例图 .9 订单管理功能模块订单管理功能模块 管理员可以根据条件查询出订单信息,然后可以对订单进行管理,并且可以导出订 单;其中导出订单可以是单个导出和批量导出。 图 2-11 订单管理用例图 2 2. .4 4 数数据据库库分分析析与与设设计计 数据库的设计是该网络商店购物管理系统的核心内容,依据需要,系统定义了常用 视图、索引和序列。用户对于数据库的需求具体体现在各种信息的提供、保存、更新和 查询上,这就要求数据库的结构能充分满足各种信息的输入和输出上。本系统 所采用的 数据库是 Oracle 11g,能满足系统的需求。 .1 数据库的定义数据库的定义 图 2-12 数据库表间关系图 .2 表定义表定义 在数据库设计的时候,是将商品的属性与图片区分开,总共将商品分为五大类:食 品(FOOD)、书籍(BOOK)、文具(STATIONERY)、数码电子(ELECTRONICS)、生活用 品(DAILYPRO)。下面只列出食品表。具体涉及的各个表属性如下: 表 2-1 食品表(FOOD) 逻辑名字段名数据类型长度空值备注 商品编号 PROIDCHAR13NOT NULL 主键 商品名称 PRONAMEVARCHAR220NOT NULL 类别分类编号 SUB_TYPENUMBER8NOT NULL 价格 PRICENUMBER7,2NOT NULL 保质期 VALIDDAYSVARCHAR28NOT NULL 库存量 AMOUNTNUMBER5NOT NULL 生产日期 PRODATEDATENOT NULL 生产厂家 PRODUCERVARCHAR22000NOT NULL 销量 SALE_AMOUNTNUMBER20NOT NULL 上架日期 REG_TIMEDATENOT NULL 表 2-2 商品图片表(PRODUCTS_PICTURES) 逻辑名字段名数据类型长度空值备注 商品编号 PROIDCHAR13NOT NULL 主键 大图片 BIG_PICVARCHAR2100 中图片 MID_PICVARCHAR2100 小图片 SMALL_PICBLOB 表 2-3 会员信息表(MEMBER) 逻辑名字段名数据类型长度 空值备注 会员 ID MEMBER_ID CHAR10NOT NULL 主键 会员名 MEMBER_NAME VARCHAR220NOT NULL 密码 MEMBER_PASSWORD CHAR9NOT NULL 电子邮箱 MEMBER_EMAIL VARCHAR230NOT NULL 真实姓名 TRUE_NAME VARCHAR220NOT NULL 密码保护问题 PWD_QUE VARCHAR230NOT NULL 密码保护问题 答案 PWD_ANSVARCHAR220NOT NULL 会员状态 STATUS DATENOT NULL 表 2-4 公告信息表(NOTICE) 逻辑名字段名数据类型长度空值备注 公告编号 NOTICE_IDNUMBER9,0NOT NULL 主键 公告名称 NOTICE_TITLEVARCHAR230NOT NULL 公告内容 NOTICE_CONTENTVARCHAR2300NOT NULL 发布日期 NOTICE_TIMEDATENOT NULL 表 2-5 订单表(T_ORDER) 逻辑名字段名数据类型长度空值备注 订单编号 ORDER_IDCHAR10NOT NULL 主键 订单日期 ORDER_TIMEDATENOT NULL 订购者 BUYER_IDVARCHAR220NOT NULL 邮寄地址 SEND_ADDRVARCHAR2100NOT NULL 订单状态 ORDER_STATUSCHAR6NOT NULL 总价 ALL_PRICENUMBER7,2 电话 TELLVARCHAR218NOT NULL 手机号 CELLPHONEVARCHAR218NOT NULL 其他信息 OTHER_INFOVARCHAR2300 表 2-6 管理员表(ADMIN) 逻辑名字段名数据类型长度空值备注 管理员名 ADMIN_IDCHAR9NOT NULL 主键 密码 ADMIN_PASSWORDCHAR10NOT NULL 权限 ADMIN_PRIVILEGECHAR6NOT NULL 状态 ADMIN_STATUSCHAR6NOT NULL 其他信息 OTHER_INFOVARCHAR2300 3 系统详细设计 3 3. .1 1 主主要要功功能能模模块块详详细细设设计计 详细介绍网络商店购物管理系统各个功能模块的描述信息,以及各个功能之间的关 系,系统争对不同用户的需要作出相应的回应,懂得各个页面的跳转方向。 3 3. .1 1.1.1 会员查询页面会员查询页面 管理员可以根据会员的俩个属性:会员ID 和会员名,进行对会员的检索,同时对 检索出来的会员的权限进行操作。 图 3-1 会员查询页面迁移图 下面为会员查询页面 图 3-2 会员查询页面 .2 发布新公告及公告管理页面发布新公告及公告管理页面 管理员可以发布新主题的公告,并且可以根据公告主题或发布时间检索已经发布的 公告,然后可以对这些公告进行管理。 图 3-3 发布新公告页面迁移图 图 3-4 发布新公告页面 图 3-5 公告管理页面迁移图 图 3-6 公告管理页面 .3 商品留言页面商品留言页面 管理员可以根据商品的种类或商品的名称对商品进行检索,然后可以查看商品的留 言,并可以对那些留言进行管理。 图 3-7 商品留言页面迁移图 图 3-8 商品留言页面 .4 添加管理员、禁用管理员和修改密码页面添加管理员、禁用管理员和修改密码页面 此项功能只有超级管理员有权限。其可以对普通管理员进行添加、禁用、修改密码 等操作。 图 3-9 添加管理员页面迁移图 图 3-10 添加管理员页面 图 3-11 禁用管理员页面迁移图 图 3-12 禁用管理员页面 图 3-13 修改密码页面迁移图 图 3-14 修改密码页面 .5 商品添加、修改和下架页面商品添加、修改和下架页面 管理员可以对各类商品信息进行管理。 图 3-15 商品添加页面迁移图 图 3-16 商品添加页面 进行商品信息修改时,必须先根据条件查询出所需要的商品信息。然后才可对其进 行管理。 图 3-17 商品查询页面迁移图 图 3-18 商品查询页面 图 3-19 商品信息修改页面 图 3-20 商品下架页面 .6 LogoLogo 更改和服务条款管理页面更改和服务条款管理页面 管理员可以更新网络商店的Logo 以及网络商店的一些服务条款。 图 3-21 Logo 更改页面迁移图 图 3-22 Logo 更改页面 图 3-23 服务条款管理页面迁移图 图 3-24 服务条款管理页面 .7 积分规则查看、设置和兑换规则设置页面积分规则查看、设置和兑换规则设置页面 管理员可以查看会员的积分,同时可以设置积分规则和兑换规则。 图 3-25 积分规则查看页面迁移图 图 3-26 积分规则设置页面迁移图 图 3-27 积分规则查看页面 图 3-28 积分规则设置页面 图 3-29 兑换规则页面迁移图 图 3-30 兑换规则设置页面 .8 订单管理页面订单管理页面 管理员可以根据订单的任何一个属性查询订单,查看其状态并对订单进行管理。 图 3-31 订单管理页面迁移图 图 3-32 订单查询页面 4 系统实现 4 4. .1 1 系系统统搭搭建建及及初初始始化化配配置置 系统选用的服务器是Tomcat6.0,后台数据库选用的是Oracle。系统的开发工具选 用的是 Eclipse 。 4 4. .1 1. .1 1 搭搭建建 S St tr ru ut ts s2 2 开开发发环环境境 总体上概述来说,首先需要从Apache 官网上下载的Struts2 的所有组件后解压, 然后将其 Jar 包及其依赖包导入WEB-INF/lib 目录下,最后还要在web.xml 中配置,最 后创建 Struts2 的核心配置文件strut.xml。 Lib 目录下的 jar 包如下图所示: 图 4-1 Struts2 所需的 jar 包 web.xml 的核心配置代码如下: struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* strut.xml 的核心配置代码如下: 4 4. .1 1. .2 2 搭搭建建 H Hi ib be er rn na at te e 开开发发环环境境 与搭建 Struts2 环境类似,搭建Hibernate3 开发环境需要先从Hibernate 首页上 下载 Hibernate 开发组件,解压后将必须的Jar 包(hibernate3.jar、commons- collections.jar 等总计八个)导入项目,最后在工程的src 目录中创建Hibernate 的 配置文件。 Hibernate 的配置文件可以为属性文件(perties)或者是 xml 文件 (Hibernate.cfg.xml),相比之下,xml 配置方式更为常见。本平台的原始配置文件的 核心配置代码如下: jdbc:oracle:thin:localhost:1521:orcl scott tiger org.hibernate.dialect.OracleDialect oracle.jdbc.driver.OracleDriver 4 4. .2 2 创创建建包包目目录录结结构构 网络商店购物管理系统都是以工厂的模式进行创建的,由实体工厂、抽象工厂、实 现类三部分组成。 4 4. .2 2. .1 1 共共通通包包构构成成 表 4-1 共通包结构表 分类包名说明 mon.dao放置 DAO 共通接口的包 mon.dao.impl放置 DAO 共通类的包 mon.util放置工具类的包 共通包 mon.exception放置自定义例外类的包 4 4. .2 2. .2 2 业业务务包包构构成成 表 4-2 业务包结构表 分类包名说明 backend.xmlaction 配置文件,国际化message backend.form放置表单类的包 backend.action放置 action 的包 backend.business放置业务接口类的包 backend.impl放置业务实现类的包 backend.business.pojos放置各表的POJO 类的包 backend.dao放置 DAO 接口的包 业务包 backend.dao.impl放置 DAO 实现类的包 4 4. .2 2. .3 3 持持久久化化层层包包构构成成 表 4-3 持久化层包结构表 分类包名说明 backend.hibernate.cfg.file放置 hibernate 配置文件的包 backend.hibernate.hbm.file放置映射文件的包 持久化层 包 backend.hibernate.util放置 hibernate 工具类的包 4 4. .3 3 S St tr ru ut ts s 模模块块的的实实现现 Struts 主要处理用户输入的表单信息,实现用户与站点间的交互,动态生成用户 所需要的信息。下面为本系统的struts.xml 的配置方法: /backend/pages/common/management.jsp /index.jsp 4 4. .4 4 H Hi ib be er rn na at te e 模模块块的的实实现现 当 Hibernate 配置成功之后,用户可实现与数据库的交互,下面介绍本系统与数据 库连接的方法(以管理员admin 为范例)。 .1 编写编写 POJOPOJO 类类 在 backend.hibernate.pojos 及其下级目录下创建表 Admin 对应的 POJO 类 Admin.java,其他与此类似,该类必须包含Admin 对象的所有属性,这些属性必须与其 在数据库 Admin 表中的属性一一对应。下面为Admin 的 POJO 类(注:属性的getter 和 setter 方法仅列举adminID 属性): public class Admin /* 管理员ID */ private String adminID = null; /* 管理员密码 */ private String password = null; /* 管理员权限 */ private String priviledge = null; /* 管理员状态 */ private String status = null; /* 备注信息 */ private String otherInfo = null; /* * 无参构造 */ public Admin() public Admin(String adminID, String password, String priviledge, String status, String note) this.setAdminID(adminID); this.setPassword(password); this.setPriviledge(priviledge); this.setStatus(status); this.setOtherInfo(note); /getters and setters public String getAdminID() return adminID; public void setAdminID(String adminID) this.adminID = adminID; .2 编写并配置映射文件编写并配置映射文件 在 backend.hibernate.hbm.file 目录下创建数据表Admin 对应 POJO 类的 Hibernate 映射文件 admin.hbm.xml 并配置。具体配置信息如下: .3 编写编写 SESSIONSESSION 工厂工厂 在 backend.hibernate.util 目录下创建Session 工厂类 HibernateUtil.java,该 类提供了获得当前Session 和关闭 Session 的方法,其核心代码如下所示。 (注:省略 了异常的抛出、捕获与处理代码) public class HibernateUtil private static SessionFactory sessionFactory; /* 持有一个单态的Session实例. */ private static final ThreadLocal threadLocal = new ThreadLocal(); /* 持有一个单态的configuration实例. */ private static final Configuration cfg = new Configuration(); private static String CONFIG_FILE_LOCATION = backend/hibernate/cfg/file/hibernate.cfg.xml; static try sessionFactory = new Configuration().configure(CONFIG_FILE_LOCATION) .buildSessionFactory(); catch (Throwable ex) / Make sure you log the exception, as it might be swallowed System.err.println(Initial SessionFactory creation failed. + ex); throw new ExceptionInInitializerError(ex); public static SessionFactory getSessionFactory() return sessionFactory; /* * 获得当前的Session实例. * return Session * throws HibernateException */ public static Session currentSession() throws HibernateException Session session = (Session) threadLocal.get(); /if (session = null) if(session=null|session.isOpen()=false) if (sessionFactory = null) try cfg.configure(CONFIG_FILE_LOCATION); sessionFactory = cfg.buildSessionFactory(); catch (Exception e) System.err.println(% Error Creating SessionFactory % + e.getMessage(); session = sessionFactory.openSession(); threadLocal.set(session); return session; 4 4. .5 5 L Lo og g4 4j j 日日志志处处理理 本系统要求将所有用户的操作记录到硬盘文件,因此需要将 commons-logging- 1.0.4.jar,commons-logging.jar 和 log4j-1.2.11.jar 这三个 Jar 文件拷贝到 Lib 目 录下,同时创建 perties 文件,放到 src 目录下面,其具体配置如下: #设置输出级别和目的地 log4j.rootLogger=DEBUG,console #输出到控制台 log4j.appender.console=org.apache.log4j.ConsoleAppender #输出的样式 log4j.appender.console.layout=org.apache.log4j.TTCCLayout #设置特定包的级别和目的地 #log4j.logger.包名=级别,目的地 log4j.logger.backend.bulletin.business.impl=DEBUG,appender1 log4j.logger.backend.bulletin.dao.impl=DEBUG,appender1 ment.business.impl=DEBUG,appender1 ment.dao.impl=DEBUG,appender1 mon.dao.impl=DEBUG,appender1 log4j.logger.backend.goods.busi

温馨提示

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

评论

0/150

提交评论