基于TRS应用系统毕业论文

上传人:be****l 文档编号:76508798 上传时间:2022-04-18 格式:DOC 页数:74 大小:2.05MB
返回 下载 相关 举报
基于TRS应用系统毕业论文_第1页
第1页 / 共74页
基于TRS应用系统毕业论文_第2页
第2页 / 共74页
基于TRS应用系统毕业论文_第3页
第3页 / 共74页
点击查看更多>>
资源描述
摘要TRS全文检索数据库是对大量机器数据进行处理的关系型数据库.在TRS全文检索数据库中最重要的依据是通过分词系统对文章全文分词产生的关键词,因此需要对关键词进行管理。目前在非机构数据处理领域TRS海量非结构化处理处于领先地位。该管理系统主要基于TRS全文检索数据库。首先,通过TRS数据库提供的java程序接口取得数据库连接,在取得TRSConnection之后获取TRSResultSet,在结果集中取得所需要的容。该系统是基于Struts2框架的航班信息管理系统,该系统采用java语言编写,基于MVC设计模式。主要采用了Jquery、Javascript、Ajax、Json、TRSBean、Div+CSS、Flying CSS技术。主要对Jquery的jsp页面开发进行了实践研究。页面的动画效果、数据表格的异步刷新都是WEB项目开发的核心技术。该系统页面功能基于Jquery-easyui.min.js,后台程序基于TRS全文检索数据库的TRSBean.jar。关键词:检索、Jquery、WEB、分词、词条AbstractTRS fulltext retrieval database is a relational database for large machine data processing. The most import reason in the TRS fulltext retrieval database is based on the key words which is given by the word segmentation system. At present, TRS Vast amounts of unstructured information processing takes the leading position of the vast amounts of unstructured information processing area.The system is based on the TRS text Retirval System database. firstly,getting the connection with the database by the java application interface provided by the TRS database. then,getting the TRSResultSet by the TRSConnection. At last, getting the information that is needed according to the TRSResultSet .This System is base on Struts2 named Flight information management system, and using java langugage to complete, this system is designed by MVC.There are many latest technology used in this system,such as:Jquery, javascript, ajax, Json, TRSBean, div+css, flying css. This study is mainly about Jquerys JSP page development practice.Animation of the page,data tables asynchronous refresh are the core of the web project development.The system page is based on Jquery-easyui-min.js,the background program is based on TRSBean.jar.Keywords: retrieve , Jquery, WEB, participles, entry目录1. 绪论11.1研究背景11.2研究开发现状分析11.3 主要研究容21.4本文的组织结构32. 相关技术和工具综述42.1 struts242.2 Jquery42.3 Json53. 需求分析73.1 业务分析73.2系统功能分析113.3系统非功能分析144. 系统设计164.1系统总体架构设计164.2 系统静态结构设计174.3 业务用例的实现194.4 数据库设计194.5类的详细设计245.系统实现325.1系统物理结构325.2系统物理部署335.3主要类的实现335.4系统主要功能实现505.5 实现中遇到的问题和解决方法576. 总结与展望58参考文献61致62附录一 英文原文63附录二 中文翻译6669 / 741. 绪论1.1研究背景1.1.1项目来源该项目来源于TRS全文检索的需求。项目分为词典管理、模拟航班信息管理两部分。在TRS全文检索的时候需要对文件进行分词处理,分词最后汇总到数据词典1,全文检索就是根据数据词典的分词来进行检索的,词典中包括keyword和synonyms两个元素。该项目就是对词典的一个管理和模拟航班的管理。1.1.2系统开发的目的和意义该系统用于对TRS全文检索数据库2的词典进行管理。提供对词典的keyword和synonyms两项进行管理。该系统提供对词典里各项进行操作包括:词条修改,增加新词(词条的keyword不能为空,synonyms可以为空),删除词条,对词条进行展示。航班运作会产生一些跟踪数据信息。比如某一型号的航班要从某一地方飞往某地,某一型号的航班由以前的拥有者转手到下一拥有者,航班的飞行信息、故障信息在管理中心都需要记录信息从而产生数据,这些数据都需要管理存档。这些数据存入TRS全文检索数据库,系统对这些信息进行展示,查阅,修改,校对。1.2研究开发现状分析该系统为B/S模式的程序。使用jquery技术、ajax技术、数据采用json传递。数据库采用TRS全文检索数据库TRS server6.0。随着计算机产业的发展,以计算机存储设备为载体的电子信息愈来愈多,这些信息大致可分为两类:结构化数据和非结构化数据,结构化数据指的是诸如企业财务帐目和生产数据、学生的分数数据等等,非结构化数据的则是一些文本数据、图象声音等多媒体数据等等。根据统计,非结构化数据占有整个信息量的80%以上。Web应用开发已经非常的普遍,总体设计都是B/S结构,采用MVC的设计模式。浏览器作为系统的客户端,用户只需在浏览器输入地址就能发送请求给服务器。项目需要部署在web容器中,主流web容器WebLogic、WebSphere、apache-tomcat,这三种容器的使用都非常普遍,其中在商业用途中webSphere和weblogic都得到了普遍的使用,apache-tomcat是apache基金组织提供的免费web容器,因此在中小型项目中都使用tomcat容器,本项目也采用tomcat6.0。该项目是航班信息管理系统的一个子项目,目前有很多类似的开发项目,因此,目前来讲该项目在总体技术上不存在不可实现技术的因素,采用常用的Struts2框架和Jquery、Json、ajax4技术就可以实现。在界面上目前很普遍采用了Jquery-easyui-min.js的javascript技术,这样较容易实现对div+css的控制技术,较容易实现比较人性化的界面。Flying Css是比较新的Jquery插件,该项目采用了该技术。1.3 主要研究容该系统用于对TRS全文检索数据库的词典进行管理以与模拟航班信息管理。提供对词典的keyword和synonyms两项进行管理。该系统提供对词典里各项进行操作包括:词条修改,增加新词(词条的keyword不能为空,synonyms可以为空),删除词条,对词条进行浏览。航班运作会产生一些跟踪数据信息。比如某一型号的航班要从某一地方飞往某地,某一型号的航班由以前的拥有者转手到下一拥有者,航班的飞行信息、故障信息在管理中心都需要记录信息从而产生数据,这些数据都需要管理存档。对这些信息要进行浏览、查阅。主要运用技术:struts2、Jquery、Ajax、CSS、Json、Java方 法:采用MVC设计模式开发环境与工具:Eclipse、TRS全文检索数据库、Firefox、UML、tomcat1.4本文的组织结构第一章介绍系统的需求分析部分,主要介绍系统的主要研究类容,具体阐述系统的功能行为。第二章介绍系统开发环境和主要开发技术,具体得介绍了Eclipse编译器、apache-tomcat web容器、trs数据库用户接口、Jquery、ajax 、json 、struts2开发技术。第三章是需求分析部分,主要的业务分析、系统功能分析、系统非功能分析。第四章主要论述系统设计部分,包括系统系统总体架构设计、系统静态结构设计、业务用例的实现、数据库设计、类的详细设计 。第五章主要论述系统物理结构包括系统物理部署、主要类实现、系统主要功能实现、实现中遇到的问题和解决方法。第六章是总结与展望 。2. 相关技术和工具综述2.1 struts2项目核心技术:struts2、Jquery、Ajax、Json,Struts 2是Struts的下一代产品,是在 Struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。其全新的Struts2的体系结构与Struts 1的体系结构差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开7,所以Struts2可以理解为WebWork的更新产品。虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。当Web容器收到 请求它将请求传递给一个标准的的过滤链包括过滤器,然后经过Other filters,接下来需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求那个Action,ActionMapper返回收集Action详细信息的ActionMaping对象。接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器从配置文件中读取配置信息,然后创建ActionInvocation对象,ActionInvocation在调用Action7之前会依次的调用所用配置拦截器(Interceptor N)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result ,Result会调用一些模版(JSP)来呈现页面,之后拦截器(Interceptor N)会在被执行(顺序和Action执行之前相反)最后响应( ServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)。2.2 JqueryJquery是继prototype之后又一个优秀的Javascript框架5。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+,FF 1.5+,Safari 2.0+,Opera 9.0+),jQuery2.0与后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html容分离5,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。2.3 JsonJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C+, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串9,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript很容易解释它,而且 JSON 可以表示比名称 / 值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。(1) 名称 / 值对按照最简单的形式,可以用下面这样的 JSON 表示名称 / 值对 firstName: Brett 这个示例比较基本,而且实际上比等效的纯文本名称 / 值对占用更多的空间,但是,当将多个名称 / 值对串在一起时,JSON 就会体现出它的价值。首先,可以创建包含多个名称 / 值对的 记录,比如: firstName: Brett, lastName:McLaughlin, email: aaaa 从语法方面来看,这与名称 / 值对相比并没有很大的优势,但是在这种情况下JSON 更容易使用,而且可读性更好9。例如,它明确地表示以上三个值都是同一记录的一部分;花括号使这些值有了某种联系。(2) 表示数组当需要表示一组值时,JSON 不但能够提高可读性,而且可以减少复杂性。例如,假设您希望表示一个人名列表。在XML中,需要许多开始标记和结束标记;如果使用典型的名称 / 值对(就像在本系列前面文章中看到的那种名称 / 值对),那么必须建立一种专有的数据格式,或者将键名称修改为 person1-firstName这样的形式。如果使用JSON,就只需将多个带花括号的记录分组在一起: people: firstName: Brett, lastName:McLaughlin, email: aaaa , firstName: Jason, lastName:Hunter, email: bbbb, firstName: Elliotte, lastName:Harold, email: cccc 3. 需求分析3.1 业务分析3.1.1 业务围主要业务包括用户登录、用户退出、词典管理、模拟航班管理。管理员登录进入系统之后,用户在主页面左边freamset中选择词典管理服务项目进行词条管理,可以进行增加、修改、删除管理。当用户选择模拟航班管理时,用户能查看航班所有者信息,对航班型号信息浏览同时能根据简要经过的信息对航班型号进行校正,用户还能对记录的重复记录进行浏览,重复记录是指不同编号记录的相关联的同一事件。图 3.1.1系统业务用例3.1.2 业务领域业务逻辑用到5个实体类分别是:JsonC、User、JsonVO、CivilBean、AirDict其中JsonC和JsonVO分别存放的是词条和航班信息的链表数据,是对Json格式数据的封装。JsonC依赖于CivilBean,JsonVO依赖于AirDict,User是用户表的实体类。用户登录时需要使用该类。另外还有3个接口:DictDao、CivilOperate、DictOperate 。DictDaoImp是DictDao的实现类,CivilOperateImp是CivilOperate的实现类,DictOperateImp是DictOperateImp的实现类。图 3.1.2.1业务领域模型 CivilBean是航班信息的实体类,AirDict是词条信息的实体类。GetCivilList是一个Action类,继承至ActionSupport类,该类主要是对CivilBean实体类的操作,GetDictList同样是继承自ActionSupport的一个Action类,是struts2框架的业务逻辑的核心类,GetDictList对AirDict对象操作,并与后台数据库连接,进行数据读取、修改、删除操作。 图 3.1.2.2 业务领域模型3.1.3 核心业务流程项目开始运行,用户输入用户名、密码如果没有通过验证则返回到用户登录界面,接受下一次登录。通过验证用户选择业务,如果选择词典管理,用户可以进行词条的浏览、增加、删除、修改管理,如果用户选择航班信息管理,用户能对航班所有者的信息进行对比浏览,航班型号浏览并通过简要经过对航班型号进行校正,在重复记录中浏览同一事件的信息。图3.1.3 核心业务流程3.2系统功能分析3.2.1 系统用例图该系统为管理员提供系统登陆、退出、词条管理、航班信息管理功能,用户登录需要用户名、密码,登陆失败回到系统登陆界面。词条管理提供keyword的浏览、增加、修改、删除功能。航班信息管理提供航班信息的重复记录浏览,机型所有者管理,信息校对,航班机型浏览。图3.2.1 系统用例图3.2.2 主要用例的用例规约a)登陆用例名称:登陆判断参与的执行者:管理员前置条件:一个合法的用户输入了登陆信息事件流:1. 管理员输入用户名、密码点击登陆用况开始2. 如果用户名或密码不正确则返回登陆界面3. 如果用户名和密码与数据库匹配a)登陆状态为为登陆状态则跳转到主页面b)登陆状态为未登陆状态跳转到登陆页面b)词典管理用例名称:添加词条参与的执行者:管理员前置条件:管理员合法登陆进入系统事件流:1.用户点击表格上Add按钮2.输入keyword和synonyms并点击确定a) Keyword为空提示错误b) Keyword不为空正确添加用例名称:修改词条参与的执行者:管理员前置条件:管理员合法登陆进入系统事件流:1. 用户在界面选中要修改的词条点击Edit按钮2. 将原keyword与synonyms传到修改页面3. 输入新的keyword与synonyms点击确定按钮a) Keyword不为空修改成功b)Keyword为空修改失败。用例名称:修改词条参与的执行者:管理员前置条件:管理员合法登陆进入系统事件流:1. 用户选中要删除的词条点击remove按钮2. 删除选中词条并刷新界面显示删除后的词条列表c) 模拟航班管理用例名称:航班所有者对比参与的执行者:管理员前置条件:管理人员合法登陆进入系统事件流:1. 用户点击主页面左侧按钮进入航班所有者对比页面2. 浏览页面用例名称:航班型号对比参与执行者:管理员前置条件:管理员合法登陆事件流:1. 用户点击航班型号对比按钮进入管理页面2. 用户点页面击右上角开始较正按钮3. 在对应的型号未知输入较正的航班型号4. 点击确认完成保存用例名称:重复记录参与执行者:管理员前置条件:管理员合法登陆事件流:1. 用户点击重复记录按钮进入管理页面2. 用户点击重复记录的id3. 弹出重复记录的列表3.3系统非功能分析3.3.1运行环境(1) 操作系统:该系统运行在Windows2003系统与以上。(2) 编译器:使用eclipse-jee-juno-SR2-win32编译器。(3) Web容器:使用apache-tomcat 6.0与以上版本。(4) 浏览器:该系统兼容IE浏览器、Firefox、chrome、360浏览器。3.3.2主要性能系统所有输入框都有对信息做验证处理,当用户在不能为空的输入框填空字符时系统会提示用户“不能为空!”的信息。在数据查询部分,航班信息有超过万条记录,从数据库读取符合查询条件的记录有几千条,页面等待时间在用户可接受围。分页实现是从TRSResult结果集中取得,因此具有很快的反应速度。页面的数据提交反应时间在用户接受围。3.3.3 质量体系(1)可靠性:系统登陆是在用户名和密码输入框中输入各种类型的字符,程序都为出现Bug,只有用户输入合法的用户名和匹配的密码才能进入系统。在进入系统主界面之后,用户选择业务围在浏览业务中未出现访问异常。在用户提交业务中对不能为空的控件都加入了验证函数,对不合法的数据不予以提交并提示用户。在程序运行过程中apache-tomcat 6.0 有出现过异常,这是因为在配置的时候为导入需要的jar包,在导入jar包之后,能正常运行,未出现异常、错误。(2)可用性:系统在用户登录、信息修改的数据提交之前对用户数据做验证,对于合法数据进行业务逻辑检查,对于不合法数据给用户做出提示。(3)安全性:系统使用需要合法的用户账户登录才能进行业务操作,用户登录需要将用户输入数据提交到后处理,从数据库中的user表查询到用户输入的用户名然后在看该用户名的密码是否与输入的密码一致,如果一致才允许用户登录,否则提示用户用户名和密码不合法需要重新输入。在页面传递数据时,统一采用UTF-8的数据格式,在server.xml中设置PageEncoding为UTF-8格式避免乱码造成数据错误。4. 系统设计4.1系统总体架构设计图 4.1顺序图用户打开浏览器,在地址栏输入请求地址,会向apache tomcat容器发送页面请求,web容器读取请求之后会读取web.xml,读取配置文件之后会请求相应的strcuts2,然后读取strcts.xml配置文件,根据配置容寻找相应的action并请求相应方法,用户提交的页面向action传递需要的参数,method根据参数在TRS全文检索数据库中读取符合检索条件的信息,进行增删改查的业务处理,从数据库取得数据之后返回给action对应的方法,通过action读取strcts.xml中的result找到目标页面,将数据返回给相应的控件,显示在页面中。该系统采用MVC模式设计的一个B/S模式的系统。系统分为Model+View+Controler 三层结构。4.2 系统静态结构设计在系统类的设计中有5个实体类,它们分别是:JsonC、User、JsonVO、CivilBean、AirDict其中JsonC和JsonVO分别存放的是词条和航班信息的链表数据,是对Json格式数据的封装。JsonC依赖于CivilBean,JsonVO依赖于AirDict,User是用户表的实体类。用户登录时需要使用该类。另外还有3个接口:DictDao、CivilOperate、DictOperate 。DictDaoImp是DictDao的实现类,CivilOperateImp是CivilOperate的实现类,DictOperateImp是DictOperateImp的实现类。图 4.2.1类图1核心实体类是CivilBean、AirDict,核心业务逻辑类是GetCivilList、GetDictList。GetCivilList是一个Action类,继承至ActionSupport类,该类主要是对CivilBean实体类的操作,GetDictList同样是继承自ActionSupport的一个Action类,是struts2框架的业务逻辑的核心类,GetDictList对AirDict对象操作,并与后台数据库连接,进行数据读取、修改、删除操作。 图 4.2.2 类图24.3 业务用例的实现图 4.3 顺序图用户登录系统,发送客户端向服务器短发送请求,webserver 读取web.xml文件寻找相应的struts.xml配置,取得数据库连接,在后台进行数据操作进行增删改查的业务操作,将取得结果返回给页面,在页面显示。4.4 数据库设计4.4.1 逻辑结构设计实体类包括:CivilBean、AirDict、User、JsonVO、JsonC。CivilBean:航班信息实体类主要属性包括id 记录号,title 标题,summary 简要经过,owner 航班使用单位,ownernew 航班新的使用单位,spacecrafttype 航班的机型,spatypenew 航班的新机型,spaceID 航班的ID,repeatID 重复记录ID ,idnew 用于校正机型的ID。JsonC:依赖于CivilBean 实体,是继承Json数据格式,total 记录条数、rows 存放记录的链表包含符合查询条件的所有CivilBean对象,这些对象构成一个链表,以Json的数据格式存放在JsonC对象的rows中。AirDict:词条实体类包括id 词条编号用于唯一标示一条记录,keyword 关键词,synonyms 关键词的同义词 。JsonVO:依赖于AirDict实体,是继承Json数据格式,total 记录条数、rows 存放记录的链表包含符合查询条件的所有AirDict对象,这些对象构成一个链表,以Json的数据格式存放在JsonVO对象的rows中。User:用户类包括username 用户名、password 密码、status 用户登陆状态。4.4.2 物理设计系统采用数据库为TRS全文检索数据库,数据库为提供了java应用程序开发接口。该数据库中数据类型与一般关系型数据库不同,其中独有的数据类型包括:1、 PHASE 短语型字段2、 DOCUMENT 全文型字段3、 BIT 二进制型字段以下是基于TRS全文检索数据库的数据表:(1) 数据表名:air_dw_dict该表存储的数据是航空公司的公司名字,sysnonyms是航空公司的简称,用于航空信息的检索使用。字段名称数据类型说明idnumber记录ID唯一标示一条记录keywordchar词条关键字,用户操作的主要对象Synonymschar 与关键字等价的同义词(2) 数据表名:air_jx_dict该表存储数据是航班的机型信息,用于对航班的机型信息检索。字段名称数据类型说明idnumber记录ID唯一标示一条记录keywordchar词条关键字,用户操作的主要对象Synonymschar 与关键字等价的同义词(3) 数据表名:air_keyword_dict该表用于存储专业术语。字段名称数据类型说明idnumber记录ID唯一标示一条记录keywordchar词条关键字,用户操作的主要对象Synonymschar 与关键字等价的同义词(4) 数据表名:minhang2该表用于存储航班信息,记录了航班的所有者、机型、型号、飞行信息、简要经过、重复记录信息等。字段名称数据类型说明idnumber唯一标示一条记录titledocument航班信息标题summarydocument描述航班记录的信息的简要经过ownerchar航班使用单位ownernewchar航班新的使用单位spacecrafttypephrase航班机型spatypenewphrase航班新机型spaceIDchar航班编号repeatIDchar重复记录IDidnewchar校正航班机型时用的ID(5) 数据表名:sys_user该表用于存储用户信息,在用于登录、退出系统时使用。字段名称数据类型说明idnumber唯一标示一条记录usernamechar用户名用于登录passwordchar用户密码statusnumber用户状态用不同数值表识0用户未登录切状态正常1用户正常登录2用户已登录3用户名和密码异常,用户名不正确或者密码不正确,或者用户名和密码不符合4.4.3 数据访问设计 数据访问首先创建一个数据库连接TRSConnection,获取连接之后根据操作条件获取TRSResult。检索是调用TRSResult部的executeSelect函数实现数据查询检索。查询符合一定条件的对象后放入链表中存储,通过Json数据格式传给页面。在数据插入时调用TRSResult部的executeInsert函数,更新时调用executeUpdate函数、删除调用executeDelete函数,将以上的增删改查功能函数封装成DictDao类中,在数据访问的时候只需要构造一个DictDao对象就能实现数据访问函数的调用功能。 4.5类的详细设计(1)用户类类 名User 变 量Username 用户名 password 密码 status 用户状态 0用户未登录,1成功登录,2用户已登录,3用户名或密码不正确方 法String getUsername( ) Void setUsername(String) Void setPassword( String ) String getPassword( )Int getStatus( ) Void setStatus(int ) Javabean实体类主要有两类方法:1) void setXX(String) 返回值为空,参数为string2) String getXX( ) 返回值为String ,参数为空(2)词典词条实体类类 名AirDict 变 量Id 唯一标示一个实体对象keywords 关键词条synonyms 同义词方 法Void setId(String) String getId( ) Void setKeywords(String) String getKeywords( ) Void setSynonyms(String ) String getSynonyms( ) Javabean实体类主要有两类方法:1)void setXX(String) 返回值为空,参数为string2)String getXX( ) 返回值为String ,参数为空(3) 航班实体类类 名CivilBean变 量Id 记录唯一标示title 航班信息标题summary 航班信息简要经过Owner 航班所有者Ownernew 航班最新所有者Spacecrafttype 航班型号Spatypenew 航班新的型号spaceID 航班IDrepeatID 重复记录的IDidnew 校对信息ID方 法Void setId(String )String getId( )Void setSummary(String )String getSummary()Void setOwner(String)String getOwner( )Void setOwnernew(String)String getOwnernew( )Void setSpacecrafttype(String)String getSpacecrafttype( )Void setSpatynew(String)String getSpatynew( )Void setSpaceID( String)String getSpaceID( )Void setIdnew(String)String getIdnew( ) Javabean实体类主要有两类方法:1)void setXX(String) 返回值为空,参数为string2)String getXX( ) 返回值为String ,参数为空(4) Json封装实体类类 名JsonC变 量total 记录总数rows 存储实体类(CivilBean)的链表 方 法Void setTotal(int )Int getTotal()Void setRows(List) 返回值为空,参数是存放CivilBean对象的链表List getRows( ) 返回值为CivilBean对象的链表,参数为空(5)Json封装实体类(AirDict)类 名JsonVO变 量total 记录总数rows 存储实体类(AirDict)的链表 方 法Void setTotal(int )Int getTotal( ),Void setRows(List)返回值为空,参数是存放AirDict对象的链表List getRows( )返回值为AirDict对象的链表,参数为空(6) 数据库连接类 名DictDao变 量Conn TRSConnection 数据连接对象Rs TRSResultSet对象数据结果集方 法TRSConnection getConn(String,String,String,String) 取得数据库连接对象,连接成功返回连接TRSResultSet getRs() 取得连接的结果集返回TRSResultSet对象(7) 词典管理数据操作类类 名DictOperate变 量DictDao 词典数据操作Dao对象Conn TRSConnection对象RS TRSResultSet 数据结果集主要方法Boolean getConn( ) 取得与数据库的成功返回true否则放 回falseInt gettotal(String) 根据String参数查询出符合记录的数量Int loading (String username ,String pwd) username表示用户名,pwd表 示密码,根据用户名和密码查询数据库,如果用户的status为 0则成功登陆,返回1,否则返回2表示用户已经登录了,如 果用户名和密码不匹配则返回3。List getDictList(String dictname,int beg,int end) 从dictname表中的结果集TRSResultSet中取得beg到end的记 录,将符合条件对象放入链表中返回。void updateDict(String strName,String strOwner,String strValues,String strWhere) 更新记录:更新strName表中的strWhere处的记录,将指定字段的值更改为strValues。void insertDict(String strName, String strOwner, String strValues) 插入记录:在strName表中插入指定字段值为strValues 的记录。void deleteDict(String strName, String strOwner, String strWhere, boolean bFastEnable) 删除记录:将表名为strName的表中指定字段为strWhere 处的记录删除。Void Daoclose() 关闭数据库连接:完成数据访问之后关闭TRSConnection。 (8) 航班信息管理数据操作类类 名CivilOperate变 量DictDao 词典数据操作Dao对象Conn TRSConnection对象RS TRSResultSet 数据结果集主要方法Boolean getConn( ) 取得与数据库的成功返回true否则放 回falseInt gettotal(String) 根据String参数查询出符合记录的数量List getDictList(String dictname,String strWhere,int beg,int end) 从dictname表中的结果集TRSResultSet中取得beg到end 的记录,将符合条件对象放入链表中返回。List getDictListToShow(String dictname,String index) 查询重复记录,返回一个存放CivilBean对象的链表。void updateDict(String strName,String strOwner,String strValues,String strWhere) 更新记录:更新strName表中的strWhere处的记录,将指定字段的值更改为strValues。void insertDict(String strName, String strOwner, String strValues) 插入记录:在strName表中插入指定字段值为strValues 的记录。void deleteDict(String strName, String strOwner, String strWhere, boolean bFastEnable) 删除记录:将表名为strName的表中指定字段为strWhere 处的记录删除。Void Daoclose() 关闭数据库连接:完成数据访问之后关闭TRSConnection。 (9) 词条业务逻辑Action类类 名GetDictListList变 量Pagetotal 记录分页后的记录种条数Pagebeg 分页后记录的开始IDPageend 分页后记录的结束IDjsonVO 检索出的记录保存的Json对象主要方法String execute( ) 重写的从ActionSupport基础的方法。是Action类执 行的默认函数。String delete( ) 删除符合指定条件的词条记录。调用 deleteDict(dictlistname, system, keyword=+data,true) String update( ) 调用updateDict函数删除指定表名的指定keyword的 记录。String getpage( ) 计算符合条件的记录共有多少记录。String insert( ) 调用insertDict函数向指定表名的数据表插入记录。String login( ) 用户登录登录成功将用户状态status值改为1。String queryJsonData( ) 函数部调用gettotal(),getDictList()函数,计算 计算分页,并将分页后的记录放入jsonVO对象中。String query( ) 将词条表的名字放入session对象中。Action 类返回数据都是String类型的数据,参数都是void。 (10) 航班信息业务操作类 名GetDictListList变 量Pagetotal 记录分页后的记录种条数Pagebeg 分页后记录的开始IDPageend 分页后记录的结束IDjsonC 检索出的记录保存的Json对象主要方法String Getownerlist( ) 调用getDictlist函数获取航班信息链表。Void getpage(String index) 调用getTotal( )获取记录总数。String gettypelist( ) 获取航班机型信息链表。String getrepeatlist( ) 获取重复记录ID的信息链表。String getdetail( ) 获取重复信息的详细信息链表。String check( ) 对航班机型进行校对。 5.系统实现5.1系统物理结构主要类与功能介绍:CivilOperate.java 模拟航班管理的数据库业务代码DictOperate.java 词条管理数据库业务代码GetCivilList.java 模拟航班管理的Action类GetDictList.java 模拟词条管理的Action类trsbean.jar 数据库接口JRE System Libraryjava 程序接口asm-3.3.jarasm-commons-3.3.jarasm-tree-3.3.jarcommons-filupload-1.2.2.jarcommons-io-2.0.1.jarcommons-lang3-3.1.jarcommons-logging-1.1.1.jarcommons-logging-api-1.1.jarfreemarker-2.3.19.jarjavassist-3.11.0GA.jarxwork-core-2.3.14.jarognl-3.0.6.jar以上是struts2框架使用包sruts2.core-2.3.14.jarstruts2核心包struts2.json-plugin.2.3.14.jarstruts2自带Json数据处理5.2系统物理部署图 5.2 系统部署图系统只有管理员一个角色,用户在浏览器如:IE 8与以上、firefox、chrome、360安全浏览器中访问系统,进入登录页面,用户输入合法的用户名、密码进入用户。用户选择相应的业务进行业务管理,此时用户发送的请求将通过部署在tomcat6.0中是web server读取web.xml进一步向struts2发送请求,struts2会读取struts.xml配置文件。通过配置文件在action中找到对应的方法进一步完成数据操作,返回请求的合法数据,通过struts2返回给jsp页面,这样就完成了一次业务请求。5.3主要类的实现1) GetDictList.java词典管理的Action类,继承自ActionSupport类,主要是词典管理的业务逻辑操作,提供增删改查函数。public class GetDictList extends ActionSupport implements SessionAware public String execute() throws Exception dop.getConn();list=dop.getDictList(dictlistname,pagebeg, pageend);dop.Daoclose();queryJsonData();return SUCCESS;/*功能:删除词条返回值:String*/public String delete()dop.getConn();setDictlistname(String)session.get(dictlistname);dop.deleteDict(dictlistname, system, keyword=+data, true);dop.Daoclose();return NONE;/*功能:修改词条返回值:String*/public String update()dop.getConn();System.out.println(dictlistname+:+keyl+:+synl+:+keytoup+:);dop.updateDict(dictlistname,system,keyword=+keyl+nsynonyms=+synl, keyword=+keytoup);return SUCCESS;/*功能:计算出页数返回值:String*/public String getpage()String temp=up.split(;);keytoup=temp0;if(temp.length1)syn=temp1;elsesyn=;return SUCCESS;/*功能:词条数据库中插入一条记录
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


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

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


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