列车售票系统的设计与实现

上传人:l**** 文档编号:67487926 上传时间:2022-03-31 格式:DOC 页数:40 大小:1.54MB
收藏 版权申诉 举报 下载
列车售票系统的设计与实现_第1页
第1页 / 共40页
列车售票系统的设计与实现_第2页
第2页 / 共40页
列车售票系统的设计与实现_第3页
第3页 / 共40页
资源描述:

《列车售票系统的设计与实现》由会员分享,可在线阅读,更多相关《列车售票系统的设计与实现(40页珍藏版)》请在装配图网上搜索。

1、. . . . 毕业设计(论文)资料设计(论文)题目: 列车售票系统的设计与实现 35 / 40摘 要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用作为计算机应用的一部分使用计算机对火车信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速查找方便可靠性高存储量大性好寿命长成本低等这些优点能够极提高火车信息管理的效率,也是企业的科学化正规化管理,与世界接轨的重要条件。本文针对火车站的订票实际情况,按照软件工程的结构化设计思想,经过项目的可 行性研究和需求分析,总体设计,详细设计,以与编码实现和调试等步骤设计开发了

2、火 车站网上订票系统。并运用数据流图和数据字典,E-R 图和数据库逻辑结构,层次图, 系统流程图,以与程序流程图,对该系统的数据需求,数据库,系统软件结构,系统流 程,以与处理过程等进行了分析和设计。本系统前台主要使用JSP作为开发语言,后台使用SqlServer作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat,开发出的一个基于Web技术的B/S结构的铁路售票系统。关键词:信息管理,火车售票,JSP,B/S结构ABSTRACTWith the continuous improvement of science and technology, computer scien

3、ce increasingly mature, its powerful features for people to have a profound understanding, it has entered the human society in various fields and play an increasingly important role. As part of the computer application the use of computers to train information management, with a manual management of

4、 the incomparable advantages. For example: the rapid retrieval and search for convenient, high reliability, large storage capacity, confidentiality good, long life and low cost. These advantages can improve the efficiency of the train information management, the enterprise is also a scientific, stan

5、dardized management, and an important condition for the world.Aiming at the train station booking the actual situation, in accordance with a structured software engineering design, after the project can do research and needs analysis, general design, detailed design, coding and debugging steps as we

6、ll as the design and development of fire station online booking system. And use the data flow diagram and data dictionary, E-R diagram and database logical structure, hierarchy diagram, system flow chart, and program flow chart of the system, data requirements, database, system software structure, s

7、ystem flow process, and process is analyzed and design.The front of the system using JSP as a development language, the use of SqlServer as a database management system, the development environment is MyEclipse, server using tomcat, developed a Web technology based on B / S structure of railway tick

8、eting system.Key words: information management, train ticket, JSP, B / S structure目 录摘要IABSTRACTII第一章绪论11.1课题背景11.2目的和意义11.3开发工具与技术11.3.1开发工具11.3.2 JSP21.3.3 JavaScript31.3.4 Struts 2简介31.3.5 Hibernate简介41.4软硬件需求4第二章需求分析52.1需求调研52.2可行性分析52.2.1技术的可行性52.2.2经济的可行性52.2.3操作可行性52.2.4法律的可行性62.3系统用户用例图62.3.

9、1管理员用例图62.4功能模块需求分析62.5设计的基本思想72.6性能需求82.6.1系统的安全性82.6.2数据的完整性82.7界面需求8第三章系统分析与设计103.1数据库的分析与设计103.1.1数据库的概念结构设计103.1.2数据库的逻辑结构设计133.1.3数据库的连接原理153.2中文乱码问题处理16第四章系统功能实现194.1系统登陆页面实现194.2管理员功能模块204.2.1会员信息管理214.2.2车次信息管理224.2.3订单信息管理254.2.4留言信息管理274.2.7修改密码284.2.5退出系统294.3会员功能模块294.3.1我的订单信息294.4前台模块

10、314.4.1首面314.4.2用户注册314.4.3车票预订324.4.4系统留言板功能33第五章系统测试345.1系统测试目的与意义345.2测试过程345.2.1主页面的登录模块测试345.3其他错误35结论36参考文献37致38第一章 绪论1.1课题背景火车站市场的管理和规问题,是困扰我们多年的一个老问题,也是政府管理中的一 个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简单的部分,但是它涉与到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式网上订票,来缓解订票高峰时期的客运压力,并为用

