学 号............... 学 院课 程 设 计 报 告课程名称 Web技术(jsp)课程设计题 目 电子商城网站的设计与实现学 部专 业班 级姓 名指导教师2011 年 6 月 23 日设计题目: 电子商城网站的设计与实现1. 课程设计教学条件要求 Dreamweaver+JSP+SQL SERVER2. 课程设计任务1、设计内容设计在线电子商城网站,该系统的用户分别是:会员和系统管理员。不同的用户拥有不同的权限,各自完成各自的管理功能,不同的用户看到不同的系统功能。用sql server2005创建后台数据库,然后利用JSP技术编写程序实现对数据库的操作,按照要求完成所有的功能和模块。用户的主要功能模块包括:(1)用户注册与登陆(2)查看、搜索商品,订购商品,生成订单(3)发布和管理售卖商品信息系统管理员的主要功能模块包括:(1)登录,注册模块(2)商品管理模块(3)订单管理模块(4)管理员与会员管理模块(5)公告管理模块(6)友情链接管理模块2、主要数据库表单(1)管理员信息表:编号,管理员名,密码,真实姓名,是否成功。(2)普通用户表:用户ID,用户名,密码,年龄,职业,邮箱地址。。(3)公告信息表:编号,主题,内容,提交时间。(4)商品信息表:编号,大类别编号,小类别编号,名称,生产厂商,商品介绍等。(5)订单信息表:订单编号,会员名,会员真实姓名,订购数量,地址,电话等。(6) 商品大类表: 编号,大类名,创建时间等。(7)商品小类表: 大类名,小类名,创建时间等。(8)友情链接信息表:编号,链接名,连接地址等。3. 课程设计报告书主要内容1、系统功能模块设计:2、数据库设计:系统主要的数据库表单的结构定义。3、小结:收获、体会与建议4、参考文献:按正确格式列出3篇以上的参考文献4.课程设计参考资料[1] 耿祥义. JSP基础教程. 北京:清华大学出版社. 2004[2] 冯燕奎. JSP实用案例教程. 北京:清华大学出版社.2004[3] 刘志成. JSP程序设计案例教程. 北京:清华大学出版社.2007撰写人:江伟 指导老师:李聪目 录1需求分析 12总体设计 系统功能模块设计 系统界面设计 数据库设计 103 程序设计 后台商品管理模块的主要功能代码如下: 后台订单管理模块主要代码如下: 后台管理员管理模块主要代码如下: 后台公告管理模块的主要代码如下: 后台友情连接管理模块的主要代码如下: 后台系统时间管理模块的主要代码如下 后台会员管理模块代码如下: 前台订单查询代码如下: 前台会员信息展示代码如下: 19小 结 20参考文献 211需求分析随着信息技术的不断发展,我们现在已经步入了一个信息化的时代,而信息时代的代表便是网络技术的日渐成熟,现在网络已经和我们的生活紧密的联系起来了,我们不敢想象没有网络我们的生活会像怎么样,也许就像食物中没有调料,现在的生活离开了网络会变得索然无味。通过网络我们可以足不出户的做许多事情。休闲,娱乐,学习,购物,交友等等许多我们数之不尽的事情。随着信息化的不断进步,今天一种新的购物方式已然出现。那就是上文已经提及的在线购物。什么是在线购物系统?顾名思义,就是能在网上实现商品销售和购买的系统。在线购物系统旨在满足电子商务时代人们对于网上购买和销售的需求。所以在线购物系统首先必须满足不同人群对购物系统操作和功能的需求;其次在于在线购物系统必须切实的把销售和购买结合起来,真正做到网上购买和支付。下面我们分析在线购物的好处,节省了传统店面、店员的成本,就算是库房也可以在比较便宜的位置,不用象传统商城那样和门面很近;另外现在很多厂商都比较重视网上渠道,所以有不少直销或者很少层次的分销,不象传统渠道有严格的分销制度,也节约了不少成本。同时对于消费者来说具有很大的好处。例如:如果我很想买某件商品,但是我生活的地区没有,于是我就可以选择网上购物,这样就扩大了消费者的选择权利。因而,可以这样说一个好的在线系统应该是销售和购物的完美结合,真正做到在网上购物就象在商店购物一样。那么如何做到这一点呢?这就需要在线购物系统必须有强大的功能。在线购物系统应该有完整的商品管理、订单管理、在线支付、销售管理等。这是从在线购物系统的使用者方面来看的。这是一个在线购物系统能否满足满足在线购物需求的最基本保证。2总体设计依据需求分析的结果,在线电子商城系统应设计成一个适合一般商城完成日常销售活动的在线平台,应该具有简单大方得特点,能完成满足商城的管理和销售的需求。开发平台:Dreamweaver+JSP+SQL 系统功能模块设计在线电子商城分为前台和后台。其中,根据电子商城前台的特点,可以将其分为商品展台,购物车,会员管理,订单查询及商场公告等几个部分,其中各个部分及其包括的具体功能模块如图所示图前台功能结构图根据电子商城后台的特点,可以将其分为商品管理,商品大类别设置,商品小类别设置,友情链接管理,公告管理,后台管理员管理,会员管理,订单管理,退出后台等几个部分,其中各个部分及其包括的具体功能模块如图所示。图 后台功能结构图 前台商品信息展示模块概述该模块的主要功能是完成商品信息的展示,精美的商品展示时保证商城销售数量的有力保证。 前台购物车模块概述在电子商城中,可以根据自己的需要将所选择的商品放置到购物车中,起到一种模拟显示中的购物篮的作用,可以让用户感觉到逼真的购物感受。 前台会员管理模块概述该模块提供对会员的注册,修改功能。可以方便用户对自己信息的及时更新。 前台订单查询模块概述该模块使得用户可以了解到自己的以前的订货信息。 前台公告展示模块概述该模块将及时显示商城的最新的商品信息,便于用户及时的了解到商城的最新商品信息,可以有助于用户选择自己最满意的商品。 后台商品管理模块该模块完成对商品的增删查功能,有助于提高系统管理员对系统商品信息的管理。 后台订单管理模块该模块完成对商品订单的增删查功能,可以有效的对订单信息进行管理控制,但不能进行修改信息。 后台会员管理模块该模块完成对会员的查询和删除操作,但不提供添加和修改操作,而是将此功能在前台实现。 后台管理员管理模块该模块完成对管理员信息的添加,删除,修改,查询功能,可以方便的完成对管理员信息的管理。 后台公告管理模块该模块完成对公告的添加,修改,删除,查询等功能,可以方便的对公告信息的管理,能对信息进行及时的更新。 后台友情连接管理模块该模块完成对链接信息的添加和删除操作,可以将自己的商业合作伙伴的网站地址及时的添加到友情链接中显示,有助于促进企业的发展。 后台系统时间管理模块该模块完成对系统时间的及时显示,便于用户在购物或管理过程中及时的掌握时间信息。 系统界面设计 前台新品展示界面设计该页面可以进行新进商品的陈列展示和购买功能。图 商品展示 前台商品展示界面设计该界面提供对数据库里面的所有的商品的展示,并且提供购买功能。图 商品展示 前台会员修改界面设计该界面提供对系统会员信息的修改功能。图 会员修改 后台商品管理界面设计该界面提供对数据库商品的添加和删除功能。图 商品管理 后台订单管理界面设计该页面提供对数据库订单信息删除功能。图 订单管理 后台公告管理界面设计该界面提供对数据库公告信息的添加,删除和修改功能。图 公告管理 后台会员管理界面设计该页面提供对系统会员信息的删除功能。图 会员管理 后台管理员管理界面设计该界面提高对系统管理员信息的添加,修改和删除功能。图 管理员管理 后台友情链接管理界面设计该界面提供对公司的合作伙伴的网站地址信息的添加和删除功能。图 友情链接管理数据库设计表 表tb_goods的结构字段名 类型 大小 描述id int 4 编号account int 4 大类别编号password int 4 小类别编号managerLevel varchar 50 商品的名称goodfrom varchar 50 商品的生产厂商introduce text 16 商品介绍creaTime smalldatetime 4 商品添加的时间nowPrice money 8 现价freePrice money 8 特价number int 4 购买次数mark int 4 是否是特价商品表表tb_order的结构字段名 类型 大小 描述id int 4 编号number varchar 50 商品订货的数量name varchar 50 会员的编号reallyName varchar 50 会员的真实姓名address varchar 50 订货地址tel varchar 50 订货电话setMoney varchar 50 付款方式post varchar 50 运送方式bz text 16 备注信息sign int 4 是否成功表 表tb_member的结构字段名 类型 大小 描述id int 4 编号name varchar 50 会员名称password varchar 50 会员密码reallyName varchar 50 会员真实姓名age int 4 会员年龄profession varchar 50 会员职业email varchar 50 电子邮箱地址表 表tb_affiche的结构字段名 类型 大小 描述id int 4 编号name varchar 50 主题content text 16 内容issueTime datetime 8 提交时间表 表tb_bigType的结构字段名 类型 大小 描述id int 4 编号bigName varchar 50 大类名creaTime datetime 8 创建时间表 表tb_link的结构字段名 类型 大小 描述id int 4 编号linkName varchar 50 链接名linkAddress varchar 100 链接地址表 表tb_manager的结构字段名 类型 大小 描述id int 4 编号account varchar 50 管理员名password varchar 20 密码name varchar 50 真实姓名sign int 4 是否成功表 表tb_smallType的结构字段名 类型 大小 描述id int 4 编号bigId int 4 大类名smallName varchar 50 小类名3 程序设计按照功能模块的划分给出实现各功能的程序清单,主要的核心程序代码如下: 后台商品管理模块的主要功能代码如下:商品添加的方法代码如下:..........................商品删除的方法代码:.......................... 后台友情连接管理模块的主要代码如下: 友情连接信息的显示代码如下:....................... 后台会员管理模块代码如下: 会员信息展示代码如下:............... 前台订单查询代码如下:................4 小 结通过本次课程设计,我感受颇多,尽管上课时也认真听了老师的讲课,但是已开始面对自己的题目时,还是有些不知所措,都不知道如何下手,后来去图书馆借了几本相关的书籍,心里在感觉有了一些底。经过这差不多四个星期来的学习与编码,总算还是收获不少,对jsp的认识也更加的深刻了。在这个过程中,我感觉就像人生的一个缩影,充满了酸甜苦辣。当一个问题想了好久也无法解决时,我感到沮丧与无助。当经过努力解决了一个程序上的难题时,我感到无比的喜悦。当经过每天为了编写代码一坐就是四五个小时,晚上还要写到凌晨一两点钟的时候,我感到无比的痛苦。但艰难痛苦已成往事,灿烂的明天向我走来,今天我总算迎接了胜利的果实,以前的辛酸与痛苦化作我坚强的力量,将在我将来的人生历程中,为我的美好明天打下坚实的基础。经过了这次磨练,我又一次感受到只有付出才能有收获,成功永远是属于不懈努力的人们的。不过经过这几个星期来的不断拼搏,虽然有一点成功的喜悦,但是我依然感受到我的这个在线电子商城依然还有很多不足的地方,我将在以后的时间好好完善它,以求能使我的这个在线电子商城系统能达到一个更加高的水平,同时也能从中获得更加多的宝贵的经验。参考文献[1] JSP+Dreamweaver动态网站设计与实例 编著.-北京:清华大学出版社,2007-10.[2] 网络系统开发实例精粹:JSP版/汪孝宜编著.-北京:电子工业出版社,2006-8.[3] Java EE Web开发实例精粹/郝玉龙编著,-北京:清华大学出版社;北京交通大学出版社,2008-3.[4] JSP实用教程/耿祥义,编著.-2版。-北京:清华大学出版社,2007-10.[5] 耿祥义. JSP基础教程. 北京:清华大学出版社. 2004[6] 冯燕奎. JSP实用案例教程. 北京:清华大学出版社.2004[7] 刘志成. JSP程序设计案例教程. 北京:清华大学出版社.2007课程设计评分表评分标准:1. 学生是否严格遵守课程设计纪律,按照规定时间完成设计任务(占30%)2. 程序设计的质量与规范:(占40%)(1)是否采用了良好的设计方法,独立完成程序设计(2)程序界面设计是否合理、美观(3)数据库设计是否合理,具有良好的扩展性(4)程序是否运行正常,未见运行错误3. 课程设计报告书的质量与规范 (占30%)教师评分:1.学生出勤得分: _________2.程序设计得分: _________3.设计报告得分: _________总分:_________教师评语:根据该生在课程设计期间,是否严格遵守课程设计纪律,按照规定时间完成设计任务,完成的程序设计的质量与规范,提交的课程设计报告书的质量与规范等多方面的评分,该生本次课程设计的评分为:________教师签名:日期: 年 月 日
jsp+sql基于JAVA的图书管理系统设计(开题报告+论文+程序) 摘要本文主要根据软件工程快速原型模型的开发思想,分析了基于JAVA的图书管理系统的开发过程:首先根据系统特点确立开发模型,再通过对系统进行的需求分析研究,建立结构化分析模型,得出系统功能模块及数据流图,然后进行数据字典分析,确定数据的定义与属性,建立数据表,最后完成系统功能的实现;论述了图书管理系统的运行环境和前台、后台的设计:本系统基于JAVA技术开发,可运行于TOMCAT等WEB服务器软件下,前台使用HTML结合Struts标签库设计了前台JSP页面,后台使用Struts框架技术实现MVC三层结构设计了程序流程,并结合SQLSERVER数据库系统实现了数据的查询,插入,删除和修改。最终设计出的系统包括用户模块和管理员模块,实现了借还书籍,书籍管理,用户管理等图书管理系统的基本功能。关键字:图书管理系统,B/S技术,STRUTS框架技术,数据库目 录第一章 基本理论 引 言 JAVA技术 B/S技术 MVC技术 JDBC数据库连接技术 STRUTS技术 11第二章 开发环境配置 系统平台结构分析 配置环境变量 安装,配置TOMCAT 安装SQL SERVER 2000 安装ECLIPSE开发工具 18第三章 系统设计 需求分析 功能描述 系统设计 数据分析 数据库设计 22第四章 程序实现 系统流程 程序设计 25总结 35致谢 37参考文献 38附录A 39附录B 43
JSP酒店管理论文 你什么时候要我有,都是全的。原创作品网上也找不到,直接使用就可以。
1 前言 4 目的 4 范围 4 有关本系统中的定义 4 2 资料引用 4 3 设计思路 4 数据层设计 5 user_book表的触发器 5 用户续借图书的存储过程 6 到期催还表的视图 7 数据链接层设计 8 UserBook Entity Bean设计 9 UserConsumer Entity Bean设计 10 UserLogBook Entity Bean设计 11 数据逻辑层设计 12 TheBook Session Bean设计 13 TheUser Session Bean设计 14 TheLog Session Bean设计 15 网络应用层设计 15 CheckValue bean 16 EnCode bean 16 JDBCBean bean 16 Rank bean 16 SetUp bean 16 SplitPage bean 17 UserLogin bean 17 SearchBook bean 17 SearchDeadline bean 17 ValidateIMG servlet 17 GetDelete servlet servlet 17 GetBookSubmit servlet 18 GetUserSubmit servlet 18 GetRenewBook servlet 18 GetBorrowBook servlet 18 GetReturnBook servlet 18 4 程序架构 18 程序组织结构 18 功能权限划分 20 WEB程序/页面设计 21 本系统实现的功能 22 5 任务分工 22 1 前言 目的 本文档详细描述了图书管理系统的设计,主要是为开发人员提供,使其对本项目的构建和维护有深入的了解。 范围 本文档的描述只针对图书管理系统的版本。 有关本系统中的定义 以下是本说明书中用到的专门术语的定义和外文首字母组词的原词组: 术语或缩写 定义与描述 booksManager 本系统的名称 Reader 系统权限:普通读者 BookAdmin 系统权限:图书管理员 UserAdmin 系统权限:用户管理员 SuperAdmin 系统权限:超级管理员(系统管理员) Undergraduate 系统用户角色:本科生 Graduate 系统用户角色:研究生 Teacher 系统用户角色:教师 2 资料引用 清华大学《应用软件平台与核心技术》讲义 顾明 清华大学《应用软件平台与核心技术》助教文档 张伟业、魏岚、陈勇、林彩荣 《精通EJB(第二版)》 《J2EE应用与BEA Web Logic Server》,刑国庆等译,电子工业出版社 《设计模式——可复用面向对象软件的基础》,Erich Gamma等,机械工业出版社 3 设计思路 本系统严格按照4层结构设计,分为数据层(SQL server),数据链接层(entity bean),数据逻辑层(session bean),网络应用层(java bean, java servlet, java serverpage)。 四层之间完全独立,可以部署在四台服务器上运行,体现了分布式应用的思想。 数据层的功能严格来说是实现基本的数据存储(逻辑处理功能应该全部交给CMP管理),但因为学习原因,在数据库中也用到了一些逻辑处理,如使用了存储过程+系统级临时表处理读者续借图书的功能、使用触发器防止未还书的用户和未归还的图书被注销以及使用视图检测借书记录实现到期催还功能。 数据链接层实现了和数据库的连接,作用在于屏蔽数据库和平台之间的差异,做到底层无关性。本层利用了模糊查找、多表映射、Relationship等技术,通过find,select方法数据的查找功能,抛出聚集对象或远程接口对象给下一层。 数据逻辑层实现了对数据的逻辑处理,例如将远程接口对象转化为值对象、将聚集对象转化为值对象向量、利用日期类完成查找两个特定日期之间的记录等相对复杂的计算。 网络应用层完成页面跳转和页面显示等应用功能,还有一些附加功能如:图片验证,登录验证,等级控制,代码过滤,分页控制,输入值检测、借书日志打印、系统运行日志记录以及系统设置等。(使用了JDBC实现存储过程和模糊查找图书的功能) 数据层设计 数据库表 表名 功能描述 user_consumer 记录了用户的所有信息 user_book 记录了图书的所有信息 user_logBook 记录了用户使用本系统的信息,保留了所有的借书记录,可作为系统日志和报表资料 user_book表的触发器 用到的触发器之一,作用:如果要注销的图书被外借没有归还,则回滚此删除操作。 CREATE TRIGGER bookhavelog ON FOR DELETE AS declare @bookISBN varchar(50) select @bookISBN=book_ISBN from deleted if exists(select * from user_logBook where logb_book_ISBN=@bookISBN and logb_backdate is null) begin rollback return end 用户续借图书的存储过程 利用存储过程实现用户续借图书的逻辑操作,根据用户的当前信息判断其是否有续借的权限,并把处理结果输出到临时表中去。 CREATE PROCEDURE user_renew_book @xxxparm int AS CREATE TABLE ##temp(statement varchar(50)) DECLARE @username varchar(50) SET @username=(select logb_cons_username from user_logBook where ID=@xxxparm) IF @username is null BEGIN INSERT INTO ##temp VALUES ('The ID is not EXIST') RETURN END DECLARE @timelimit int SET @timelimit=(select logb_timelimit from user_logBook where ID=@xxxparm) DECLARE @renewday int SET @renewday=(select cons_maxday from user_consumer where cons_username=@username) DECLARE @maxrenew int SET @maxrenew=(select cons_maxrenew from user_consumer where cons_username=@username) IF (@renewday*@maxrenew)>=@timelimit BEGIN update user_logBook set logb_timelimit=logb_timelimit+@renewday where ID=@xxxparm --update user_consumer set cons_maxrenews=cons_maxrenews-1 where cons_username=@username INSERT INTO ##temp VALUES ('renew successful') RETURN END ELSE BEGIN INSERT INTO ##temp VALUES ('You are not allowed to renew the book') RETURN END GO 到期催还表的视图 利用DATEDIFF,DATEADD,CAST,GETDATE等函数从借书记录表中计算出到期的记录,然后根据此记录找出相应的读者信息,在网页上以email形式催还。 CREATE VIEW AS SELECT TOP 100 PERCENT , , DATEADD([day], , CAST( AS datetime)) AS deadline_date, GETDATE() AS now_date, , , , , , , , , , , , FROM INNER JOIN ON = INNER JOIN ON = WHERE (DATEDIFF([day], DATEADD([day], , CAST( AS datetime)), GETDATE()) >= 0) AND ( IS NULL) ORDER BY DESC 数据链接层设计 entity bean UserBook Entity Bean设计 userbook remotehome接口 方法 描述 findAllBook 得到所有的图书信息 findByISBN 通过图书的书号得到图书的信息 findSearcher 利用关键字模糊查找图书信息 selectUserByBookISBN (userbook remote) 利用select方法实现多表相关的查找 findSearcher实现模糊查找的代码: select object(p) from UserBook as p where like concat(concat('%',?1),'%') or like ?1 or like ?1 or like ?1 or like ?1 or like concat(concat('%',?1),'%') or like ?1 UserConsumer Entity Bean设计 UserConsumer remotehome接口 方法 描述 findAllUser 查找所有的用户信息 findByUsername 通过用户名查找用户信息 findSearcher 利用关键字模糊查找用户信息 selectBookByUsername (userconsumer remote) 利用select方法实现多表相关的查找 findSearcher实现模糊查找的代码: select object(p) from UserConsumer as p where like concat(concat('%',?1),'%') or like ?1 or like concat(concat('%',?1),'%') or like ?1 or like ?1 UserLogBook Entity Bean设计 UserLogBook remotehome接口 方法 描述 findallbybookISBN 查找此书所有的借阅记录 findbybookISBN 查找此书当前的借出记录 findallbyusername 查找此用户所有的借阅记录 findbyusername 查找此用户当前的借出书记录 findbacklog 得到所有已经归还图书的借书记录 findoutlog 得到所有尚未归还图书的借书记录 findbyID 通过记录流水号查找借书记录 findlogbyday 查找某一日期的借书记录 (模糊匹配,例如提交“2004-5”可得到最终记录时间——借阅或归还在2004年5月份的所有借书记录) findallog 得到所有的借书记录 FindLogByDay通过模糊匹配得到一组最终记录时间的代码: select object(p) from UserLogBook as p where ( is null and like concat(concat('%',?1),'%') ) or ( is not null and like concat(concat('%',?1),'%') ) 数据逻辑层设计 session bean TheBook Session Bean设计 TheBook bean 实现图书的增删改查以及模糊搜索、通过书查读者等功能 方法内部实现所有的逻辑处理和转化,返回到远程接口值对象或值对象向量 TheUser Session Bean设计 TheUser bean 实现用户(读者)的增删改查以及模糊搜索、通过读者查书等功能 方法内部实现所有的逻辑处理和转化,返回到远程接口值对象或值对象向量 TheLog Session Bean设计 TheLog bean 主要实现对日志(借书记录)的各项操作,提供多种获得日志的方法(按读者、按图书、按日期、按借还状态等),方法内部实现所有的逻辑处理和转化,返回到远程接口值对象或值对象向量,另外还有如下方法: 方法 功能 public boolean userBorrowBook(String username, String bookISBN) 以一个事务封装读者借书的所有逻辑操作,借书成功返回真值,无法借书返回假值,调用enCode bean对中文进行转码 public boolean userReturnBook(String logbid) 以一个事务封装读者还书的所有逻辑操作,即实现使一笔借书记录销账的功能,调用enCode bean对中文进行转码 public Vector showLogBetweenDays(String dayBegin, String dayEnd) 返回两个日期之间的所有日志,主要利用Calendar类实现 网络应用层设计 本层本着面向对象思想的封装性、数据模糊性、可重用性等原则设计。 本着系统运行错误在系统中打印()、用户输入和误操作错误导向友好的错误处理页并给出友好的提示的错误处理原则。 每次对会话bean的调用写入系统运行日志文件,默认路径是C:\\。 CheckValue bean 封装多个静态方法。 可以用于检测某表中某个字段是否已经存在某个值(可用于检测重名用户、重号图书)、检测用户名合法性、检测密码合法性、检测年龄合法性、检测电子邮件合法性、检测数字合法性、检测日期合法性等。 EnCode bean 封装编码转码工作: html显示转码,例如:将<转为<,将>转为&rt;,将数据库中的换行转为html中的换行等等,这样可以屏蔽用户提交文本中的可执行代码。 可重载的中文转码。 密码的加密和解密编码。 JDBCBean bean 封装所有的数据库操作。包括一个带结果集返回的SQL执行方法和一个不带结果集返回的SQL执行方法。 Rank bean 封装4种权限(普通读者、用户管理员、图书管理员、系统管理员)的页面访问,相当于页面加锁功能。 SetUp bean public static String title="SuperLibrary";//系统名称 public static String dbS="booksManagerDS";//数据库的JNDI名 public static String errorPage="";//友好的错误处理页,用get方法传递出错原因 public static String homePage="";//默认首页 //权限------------------------------------------------------------------------- public static String Reader="Reader";//读者 public static String UserAdmin="UserAdmin";//用户管理员 public static String BookAdmin="BookAdmin";//图书管理员 public static String SuperAdmin="SuperAdmin";//系统管理员 //等级------------------------------------------------------------------------- public static String Undergraduate="Undergraduate";//本科生 public static int UndergraduateRenew=1;//本科生可续借的次数 public static int UndergraduateMaxday=30;//本科生一次可借的天数 public static String Graduate="Graduate";//研究生 public static int GraduateRenew=2;//研究生可续借的次数 public static int GraduateMaxday=45;//研究生一次可借的天数 public static String Teacher="Teacher";//教师 public static int TeacherRenew=3;//教师可续借的次数 public static int TeacherMaxday=60;//教师一次可借的天数 //---------------------------------------------------------------------------- public static int rsPerPage=5;//每页显示记录的数量 public static int minBooks=4;//系统默认的最小借书数 SplitPage bean 将数据记录分页的逻辑实现和页面显示(最简,可在外部由样式表美化)封装在一个bean中,重用时实际只需要传递一个记录集数量的为参数即可,可重用。一般作为session级java bean在页面中被调用,在会话中保存用户对此页面的访问状态,在会话结束之前始终记忆用户访问此页对应的页码。 UserLogin bean 将用户登录的逻辑实现和页面显示(最简,可在外部由样式表美化)封装在一个bean中,包括对用户各种登录情况的处理,可重用。 SearchBook bean 利用JDBC实现模糊查找和按指定类别精确查找图书的功能。 SearchDeadline bean 利用JDBC调用视图实现到期图书的催还功能。 ValidateIMG servlet 动态生成含有随机验证码的图片,在生成图片的同时将验证码写入session中,与用户的登录输入比较。可有效的防止机器人登录。 GetDelete servlet servlet 处理图书、用户、日志的注销操作,根据返回值进行相应页面的跳转。 GetBookSubmit servlet 处理图书的入库和图书信息的修改,根据返回值进行相应页面的跳转。 GetUserSubmit servlet 处理用户的注册和用户信息的修改,根据返回值进行相应页面的跳转。 GetRenewBook servlet 处理用户续借图书的请求(JDBC调用存储过程实现),从系统临时表中读取状态值,根据状态值进行相应页面的跳转。 GetBorrowBook servlet 处理用户的借书请求,将用户借书限额已满、库存为零等错误导向友好的错误页,如果借书成功则跳转到图书信息页面,并给与相应的提示。 GetReturnBook servlet 处理用户的还书请求,如果还书成功则跳转到用户的借书记录页面,并给与相应的提示。 4 程序架构 程序组织结构 说明:图书搜索和用户登录看作系统外部功能,通过JDBC直接调用数据库,其中用户登录模块封装在一个java bean中,可重用。另外,用户续借图书是通过存储过程实现,从而绕过了使用CMP技术管理事务的实体bean。 本系统其余程序的组织结构严格按照下图实现: 程序组织结构图 功能权限划分 站点页面地图 权限名称 系统定义字符 权限 可访问页面 普通读者 Reader 查看自己的信息(还书、续借); 修改自己的信息; 查看图书(借书); userModify userView booklist 图书管理员 BookAdmin 拥有普通读者的权限; 图书的增删改查; 到期催还; userModify userView booklist bookAdder bookModify deadline 用户管理员 UserAdmin 拥有普通读者的权限; 用户的增删改查; userModify userView booklist userRegister userModify userList 系统管理员 SuperAdmin 拥有图书管理员和用户管理员的权限; 查看系统日志; 删除系统日志; 系统设置; 包括(系统设置,利用application级java bean控制整个应用程序)在内的所有页面 WEB程序/页面设计 利用代码关闭客户端的输入法,实现用户名、密码不能出现中文的问题。 利用onfocus=() onmouseover=()代码使文本框自动吸附获得焦点,方便用户输入。 利用WMODE="transparent"参数使flash的背景透明,更好的融入网页。 在每页中,利用代码: 嵌入上下导航条,使网站导航明确,方便用户浏览。 在网页头部加入代码: 使客户端不缓存网页,保证了客户每次浏览该页都从服务器获得最新的版本,以求正确显示。 提供智能搜索(获得尽可能多的匹配)和精确搜索(获得尽可能精确的匹配)图书,服务器端编程都采用模糊查找的方式。 在客户端用javascript对表单提交进行第一次验码,通过后提交到服务器端,再进行第二次验码,验码包括:用户名是否重复、年龄是不是合适的数字,两次密码输入的是否一致、电子邮件是否合法、密码是否太短、用户名是否太短、用户名密码是否为空等等。 利用随机生成JPG图片验证码的方法,防止机器人登录。 在页面中使用session级java bean实现分页,在会话中保存用户对此页面的访问状态,在会话结束之前始终记忆用户访问此页对应的页码。 在页面中使用application级java bean实现安全的系统设置,当服务器启动后,即可对系统运行参数进行应用程序级的设置,只要服务器不关闭,此设置始终有效且作用于所有用户,如果设置不慎造成系统错误或想恢复系统默认设置,则只需重新启动服务器即可。 在对会话bean的调用包ejbClient中,创建系统运行日志,通过包中的writeF类写入web服务器的C:\\中,可做查询用。 本系统实现的功能 确定图书的基本信息,有书名、作者、出版日期、当前借阅状态等属性 系统的使用者包括读者、图书管理员、用户管理员、系统管理员四种 读者可以查询图书;图书管理员可以完成图书管理、借阅管理;读者管理员可以完成读者管理的功能;系统管理员可以使用系统的所有功能 图书管理:新书登记,图书查询,图书注销; 借阅管理:借书,还书,查询到期读者 读者管理:增加读者、删除读者、查询读者、读者类别管理(设置研究生,本科生,教师的可借册数,可借天数,可续借次数等) 系统管理:系统管理员使用,包括用户权限管理(增加用户,删除用户,密码修改等),系统借书日志,系统运行日志,系统设置等功能 页面输入有验码,密码存取有加密 图书到期催还 体现分层设计思想,使用MVC架构 实现了多个Beans,Bean之间实现了对应的关系 使用了EJB QL,事务控制等 使用了jsp->sessionBean->entityBean->数据库模式 数据库使用了触发器和存储过程等一些高级技术
235 浏览 4 回答
239 浏览 2 回答
127 浏览 3 回答
159 浏览 3 回答
220 浏览 2 回答
123 浏览 4 回答
285 浏览 9 回答
255 浏览 4 回答
310 浏览 4 回答
121 浏览 3 回答
197 浏览 3 回答
87 浏览 5 回答
319 浏览 4 回答
229 浏览 2 回答
244 浏览 2 回答