版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上海交通大学本科毕业论文基于struts框架的公司图书借阅系统设计与实现学 生: xxxx学 号: 专 业:软件工程导 师:xxxx 学校代码: 上海交通大学网络教育学院二八年三月毕业论文声明本人郑重声明:1、此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注和致谢的地方外,本文不包含其他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。2、本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本
2、人授权上海交通大学网络教育学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。3、若在上海交通大学网络教育学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担(包括接受毕业论文成绩不及格、缴纳毕业论文重新学习费、不能按时获得毕业证书等),与毕业论文指导老师无关。作者签名: 日期: 基于struts框架的公司图书借阅系统设计与实现摘 要在网络日益普及的现今,对公司的图书馆而言,以前单一的手工检索已经不能满足员工的需求,为了便于图书资料的管理,以及信息沟通的便捷化,更需要有效的图书借阅管理系统。该设计是采用现在流行的mvc模式,利用s
3、truts框架,通过jsp实现的b/s结构的信息平台。系统信息资源通过sql server数据库管理系统进行管理,通过tomcat服务器对外发布。开发工具使用myeclipse。最终用户只需通过web浏览器就能方便的使用本系统的实现借还书管理、存储图书馆借阅图书信息、浏览图书馆图书借阅历史信息、查询图书馆借阅信息、借阅登记信息修改等各个功能。通过本平台,将改进以前公司对图书信息的借阅、归还、录入、存档等的一些都是通过手工进行记载并进行处理的繁琐处理,以便减轻管理员的工作量和操作复杂度。关键词: mvc 、struts、图书管理、借阅、归还design and implementation of
4、 lending and reading book for a company based on a struts frameabstractwith the popularity of network, the handicraft recall cant satisfy the employees need for the library of company. for the sake of the management of easy to book data, and conveniently turn of the information communication, even n
5、eed the efficient book to borrow to read management system.that design is the mvc mode that the adoption spreads now, make use of a struts frame and pass the b/s of jsp realization the information terrace of the structure. the system information resources passes the database management of the sql se
6、rver system to carry on a management and pass a tomcat server to outward release. the development tool of myeclipse is adopted. end customer need to pass a web browser the ability convenient usage originally system of the realization borrow to return book management and save library to borrow to rea
7、d a book information, browse a library book to lend an experience history information, search library to borrow to read an information and borrow to read a register information a modification etc. each function. pass this terrace, improvement the company borrowed book information to read, returned,
8、record before into, backup etc. of some all carried on to jot down through a handicraft and carry on a processed tedious processing, in order to ease the managing persons workload and operation complications.key words: mvc, struts, book manage, borrow and read, return基于struts框架的公司图书借阅系统设计与实现目 录第1章 前
9、言11.1选题来源11.2目的和意义11.3运行环境11.4论文的主要工作及章节内容2第2章公司图书借阅系统的分析和设计32.1系统所采用的技术及其原理32.2系统构架32.3系统数据库设计32.3.1数据库设计(数据模型)32.3.2实体联系方法(e-r模型)52.4系统体系结构设计52.4.1系统由以下组件构成:62.4.2面向对象分析与设计(ooad)62.5系统功能模块设计72.6系统主要工作流程设计8第3章公司图书借阅系统的具体实现103.1系统开发环境配置103.1.1 jdk和tomcat配置103.1.2 eclipse+myeclipse配置103.2 myeclipse开发
10、struts主要步骤103.2.1 新建项目103.2.2 生成struts文件113.2.3修改生成的struts文件113.3系统主要页面设计与具体实现133.4开发过程中所遇到的问题及解决方法153.4.1权限问题153.4.2分页问题153.4.3中文处理问题163.4.4表单输入非法字符问题163.4.5页面缓存问题18第4章 结 论194.1系统总结194.2系统展望19致 谢20参考文献21第1章 前言1.1选题来源由于以前公司对图书信息的借阅、归还、录入、存档等的一些繁琐处理都是通过手工进行记载并进行处理的,对员工借阅、归还数据的处理工作量特别大,不仅浪费大量的人力物力,而且还
11、很容易出错。如果有一套完整的图书借阅管理软件,只需点击几下鼠标就可完成所需操作,那样就会大大的提高管理员的工作效率和管理水平。并能进一步提高公司图书管理的工作效率并使公司实施规范化管理。1.2目的和意义毕业设计是专升本两年学习的总结,同时也是自己综合运用所学知识解决实际问题的一次锻炼。公司图书借阅系统的主要目的是为了方便公司对图书借阅的信息进行录入、修改、查询、删除,提高图书管理的工作效率。这一系统的开发成功,解决了手写速度慢、容易出错的现状。无论是在借阅信息管理、归还信息管理等方面,都可以帮助图书管理员最迅速最准确的完成所需的工作。无论是在适用性、灵活性和易操作性方面,都显示出了它的强大功能
12、。1.3运行环境软件名称:公司图书借阅系统开发人员:706913020009 孙洵作品开发环境:操作系统:windows 2000 server/xp编辑工具:eclipse v3.1+myeclipse v4.1.1 网页制作工具:dreamweaver 8.0版本java编译环境:jdk 1.5版本web服务器:tomcat 5.5版本数据库:sql server2000作品运行环境【软件环境】服务器操作系统:windows 2000/xp数据库系统:microsoft sql server 2000客户机操作系统:中文windows95/98/me/nt/2000/xp浏 览 器:ie
13、5.0以上版本安装插件:flash mx以上版本的播放器【硬件环境】服务器cpu选pii450以上,内存选128m以上,硬盘选10g以上客户机cpu奔腾以上,内存8m以上,硬盘2g以上,显示10247681.4论文的主要工作及章节内容本设计采用了b/s模式的设计方法,不再使用c/s的双层结构,突破了局域网的限制,让数据面对了广域网上更多的用户,更加方便了用户的远程查询和管理人员的远程管理。同时,也方便了数据库管理人员对数据库的管理和维护,因为采用的是三层结构,加强了数据的安全性和稳定性。本设计所完成的图书馆管理系统软件是一款功能比较完善的数据管理软件,具有数据操作方便、高效等优点。软件具有以下
14、功能 : 存储图书馆借阅图书信息。 浏览图书馆图书借阅历史信息。 查询图书馆借阅信息等。论文的第一章主要介绍设计的背景、目的以及系统的主要内容。第二章介绍本系统的分析和设计。第三章则针对本系统的需求、分析、模块实现以及关键技术做了详细的介绍。第四章对系统最终成果做了详细的总结以及对系统以后的展望。第2章公司图书借阅系统的分析和设计2.1系统所采用的技术及其原理struts为java web应用提供了现成的通用的框架。struts可以大大提高web应用的开发速度。如果没有struts,开发人员将不得不首先花大量的时间和精力来设计、开发自己的框架。如果在web应用中恰到好处地使用struts,将把
15、从头开始设计框架的时间节省下来,使得开发人员可以把精力集中在如何解决实际业务问题上。而且struts本身是一群经验丰富的web开发专家的集体智慧结晶,在全世界范围内得到广泛运用并得到一致认可。因此对于开发大型复杂的web应用,struts是不错的框架选择。2.2系统构架图书借阅系统采用从数据层到应用层,最后到用户接口层进行设计。整个软件生命周期划分为可行性研究与计划、需求分析、设计、编程、测试、运行与维护六个阶段。在此主要介绍本系统的需求分析和设计阶段。2.3系统数据库设计2.3.1数据库设计(数据模型)本系统中的数据库主要包括两个方面。 用户信息数据表:存储管理用户姓名以及密码数据。 图书借
16、阅信息数据表:存储借阅图书的信息。包括图书名称、数量、借阅图书种类、借阅人、借阅时间、应该归还时间、归还标志位、实际归还时间、备注等字段。本系统使用sql server 2000作为数据库管理系统。安装sql server 2000,打开企业管理器,新建一个数据库,将其命名为tsxt。tsxt数据库中包含的数据表及其相应的功能如下所示。 1)userinfo用户信息表;2)borrowbook图书借阅信息表;3)bookinfo图书基本信息表;4)buyinfo员工自费购买图书登记表。下面分别介绍tsxt数据库中数据表的结构:1)userinfo用户信息表,见表2-1表2-1用户信息表字段名数
17、据类型及长度说明备注usernamevarchar(50)用户姓名主关键字passwordvarchar(50)用户密码允许为空poweridint用户权限允许为空说明:此表用于记录用户信息以及权限,供员工和管理员登录时使用。2)borrowbook图书借阅信息表,见表2-2表2-2图书借阅信息表字段名数据类型及长度说明备注bo_idint编号主关键字bo_namevarchar(50)图书名称允许为空bo_totalint数量允许为空bo_kindvarchar(50)借阅图书种类允许为空bo_usernamevarchar(50)借阅人姓名允许为空bo_timedatetime借阅时间允许
18、为空bo_retimedatetime应该归还时间允许为空bo_flagint归还标志位默认未归还0,成功1retunrn_timedatetime实际归还时间允许为空bo_remarkvarchar(200)备注允许为空说明:此表记录员工借阅、归还图书信息,方便查询借阅历史信息。3)bookinfo图书基本信息表,见表2-3表2-3图书基本信息表字段名数据类型及长度说明备注book_idint编号主关键字book_namevarchar(50)图书名称允许为空book_kindvarchar(50)图书种类允许为空book_valuefloat价格允许为空book_totalint库存量允许
19、为空book_borrowint借出量允许为空book_remarkvarchar(200)备注允许为空说明:此表供管理员录入图书、修改图书基本信息使用。4)buyinfo员工自费购买图书登记表,见表2-4表2-4员工自费购买图书登记表字段名数据类型及长度说明备注buy_idint编号主关键字buy_usernamevarchar(50)购买用户名称允许为空buy_namevarchar(50)图书名称允许为空buy_valuefloat价格允许为空buy_totalint购买数量允许为空buy_flagint购买是否成功标志位默认0,成功1buy_remarkvarchar(200)备注允许
20、为空说明:此表供员工购买公司图书,方便员工想购买或遗失公司图书时可以使用。2.3.2实体联系方法(e-r模型)er模型(实体联系方法)是一个面向问题的概念性数据模型。其优点是容易理解,用户易接受。图2-1为公司图书借阅系统e-r图。图2-1 公司图书借阅系统e-r图2.4系统体系结构设计具体在使用struts框架时,对应各个部分的开发工作主要包括:1)model部分: 采用javabean组件,设计和实现系统的业务逻辑。根据不同的请求从action派生具体action处理对象。2)controller部分:struts为提供了核心控制部分的实现。只需要配置actionmapping对象3)vi
21、ew部分: 为了使用model中的actionform 对象,必须用struts提供的自定义标记创建html 表单。4)同时需要编辑两个配置文件:web.xml和struts-config.xml。通过它们配置struts系统中的各个模块之间的交互。2.4.1系统由以下组件构成:1) jsp作为显示的页面和用户交互2) 初始化用户输入的数据的bean3) formbean包装初始化bean传递的数据和有效性判断invalidate和reset方法4) actionservlet联合formbean、javabean 将处理结果传递给处理显示的jsp页面5) javabean处理业务逻辑的bea
22、n6) 图象imagesweb客户将请求发送至web服务器。任何请求都是由需要执行的操作与参数(如果有)所构成的。来自客户机的所有请求都被指向一个actionservlet。actionservlet的职责是确保会话有效,然后把请求转发至特定于操作的servlet。如有需要,servlet将与数据库一同工作,并使用bean进行必要的操作。一旦操作结束,特定于操作的servlet就会调用jsp显示结果给用户。系统体系结构图,如图2-2所示。显示jsp传递数据的javabean包装数据以及有有效性判断和重置方法的formbean起关键的控制功能的actionservlet逻辑业务控制层的javab
23、ean数据库 图2-2 系统体系结构图2.4.2面向对象分析与设计(ooad)面向对象分析与设计(ooad)的一般细则1) 确定系统用户与他们的用例。2) 通过理解要求说明与使用用例图来确定系统的候选业务对象。3) 确定已确定类的职责的类列表。4) 删除不需要的类。5) 确定类之间的关系。6) 决定各个类的各个属性并确定可计算字段。7) 设计系统在其各组件之间定义良好的接口。实体类传递数据的类(bean)功能作用borrowbook初始化借阅、归还图书信息添加和修改的数据bookinfo初始化图书信息添加和修改的数据buyinfo初始化购买图书信息添加和修改的数据yonghu初始化用户添加和修
24、改的数据hzzh解决数据传递过程中的乱码问题基本formbean功能作用addinfoform添加借阅图书信息时包装传递的数据addbookform添加图书信息时包装传递的数据addbuyform添加购买图书信息时包装传递的数据delinfoform删除借阅图书信息时包装传递的数据delform删除图书信息时包装传递的数据delbuyform删除购买图书信息时包装传递的数据loginform登陆系统时包装传递的数据xgbookform修改图书信息包装传递数据zhuceform添加用户信息包装传递数据zccfform完成添加用户信息包装传递数据action 类功能作用addinfoaction添
25、加借阅图书信息,显示给jsp的显示addbookaction添加图书信息,显示给jsp的显示addbuyaction添加购买图书信息,显示给jsp的显示delinfoaction删除借阅图书信息,显示给jsp的显示delaction删除图书信息,显示给jsp的显示delbuyaction删除购买图书信息,显示给jsp的显示loginaction登陆系统信息,显示给jsp的显示xgbookaction修改图书信息,显示给jsp的显示zhuceaction添加用户信息,显示给jsp的显示zccf action完成添加用户信息,显示给jsp的显示特定功能类功能作用jdbctest直接和数据库连接的逻
26、辑事物类2.5系统功能模块设计本系统利用jsp(strust框架)采用b/s结构完成“公司图书借阅系统”的设计,达到动态查询图书借阅历史信息、分页显示图书借阅和归还信息、图书信息增改等目的。系统主要功能如下: 实现借、还书管理。 存储图书馆借阅图书信息。 浏览图书馆图书借阅历史信息。 查询图书馆借阅信息。 借阅登记信息修改。系统主要功能模块,如图2-3所示。公司图书借阅系统历史信息个人图书管理图书归还借阅登记图书基本信息维护历史借阅删除历史借阅查询个人自费购买图书登记 借阅删除借阅查询借阅修改图书基本信息删除图书基本信息查询图书基本信息修改图书基本信息添加图2-3系统主要功能模块1、 用户类型
27、系统用户分为普通员工和管理员两类,登录后管理员可以对整个图书管理系统进行管理。包括图书借阅、归还、查询、修改和历史记录信息等整个图书借阅过程的全程功能管理。2、 管理模块图书共分为图书借阅登记、图书借阅信息修改、图书借阅信息查询、借阅信息删除、个人图书管理、图书历史借阅查询和历史借阅删除7个功能模块对图书进行管理。2.6系统主要工作流程设计1、用户主要工作流程用户登录公司图书借阅系统后首先按照权限登录到不同的页面,如登录失败返回首页,登录成功后用户进入登陆页面user_login.jsp,该页面显示用户所有借阅图书信息、可以再次借阅图书登记、历史信息查看以及购买所需图书。2、管理员主要工作流程
28、管理员登录到权限所分配的页面admin_login.jsp后,可以对图书基本信息、用户帐户信息进行管理和查阅用户借阅、归还图书信息、删除历史过期图书借阅信息以及审批同意用户购买所需图书信息。公司图书借阅系统主要程序流程图,如图2-4所示。公司图书借阅系统首页default.jsp用户登录失败成功管理员登录页面admin_login.jsp历史借阅信息old.jsp图书基本信息维护book_info.jsp图书归还页面back_info.jsp借阅登记页面add_info.jsp历史借阅查询search_old.jsp借阅修改页面rework_info.jsp借阅删除页面del.jsp借阅查询页
29、面search_info.jsp历史借阅管理页面old_info.jsp历史借阅删除del_old.jsp图书基本信息修改页面rework_book.jsp图书基本信息删除页面del_book.jsp图书基本信息查询页面search _book.jsp图书基本信息添加页面add_book.jsp图2-4 公司图书借阅系统主要程序流程图第3章公司图书借阅系统的具体实现此章主要介绍公司图书借阅系统的设计过程,开发过程中涉及的问题以及解决方法。3.1系统开发环境配置3.1.1 jdk和tomcat配置分别安装jdk1.5和tomcat5.5,配置环境变量path=x:jdk1.5bin;,java_
30、home=x:jdk1.5;,其中x:是安装jdk的硬盘c:,d:等。3.1.2 eclipse+myeclipse配置先安装eclipse,然后安装myeclipse,安装完毕,重新启动eclipse以后,选取菜单“windowspreferences”,会看到比以前的eclipse多了myeclipse选项,点击“myeclipseapplication serverstomcat 5”配置详细的服务器信息,包括:tomcat home directory、tomcat base directory和tomcat temp directory。单击tomcat home directory
31、后面的“browse”可以选取tomcat的安装路径,例如:“c:/tomcat 5.5”。填写完毕后,后面两项也默认设置为“c:/tomcat 5.5”和“c:/tomcat 5.5/temp”。然后启动该服务器,选择右上角的“tomcat server”选项组中的“enable”选项。然后配置相应的jdk信息。点击“tomcat 5”,有jdk、launch和path选项,选中jdk选项,单击旁边的“add”按钮,弹出“add jre”对话框,在对话框中填写jre name和jre home directory信息,jre name是对所用的jdk的命名,jdk home director
32、y填入的是jdk的安装路径,然后单击“ok”按钮返回原来的preferences对话框,在“tomcat jdk name”下拉框中选取添加的jdk,配置完成,单击“apply”按钮保存刚才的配置结果。3.2 myeclipse开发struts主要步骤3.2.1 新建项目首先,选取“filenew project”菜单,点开“j2ee”选项,选取“web project”选项,单击“next”按钮,弹出“new j2ee web project”对话框,填入project name,例如:library,然后单击“finish”按钮,完成新建项目。3.2.2 生成struts文件在eclips
33、e的package explorer窗口中选中刚才新建的library项目,右键单击项目,在弹出的菜单中选取“myeclipseadd struts capabilities.”选项。弹出“struts support for myeclipse web project”对话框,全部按默认设置,单击“finish”,这样就把struts框架中需要用到的jar文件和struts标签库文件添加到项目中了。然后生成项目的jsp、actionform和action,借助myeclipse,这3种文件可以同步生成。选取“filenewothers”菜单项,在弹出的“new”对话框中选取“j2eestru
34、ts 1.1struts 1.1 form,action&jsp”选项,单击“next”按钮,弹出“struts 1.1 form declaration”对话框,在这个对话框中,可以完成的任务是生成一个actionform,并且根据actionform的设置,选择是否需要生成相应的jsp文件。首先在“use case”文本框中输入要新建的actionform的名称,然后再“superclass”下拉框中选择“org.apache.struts.action.actionform”,在选项卡“form properties”里,可以添加actionform所需要的属性,也就是通常表单的属性。单
35、击“add”按钮,弹出“create property”对话框,添加一个property需要填写3项内容:name是指要添加属性的名称,type是指要添加属性的数据类型,jsp input type是指在jsp页面中将为该属性设置的输入空间类型。在“methods”选项卡中可以设置actionform中需要重载的方法,默认是重载reset方法和validate方法。这里不需要做任何修改。在“jsp”选项卡中可以选择是否要生成相应的jsp文件,以及生成jsp文件的路径。单击“next”按钮,弹出“struts 1.1 action declaration”对话框,在这个对话框中,可以完成的任务是
36、生成一个action,里面的设置全部按默认即可,直接按“finish”,这样,struts的form,action,jsp,包括struts-config.xml就算生成好了。3.2.3修改生成的struts文件首先,修改生成的actionform文件。actionform也是一种javabean,除了具有一些javabean的常规方法以外还包含一些特殊的方法,用于验证html表单数据以及将其属性重新设置为默认值。struts框架利用actionform来进行视图和控制器之间表单数据的传递。struts框架把用户输入的表单数据保存在actionform中,把它传递给控制器,控制器可以对acti
37、onform中的数据进行修改,jsp文件使用struts标签读取修改后的actionform的信息,重新设置html表单。在actionform文件中,主要修改两个重载的方法:reset方法和validate方法。reset方法用于将表单属性重新设置为默认值,一般把表单的属性全置null就可以了。遇到表单单选框,如果需要默认为某个选项的话,也可以在reset方法中定义,例如:bo_kind=小说;,在属性为bo_kind的单选框中默认选项就被设置成“小说”了。validate方法用于验证表单数据是否符合要求。validate方法主要负责检查数据的格式和语法,而不负责检查数据是否符合业务逻辑。如
38、:验证表单文本框不能为空等。在jsp中用标签调用,提示的错误信息在applicationrperties资源文件中定义。一旦表单里信息不符合要求,就显示资源文件中的信息。接下来,新建一个用于处理业务逻辑的bean,在这个bean中主要写数据库增删查改的业务逻辑方法,包括本图书借阅系统中,字段所取得对应码表中的代码以及处理分页显示的代码。然后,修改生成的action文件。action文件在struts框架中担任控制器的角色,它继承了javax.servlet.http.httpservlet类,主要负责接收http请求信息,根据配置文件struts-config.xml的
39、配置信息,把请求转发给适当的action对象。在这个文件中,一般先接受jsp中表单的数据,然后调用刚才bean里的方法,最后返回actionforward对象,实现页面的跳转。跳转的页面在struts-config.xml中定义。最后,修改jsp文件。在struts框架的jsp文件中,都是用struts标签来表示的。下面介绍几个常用和本系统用到的struts标签。1) 标签:处理html表单是web应用的主要工作之一,在struts应用中,使用标签来创建表单。标签的action属性用来制定当用户提交表单后,处理用户请求的组件。struts框架将参照struts配置文件来查找相应的action组
40、件。2) 标签:在表单上创建html文本框。3) 标签:在表单上创建html下拉列表框。4) 标签:在表单上创建html文本框单选框。5) 标签:在表单上创建提交按钮。6) 标签:在表单上创建复位按钮。7) 标签:生成下拉列表框选项,该标签嵌套在中使用。8) 标签:用于输出错误消息,在上文已有所介绍。9) 标签:用于在网页上输出某个bean或它的属性的内容。name属性设置指定的变量。property设置指定的变量的属性。10) 标签:与标签类似,区别在于多了个id属性,它把标签里取出的值,赋到id属性中。11) 标签:能够在一个循环中遍历数组、collection、enumeration、i
41、terator或map中的所有元素。3.3系统主要页面设计与具体实现系统用户登录后页面如图3-1所示,用户可以在页面内浏览到没有归还的借阅图书信息。包括借阅图书名称、数量、种类以及借阅时间、应归还时间、备注等。选择查询条件,输入查询关键字,单击“查询”按钮查询未归还的借阅图书信息。单击“跳转”按钮以及“下一页”、“最后一页”跳转到所需的页,单击“借阅登记”、“图书归还”、“历史信息”进入相应的图书借阅管理系统页面。图3-1 系统用户借阅信息页面单击“借阅登记”进入图书借阅登记页面,进行借阅图书信息登记。填写好图书借阅信息后,单击“登记”按钮保存完毕。页面如图3-2所示。图3-2 图书借阅登记页
42、面单击系统用户借阅信息页面“图书归还”按钮,进入图书归还页面。页面可以进行当前未归还图书借阅信息查询,管理员还可以对所有借阅图书信息进行修改、归还确认和删除操作。页面如图3-3所示。图3-3 借阅图书信息管理页面单击“归还”按钮,修改数据库,图书借阅归还数据库。单击“删除”按钮删除借阅信息。单击“修改”按钮,进入修改页面,如图3-4所示。在修改页面中填写好需要更新的图书借阅信息,单击“修改”按钮保存修改的信息。图3-4 借阅登记信息修改页面单击系统用户借阅信息页面“历史信息”按钮,进入图书借阅历史信息页面。页面主要显示图书借阅系统中关于图书借阅、归还历史信息,同时普通用户只能查看图书借阅历史信
43、息,而管理员可以删除历史借阅信息。提供当前借阅信息管理入口。单击“删除”按钮,删除图书借阅历史信息。页面如图3-5所示。图3-5 借阅图书历史信息管理页面3.4开发过程中所遇到的问题及解决方法3.4.1权限问题本系统在用户登录表中由powerid字段控制权限,表内共有2种权限:管理员和用户。管理员在本系统中有添加、删除、修改图书信息、历史借阅信息,同意用户购买图书的权限。普通员工用户只能查询、浏览、申请购买图书等各种信息的权限。3.4.2分页问题在一般web程序中,分页会被频繁地使用,但分页的实现细节却是编程过程中比较麻烦的事情。目前比较广泛使用的分页方式有多种,而本系统根据实际需求采用以下方
44、法,就是每次翻页都查询一次数据库,也就是只从数据库中取要显示那一页的数据,这样做得好处是虽然每次翻页都需要查询数据库,但查询出的纪录数很少,网络传输数据量不大,有利于提高查询速度,比在应用服务器层做缓存有效多了。下面来看一下,本系统是怎样把单页数据取出来的。核心代码:select top +pagenum+ * from (select top +(total-(nowpage-1)*pagenum)+ * from table order by id desc) as t order by id asc pagenum -每个页面显示的纪录数 nowpage -当前页数 total -记录总
45、数 select top +(total-(nowpage-1)*pagenum)+ * from table order by id desc就是根据id倒序,把剩余页数的记录取出,然后再正序查这张表,前几个也就是这页要显示的记录了。3.4.3中文处理问题中文显示问题是在编写jsp页面的时候最常见的问题。在显示页面时,经常碰到中文显示乱码;在提交表单信息进入数据库时,经常在数据库里中文为乱码。这里介绍本系统中,中文问题解决的方法:1) 在每个jsp页面开头写2) 在每个表单字段进数据库前,用以下方法进行转码。static public string iso2gb(string str) if
46、 (str != null) byte tmpbyte=null; try tmpbyte=str.getbytes(iso8859_1); catch (unsupportedencodingexception e) system.out.println(e.getmessage(); try str=new string(tmpbyte,gbk); catch(unsupportedencodingexception e) system.out.println(e.getmessage(); return str; 3) 在applicationrperties资源
47、文件中定义的中文信息,一般会在jsp页面中显示乱码。处理方法为:新建一个中文资源文件perties,在里面可以输入要显示的中文信息,然后按“开始运行cmd”在弹出的命令行窗口中,先找到你存中文资源文件的位置,然后输入native2ascii perties applicationrperties,这样就会在同目录下生成一个转码后的applicationrperties,把这个文件覆盖原文件即可。3.4.4表单输入非法字符问题知道,如果表单中的必填项为空或者在表单中输入非法字符,如:单引号,双引号等,很可能会导致插入
48、,修改不成功,抛出异常,严重可导致系统崩溃。所以必须对这一问题进行处理。关于表单中的必填项为空,可以在form的validate方法中定义,如:public actionerrors validate(actionmapping mapping,httpservletrequest request) actionerrors errors=new actionerrors();actionerror nokherror = new actionerror(no.kh.error);if (kh = null| kh.length()1) /kh为表单的必填项errors.add(kh,nokh
49、error);return errors;然后在applicationrperties里写入no.kh.error=卡号不能为空(要用上文方法处理中文问题),然后在jsp页面要显示提示错误的信息处写,这样,如果卡号不填就按提交的话,页面不会跳转,会在同一页面中显示已定义的错误信息。在表单中输入非法字符问题,在本系统中,是用正则表达式解决的。简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。可以在几乎所有的基于unix系统的工具中找到正则表达式的身影,例如,vi编辑器,perl或php脚本语言程序等。此外,象javascript这种客户端的脚本语言也提供了对
50、正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的概念和功能。正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及web页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。 举例来说,正则表达式的一个最为普遍的应用就是用于验证用户表单填入的信息是否正确。如果通过正确,用户所填写的表单信息将会被正常处理;反之,如果与正则表达的模式不匹配,将会做出相应的处理。由此可见,正则表达式在web应用的逻辑判断中具有举足轻重的作用。 下面列举本系统中用到的正则表达式加以说明。1) /0-9/ /匹配数字的正则表达式2) /a-za-z/ /匹配26个英文字母大小写的正则表达式3) /u4e00-u9fa5/ /匹配中文字符的正则表达式然后,只要在需要判断的表单文本框里,加个onkeyup属性就可以了,例如:onkeyup=value=value.replace(/0-9a-za-z/g,),意思就是如果输入了数字和26个大小写字母以外的非法字符,一律把它替换成空。这样用户在填写表单的时候就不可能输入非法字符了。3.4.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年家庭暴力事件离婚法律合同书版
- 维修配件购销合同
- 店长聘用合同
- 2024年南瓜籽仁项目申请报告模范
- 2024年复合微生物肥料项目申请报告模范
- 2024年高速内圆磨床项目立项申请报告模范
- 商业项目综合管理合同样本
- 2024年物业管理聘用合同模板版
- 2024年天津地区施工协议法规指南版
- 2024年办公室装潢协议样本版2
- 湘教版地理1《海洋与人类》
- 注塑部工作流程
- 脊柱外科重点专科中长期发展规划
- 中国通史2综合测试题及答案精编文档
- 客户信用等级评价附件
- 锅炉运行日志表
- 北师大版六年级百分数的认识说课稿
- 高技能人才管理办法
- 2023学年完整公开课版蚂蚁的特征
- 地质放大镜用户使用手册范本
- 广东英语中考必背1600词
评论
0/150
提交评论