11、户提供方便快捷的订票服务。 1.2目的和意义中国现在拥有非常先进、发达的铁路系统,但目前的售票系统还是上世纪60年代开发的。2003年以后,中国铁路开始加快现代化建设,近几年来中国的铁路售票系统已经逐步走向现代化,订票全路联网,实现了信息化管理。但是铁路历史由来的“老大难”问题售票问题,一直无法得到解决。每年的各大节假日,全国人民总会为买票问题而苦恼,一部分人更是无缘车票。虽然目前的订票,也极方便了旅客,然而最贴近现代化发展水平的还是网上订票项目,国家也积极推进。1.3开发工具与技术1.3.1开发工具此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技

12、术完成,下面对MyEclipse、Tomcat和SqlServer数据库进行简要介绍。1.3.1.1 MyEclipseMyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以与应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备

13、的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。1.3.1.2 Tomcat Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。1.3.1.3 SqlServerSqlServer使用

14、C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,SqlServer提供的功能已经绰绰有余,而且由于SqlServer是开放源码软件,因此可以大大降低总体拥有成本。1.3.2 JSPJSP技术使用Java编程语言编写

15、类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HT

16、ML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。 (3)强

17、大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。部对象说明:request

18、客户端请求,此请求会包含来自GET/POST请求的参数; response网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet正在执行的容;out 用来传送响应的输出流; config代码片段配置对象;pageJSP网页本身; exception针对错误网页,未捕捉的例外1.3.3 JavaScriptJavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScrip

19、t的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。1.3.4 Struts 2简介Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高Java Server Pages

20、、Servlet、标签库以与面向对象的技术水准。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2002年3月成为ASF的顶级项目。它通过采用JavaServletJSP技术,实现了基于Java EEWeb应用的Model-View-ControllerMVC设计模式的应用框架Web Framework,是MVC经典设计模式中的一个经典产品。而Struts2则是Struts的升级版本。它

21、的优点在于: Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程; 使用OGNL进行参数传递; 强大的拦截器; 易于测试; 易于扩展的插件机制; 全局结果与声明式异常。1.3.5 Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用E的J2EE架

22、构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有2个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这2个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。1.4软硬件需求硬件需求:CPU:Pentium以上计算机存: 512M以上软件需求:操作系统版本:Windows XP /vista/Win7开发工具:MyEclipse 6.0.1后台服务器:Apache Tomcat 6.0开发语言:Java浏览器:IE6.0第二章 需求分析2.1需求调研在项目的

23、开始是需求调研,并且走访了火车站和车票代售点,经过一系列的调查与谈话中发现,火车站市场的管理和规问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是火车站业务的一个简 单的部分,但是它涉与到管理与客户服务等多方面,因此,过去传统的售票方式已经不能 满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。2.2可行性分析开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪

24、费。下面就技术、经济、操作和法律四个方面来介绍。2.2.1技术的可行性本系统开发工具是MyEclipse和SqlServer数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了java课程,大四期间也系统的了解了J2EE的知识,铁路售票系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。2.2.2经济的可行性如今是信息化时代,信息化管理可以使车票管理

25、、预订工作更加系统化、快速化、全面化。这样可以为企业带来较高的工作效益和经济效益,本系统对计算机配置的要求不高,企业机房更换下来的低配置电脑都可以完全满足需要,再者,企业在管理工作上的高效率和便捷性远远超过了开发本系统的成本,所以在经济上具有完全的可行性。2.2.3操作可行性本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在技术上不会有很大难度。2.2.4法律的可行性本系统是自行开发的管理系统,

26、是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。综上所述,开发一个电子铁路售票系统与传统售票的方式相比具有速度更快,操作更准确,节省开支等有利之处,因此,建立一个电子铁路售票系统是必要可行的。2.3系统用户用例图2.3.1管理员用例图管理员是系统的核心用户,涉与到四大功能模块,管理员对系统的所有用户有着操作的权限,能够与时动态的掌握车票与订单的各项情况。图2.1 管理员用例图2.4功能模块需求分析本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能:(1)系统具有简洁大方的页面,使用简便

27、,友好的错误操作提示(2)管理员用户具有管理员信息管理、会员信息管理、车次信息管理、订单信息管理、公告管理、留言信息管理等功能(3)具有较强的安全性,避免用户的恶意操作管理员功能模块图说明:管理员是功能最多的一种用户角色。(1)管理员管理模块:在该模块中完成管理员信息管理功能。管理员信息管理提供系统管理员的查询,增加和删除等功能操作。(2)会员信息管理模块:在该模块中定义了注册会员信息的管理,其功能包括会员信息的查询、删除等操作。(3)车次信息管理模块:在该模块中定义了对车次信息的管理,其功能包括车次信息录入、查询、删除等操作。(4)订单信息管理模块:在该模块中定义了对订单信息的管理,其功能包

28、括订单信息查询、受理、删除等操作。(5)公告信息管理模块:在该模块中定义了对系统公告信息的管理,其功能包括公告信息添加、查询、删除等操作。(6)留言信息管理模块:在该模块中定义了对留言信息的管理,其功能包括留言信息查询、删除等操作。管理员用户功能模块图如下。图2.2 管理员用户功能模块图2.5设计的基本思想设计思想遵循以下几点:1. 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。2. 采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。3. 采用模块化设

29、计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。4. 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。5速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。6设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。2.6性能需求2.6.1系统的安全性铁路售票系统在管理权限上要严格进行控制,具体要求如下:想登录铁路售票系统后台进行操作,必须有操作权限,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全

30、性;要在前台提交订单等信息,必须先进行注册,未注册的用户不能进行任何操作。2.6.2数据的完整性1.各种记录信息的完整性,信息记录容不能为空2.各种数据间相互联系的正确性3.一样数据在不同记录中的一致性2.7界面需求界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于 的应用程序。 创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。1.输出设计输出是由计算机对输入的原始信息进行加

31、工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确与时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。2.输入设计输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好

32、坏是具有决定性意义的。输入设计的原则有如下几点:1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。2)输入的准备与输入过程应尽量容易进行,从而减少错误的发生。3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误与时得到更正。4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误第三章 系统分析与设计3.1数据库的分析与设计计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工

33、、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。3.1.1数据库的概念结构设计概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。数据库的概念结构设计采用实体联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉与的事物,属性则是对实体特性的描述。概念设计的目标是产生反映企业组织信息

34、要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,根据以上对数据库的需求分析,并结合系统概念模型的特点与建立方法,建立E-R模型图。实体间关系属性实体(1)会员信息实体E-R图如图3.1所示:图3.1 会员信息实体E-R图(2)车次信息实体E-R图如图3.2所示图3.2 车次信息实体E-R图(3)订单信息E-R图如图3.3所示图3.3 订单信息实体E-R图(4)公告信息E-R图如图3.4所示图3.4 公告信息实体E-R图(5)留言信息E-R图如图3.5所示图3.5 留言信息实体E-R图(4)管理员信息E-R图如图3.6所示图3.

35、6 管理员信息实体E-R图3.1.2数据库的逻辑结构设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:*每一个实体要转换成一个关系*所有的主键必须定义非空(NOT NULL)*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。根据E-R模型,铁路售票系统建立了以下逻辑数据结构,下面是各数据表的详细说明。(1)会员信息表主要是记录了会员基本信息。表结构如表3.1所示。表3.1会员信息表(t_user)列名数据类型长度允许空是否主键说

36、明user_idint4否是 编号user_namevarchar50否否 登录名user_pwvarchar50否否 密码user_typevarchar50否否 会员类型user_realnamevarchar50否否真实user_addressvarchar50否否住址user_sexvarchar50否否性别user_telvarchar50否否联系user_emailvarchar50否否user_ varchar20否否(2)车次信息表主要是记录了车次的基本信息,表结构如图3.2所示。表3.2车次信息表(t_checi)列名数据类型长度允许空是否主键说明idInt4否是编号luxi

37、anInt4否否路线名称piaoshijianvarchar50否否车票时间startshijianvarchar50否否发车时间endshijianvarchar50否否到达时间piaojiavarchar50否否票价piaoshuvarchar50否否票数(3)订单信息表主要是记录订单的基本信息,表结构如图3.3所示。表3.3订单信息表(t_yuding)列名数据类型长度允许空是否主键说明idInt4否是编号user_idInt4否否会员IDcheci_idInt4否否车次IDyuding_shumuvarchar50否否预订数目yuding_jinevarchar50否否预订金额zhif

38、ufangshivarchar50否否支付方式yuding_shijianvarchar50否否预订时间yuding_zhuantaivarchar50否否预订状态(4)公告信息表主要是记录了公告的基本信息,表结构如图3.4所示。表3.4公告信息表(t_gonggao)列名数据类型长度允许空是否主键说明idint4否是编号titlevarchar50否否标题contentvarchar5000否否容shijianvarchar50否否发布时间(5)留言信息表主要是记录了留言的基本信息,表结构如图3.5所示。表3.5留言信息表(t_liuyan)列名数据类型长度允许空是否主键说明idint4否是

39、编号titlevarchar50否否标题contentvarchar5000否否容shijianvarchar50否否发布时间user_idVarchar50否否发布人(6)管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结构如表3.6所示。表3.6管理员信息表(t_admin)列名数据类型长度允许空是否主键说明userIdint4否是编号userNamevarchar50否否用户名userPwvarchar50否否密码3.1.3数据库的连接原理本系统采用Hibernate对数据库进行管理。Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封

40、装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用 Hibernate QL 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本 Hibernate 可以和多种Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。Hibernate 技术本质上是一个提供数据库服务的中间件。它的架构如图3

41、.5所示:图3.5Hibernatre架构图图3.5显示了 Hibernate 的工作原理,它是利用数据库以与其他一些配置文件如 Hibernate .properties ,XML Mapping 等来为应用程序提供数据持久化服务的。 Hibernate 具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供 JDBC 连接,并且自行管理事务,这种方式使用了 Hibernate 的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的 JDBC/JTA API 都被抽象了,Hibernate 会替你照管所有的细节。 3.2中文乱码问题处理在

42、程序中经常会遇到中文乱码的情况,如果手动的在servlet和jsp页面进行设置,相当麻烦。因此,在程序的开始就写了一个过滤器SetCharacterEncodingFilter。在web.xml中配置:SetCharacterEncodingFiltermyweb.util.filter.SetCharacterEncodingFilterencodinggb2312SetCharacterEncodingFilter/*/*表示工程下所有的页面都会有此过滤器的处理对应的SetCharacterEncodingFilter.java文件中的重要代码,在初始化init()方法中定义:public

43、void init(FilterConfig filterConfig) throws ServletException this.filterConfig = filterConfig;this.encoding = filterConfig.getInitParameter(encoding); String value = filterConfig.getInitParameter(ignore); 在工具包util包中同样定义了DataFormate类来处理字符转换:publicstatic String toUni(String gbStr) String uniStr = ; /*

44、把字符串转换成uincode编码*/if(gbStr = null) gbStr = ; trybyte tempByte = gbStr.getBytes(GB2312); uniStr = new String(tempByte,ISO8859_1); catch(Exception ex) return uniStr; /*把字符串转换成Utf8编码*/publicstatic String toUtf8String(String s) StringBuffer sb = new StringBuffer();for (int i = 0; i = 0 & c = 255) sb.app

45、end(c); else byte b;try b = Character.toString(c).getBytes(utf-8); catch (Exception ex) System.out.println(ex); b = newbyte0; for (int j = 0; j b.length; j+) int k = bj;if (k 0) k += 256; sb.append(% + Integer.toHexString(k). toUpperCase(); return sb.toString(); 第四章 系统功能实现在管理信息系统的生命周期中,经过了需求分析、系统设计等

46、阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。4.1系统登陆页面实现1.描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。2.程序运行效果图如图4.1所示:图4.1 系统登陆页面设计3.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:publ

47、ic String login(String userName,String userPw,int userType)String result=no;String sql=from TAdmin where userName=? and userPw=?;Object con=userName,userPw;List adminList=adminDAO.getHibernateTemplate().find(sql,con);if(adminList.size()=0)result=no;else WebContext ctx = WebContextFactory.get(); Sess

48、ion session=ctx.getSession(); TAdmin admin=(TAdmin)adminList.get(0); session.setAttribute(userType, 0); session.setAttribute(admin, admin);result=yes;returnresult;4.2管理员功能模块1.描述:系统主页面:左方页面展示了管理员可操作的六大功能,进入相关的管理页面可以到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。2.程序运行效果图如图4.2所示:图4.2管理员主页面在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全

49、性,防止用户不经过登陆页面而进入任何子菜单页面:if(session.getAttribute(user)=null) out.print(alert(请先登录!);window.open(./index.jsp,_self); 图4.5管理员信息删除4.2.1会员信息管理4.2.1.1会员信息管理1.描述:管理员点击左侧的菜单“会员信息管理”,页面跳转到会员信息管理界面,调用后台的action类查询出所有的会员信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出会员信息。2.程序效果图如下图4.6所示图4.6 会员信息管理会员管理关键代码:

50、public String userMana()List userList=userDAO.findAll();Map request=(Map)ServletActionContext.getContext().get(request);request.put(userList, userList);return ActionSupport.SUCCESS;public String userDel()userDAO.delete(userDAO.findById(userId);this.setMessage(删除成功);this.setPath(userMana.action);retu

51、rnsucceed;4.2.1.2会员信息删除1.描述:先是点击会员管理,页面跳转到会员管理界面,浏览所有的会员信息,点击要删除的会员信息,弹出的确定对话框,即可删除该会员信息。2.程序效果图如图4.7所示:图4.7 会员信息删除4.2.2车次信息管理4.2.2.1查询车次信息1.描述:管理员点击左侧的菜单“车次信息管理”,页面跳转到车次信息管理界面,调用后台的action类查询出所有的车次信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出车次信息。2.程序效果图如图4.8所示:图4.8 查询车次信息车次信息管理关键代码:public St

52、ring checiAdd() TCheci checi=new TCheci(); checi.setLuxian(luxian); checi.setPiaoshijian(piaoshijian); checi.setStartshijian(startshijian); checi.setEndshijian(endshijian); checi.setPiaojia(piaojia); checi.setPiaoshu(piaoshu); checi.setDel(no);checiDAO.save(checi);this.setMessage(操作成功);this.setPath(

53、checiMana.action);returnsucceed; public String checiMana() String sql=from TCheci where del=no order by piaoshijian; List checiList=checiDAO.getHibernateTemplate().find(sql); Map request=(Map)ServletActionContext.getContext().get(request); request.put(checiList, checiList);return ActionSupport.SUCCE

54、SS; public String checiDel() TCheci checi=checiDAO.findById(checiId); checi.setDel(yes);checiDAO.attachDirty(checi);this.setMessage(操作成功);this.setPath(checiMana.action);returnsucceed; public String checiEdit() TCheci checi=checiDAO.findById(checiId); checi.setLuxian(luxian); checi.setPiaoshijian(pia

55、oshijian); checi.setStartshijian(startshijian); checi.setEndshijian(endshijian); checi.setPiaojia(piaojia); checi.setPiaoshu(piaoshu);checiDAO.attachDirty(checi);this.setMessage(操作成功);this.setPath(checiMana.action);returnsucceed; 4.2.2.2添加车次信息1.描述:管理员输入车次相关正确信息后点击录入按钮,如果是没有输入完整的车次信息,都会给出相应的错误提示,不能录入

56、成功。输入数据都通过form表单中定义的方法onsubmit=return checkForm()来检查,checkForm()函数中是各种的校验输入数据的方式。2.程序效果图如图4.9所示:图4.9 添加车次信息4.2.2.3修改车次信息1.描述:先是点击车次信息管理,页面跳转到车次信息管理界面,浏览所有的车次信息,点击要修改的车次信息,跳转到车次信息修改页面修改该条车次信息。2.程序效果图如下图4.10所示图4.10 修改车次信息4.2.3订单信息管理4.2.3.1订单信息管理1.描述:管理员点击左侧的菜单“订单信息管理”,页面跳转到订单信息管理界面,调用后台的action类查询出所有的订

57、单信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出订单信息。2.程序效果图如下图4.12所示图4.12 订单信息管理订单管理关键代码:public String yudingMana() String sql=from TYuding where yudingZhuantai !=2; List yudingList=yudingDAO.getHibernateTemplate().find(sql); Map request=(Map)ServletActionContext.getContext().get(request); request.put(yudingList, yudingList);return ActionSupport.SUCCESS;public String yudingDel()TYuding yuding=yudingDAO.findById(yudingId);yuding.setYudingZhuantai(2);yudingDAO.attachDirty(yuding);this.setMessage(操作成功);this.setPath(yudingMana.action);returns

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!