《基于J2EE的旅游网站后台管理系统设计毕业设计.doc》由会员分享,可在线阅读,更多相关《基于J2EE的旅游网站后台管理系统设计毕业设计.doc(39页珍藏版)》请在三一办公上搜索。
1、本科生毕业论文(设计) 题 目 基于J2EE的旅游网站后台管理系统设计 学 院 计算机学院 专 业 计算机科学与技术 学生姓名 XX XX 学 号 XXXXXXXXXX 年级 2009级 指导教师 XXXXXXXXX 教务处制表二一三 年 五 月 二十 日基于J2EE的旅游网站后台管理系统设计 摘要 随着计算机技术的发展,许多行业对计算机的应用日益广泛,尤其以JAVA语言为基础的开发项目,比如软件开发,系统开发等,当前JAVA语言使用量几乎稳居世界第一。与JAVA相关框架层出不穷,基于JAVA语言的优势,对其的研究应该更为广泛。本文对基于J2EE的旅游网站后台管理系统开发详细进行介绍,其中按层
2、次划分,需求分析层包括用户需求、功能需求、非功能需求、配置需求,在这四个方法进行了详细的介绍;系统结构层,对本系统开发框架进行了详细介绍,包括类模型设计和数据表设计以及类之间方法调用关系,过程有相应的图据以参考。本文对技术性知识,主要是J2EE开源框架,据权威人士分析,J2EE技术当前发展普及全球并会继续发展,其技术会对于将会投入到软件开发方向上的人员来说,重要性毫无疑问,其将会带来的机会可想而知,所以本文也就使用到的J2EE框架进行介绍。主要是对Struts2、Spring、Hibernate三大开源框架的基本功能特性和原理进行分析,同时也对Ajax交互技术进行有效分析,最后总结本次开发项目
3、收获。关键字 系统J2EEAjax框架Travel website backstage management system based on J2EE is designedComputer science & technologyStudent:ZHANG Xxx Adviser:CHENXxx-xxxAbstract With the development of computer technology,Many industry increasingly extensive application of computer, especially based on JAVA develop
4、ment projects, such as software development, system development, such as the JAVA language usage almost ranks first in the world. Associated with the JAVA frameworks emerge in endlessly, based on the advantages of JAVA language, the research should be more widely. In this paper, the travel website b
5、ackstage management system based on J2EE development is described in detail, which according to level classification, requirement analysis layer including user needs, functional requirements, non-functional requirements, configuration requirements, the four methods is introduced in detail; System st
6、ructure layer, this framework system development are introduced in detail, including model design and data table design and class relationships between method calls, which process have corresponding figure reference. In this paper, the technical knowledge, mainly is the J2EE open source framework, a
7、ccording to authorities, J2EE technology development current global popularity and will continue to develop, the technology for the personnel will be involved in software development direction, importance and there is no doubt that it will bring the opportunity, so this paper also introduces the J2E
8、E framework is used to. Mainly to the three open source framework struts 2, Spring, Hibernate, the basic feature and principle were analyzed, and at the same time also to Ajax interaction techniques for effective analysis, finally summarizes the development project.Key Words System J2EEAjaxframwork目
9、录1 综述52 旅游网站后台管理系统设计72.1 旅游网站管理系统介绍72.2 旅游网站后台管理系统需求分析82.2.1 用户需求82.2.2 功能需求82.2.3 非功能需求102.2.4 配置需求102.3 系统框架结构设计112.3.1 系统整体框架概述112.3.2 数据表设计122.3.3 系统的基本类模型设计142.4 系统的基本功能实现182.4.1 配置文件182.4.2 添加功能212.4.3 查询功能232.4.4 更新功能242.4.5 删除功能273 操作界面展示293.1 功能界面293.2 详细操作界面304 主要使用技术介绍334.1 Ajax技术334.2 SS
10、H技术335 总结36参考文献37声 明38致 谢39附 录401 综述随着计算机技术的发展,许多行业对计算机的应用日益广泛,尤其以JAVA为基础的开发项目,比如软件开发,系统开发等,当前JAVA语言使用量几乎稳居世界第一。与JAVA相关框架层出不穷,基于JAVA语言的优势,对其的研究应该更为广泛。作为一名大学计算机专业毕业的并且对JAVA尤其是J2EE方向的技术充满浓厚兴趣的的学生,更应该学习掌握先前的技术(Struts2,Spring,Hibernate),并进行实际项目开发,获得更多的开发经验,从而对编程尤其是JAVA方向的编程思想更深刻透彻,为自己以后在JAVA方向的开发研究奠定基础。
11、本次开发的旅游网站后台管理系统基于J2EE,目的就是学习J2EE的Struts2、Hibernate、Spring三大开源框的使用,希望通过此次课题设计不断提高自己对J2EE的掌握程度,积累更多的实践经验。对于J2EE的发展现状及前景,在旧金山举行的2011年JavaOne大会上,甲骨文公司展示了其推动Java 平台企业版(Java EE)发展的最新成果,Java EE 继续大受欢迎,并有越来越多的开发人员采用,包括Oracle GlassFish Server在内的Java EE组件获得了4000万次下载,自2009年12月推出以来,6个主要IT厂商已经推出了经过认证、开源和商业实施的Jav
12、a EE 6,使其成为迄今为止最迅速获得采用的平台产品,作为下一代Java EE, Java EE 7进展顺利,其中,有超过20个的不同参与企业和数百名工程师通过Java 社区(JCP)对10个活跃的Java规范要求(JSRs)进行了开发处理,Java EE 7 JSRs 包括:Java EE 7 平台, Java Persistence API 2.1, JAX-RS 2.0, 用于RESTful网络服务的 Java API, Servlet 3.1, 表达语言 3.0, Java 信息服务 2.0, JavaServer Faces 2.2, Enterprise JavaBeans 3.
13、2, 面向Java EE 1.1的Contexts and Dependency Injection , Bean Validation 1.1.等,Java EE 7专家组也在寻求把其他JSRs加入到Java EE 7的可能性,这些JSRs包括JCache 1.0 Java Temporary Caching API, Concurrency Utilities 1.0, Java 状态管理1.0 和Java Identity API 1.0。Java EE 7旨在进一步增强Java EE平台的云环境,因此,基于Java EE-7的应用和产品将能够在私有云和公有云中更方便地操作,并通过支持多
14、用户租用和弹性使用(如平行扩展)等功能来实现功能即服务,作为Java EE的参考实施,GlassFish服务器不仅仅是全面的Java EE 6实施,(开源版是GlassFish 服务器开源版,商业版是Oracle GlassFish服务器),还为即将推出的Java EE 7提供了坚实的基础,Oracle GlassFish服务器完善了Oracle WebLogic 服务器 11g,后者是一款专门为运行Oracle 融合中间件11g的广泛产品组合以及可内部部署和云部署的大规模企业应用而设计的服务器,甲骨文在2011 年JavaOne大会的136个联合研讨会、BOF和动手实验室,以及JavaOne
15、展览馆中对Java EE及相关技术进行了展示。J2EE技术当前发展普及全球并会继续发展1。本文的主要工作是对基于J2EE的旅游网站后台管理系统开发详细进行介绍,其中按层次划分,需求分析层包括用户需求、功能需求、非功能需求、配置需求,在这四个方法进行了详细的介绍;系统结构层,对本系统开发框架进行了详细介绍,包括类模型设计和数据表设计以及类之间方法调用关系,过程有相应的图据以参考。本文对技术性知识,主要是J2EE开源框架,据权威人士分析,J2EE技术当前发展普及全球并会继续发展,其技术会对于将会投入到软件开发方向上的人员来说,重要性毫无疑问,其将会带来的机会可想而知,所以本文也就使用到的J2EE框
16、架进行介绍。主要是对Struts2、Spring、Hibernate三大开源框架的基本功能特性和原理进行分析.系统性的学习软件开发流程,并在此过程中对J2EE开源框架的使用以及软件开发思想进行深一步理解。熟练项目开发全套工具及软件的配套使用。2 旅游网站后台管理系统设计2.1 旅游网站管理系统介绍一个强大的旅游网站应该具有的功能有:景区景点展示、景点导航、诗词游记管理、风景图片展示、精彩视频管理、交通信息查询、自助游。天气预报、在线咨询、在线帮助、在线调查、旅客评论、旅客投诉反馈、门票预定、酒店预定、餐饮预定、车位预定、导游预定、旅客论坛、旅客博客、特产购物管理、旅客流量统计、网站流量统计等。
17、以上功能是旅游网站全方位描述,写过项目的人都知道,一个系统的不同功能所用技术大致相同,本次设计着重学习,特此主要是在新闻管理也就是景区基本信息管理,以及线路管理两大功能及相关的的基础上,对其几个问题实现的具体功能进行介绍分析。在景点基本信息功能一栏:以地区为总类别区分,对总类别可以添加、查看、更新、删除,总类别只记录类别名称和形象图片。在此基础上,添加景点信息类别和景点详细信息,景点类别只设名称一列,详细信息则包括名称、热度、形象图片等。在景区图片管理功能一栏:针对图片类别设立类别CRUD功能,图片添加在此基础上进行,对于图片模块,自定义图片无限分类形式,对于图片的大小,格式,展示效果进行显示
18、控制。在景点视频管理功能一栏:在总类别的基础上,上传自定义的格式视频,其格式可以是avi,mpg,mp4,mv等常用格式,旅客可以将自己在旅游过程中拍摄的视频在一定容量范围内上传,后台也可以上传些对于景点的宣传视频。在旅游线路功能一栏:管理员可以对线路类别及线路详细信息进行CRUD操作,比如记录线路出发城市、出发时间、持续时间、价钱、热度等信息,方便旅客查询,购票等。对于用户信息管理、用户订单管理分别对用户的基本信息,和订单信息进行对应的操作,旅客评论上可以对旅客曾经对景点视频等做过的评论进行管理,旅客可以对旅游过的景点进行点评,交互意见等。另外附加功能一还有针对游客流量统预测计功能:在根据系
19、统中存储的历史游客数据,参考导游、门票、餐饮、酒店、停车位的预定量,结合天气预报、游客流量走势、景区接待量、民俗节日、国家法定节假日、宗教节日、景区节日等方面,通过一定的推测原理推测出未来某月、某周、某日、某地的游客流量记录。附加功能二便是针对当前网站流量统计:统计分析分别以年、月、日、时段为单位对网站整体访问量,统计分析全球来访IP 的区域,统计分析网站各主要频道的访问量,统计分析各主要搜索引擎对网站的搜索频率,可以把结果用饼状图或柱状图展现出来。下面对本次的设计进行详细传述。2.2 旅游网站后台管理系统需求分析2.2.1 用户需求时代在进步,人们生活水平不断提高,从而变得不仅对物质生活的要
20、求高,而且越来越注重精神上的享受。旅游是人们寻求精神上的愉快感受的一种形式,让人们对此兴趣日益高升,所以旅游业的发展是社会发展人们生活水平提高的必然趋势。当今世道,计算机互联网的不断发展为旅游提供了方便,跃然旅游信息量越来越大,涉及全国各地乃至世界,其业务操作中设计的各种路线信息,客户情况,各旅游协作部门越来越复杂多变,人们对信息的撑握重要性越来越高,为满足人们对旅游信息收集,方便人们快捷办理门票、交通、餐用等手续,旅游网站的发展也就在情理之中了。所以,从网站开发的角度考虑出发,网站按功能模块进行分割,然后将旅游各种信息通过网站建设发布到网络上,对于旅客来说,这无疑提供了无上方便快捷,给有心出
21、门旅行的人们以快捷,在家中就可以轻松做好旅行规划。网站的内容以唯美的图片、生动形象的FLASH展示、拍摄的精美视频,优美的音乐,详细的信息,清晰的线路等吸引越来越多的旅客,并可以使旅客通过访问网站的方式了解旅行目的地的相关情况以及线路策划与安排等等。目前旅游网络门户类型主要有三种类型,门户网站旅游频道的综合信息服务类、传统类旅行社网站、第三方旅游中介服务网站。随着中国人民生活水平的的不断提高,旅游业的发展有望得到进一步的突破。因此,具有现代化的互联网多媒体信息技术的旅游网站的建设具有不可估量的意义。2.2.2 功能需求如下是该系统的一个基本的用例图: 图2-1 系统用例图下面以本次开发的功能划
22、分,分为添加、读取、更新、删除四个主要功能。从功能层面上来划分的话,四个功能操作的数据以及中间涉及的方法调用流程大体相似。本旅游网站的后台管理基本功能如下:A. 基本信息的添加:包括景点基本信息、图片基本作息、视频基本信息、线路基本信息添加。主要是用户或者管理员通过JSP页面进行数据录入并提交页面,由Struts2的filter拦截进入Struts2的action对应方法进行算是,然后调用Hibernate相关方法直接在数据库里进行插入并将结果返回到相应的JSP页面。 图2-2用例图B. 基本信息的读取:包括景点基本信息、图片基本信息、视频基本信息、线路基本信息、用户相关信息等。主要是用户或者
23、管理员通过JSP页面进行数据录入并提交页面,由Struts2的filter拦截进入Struts2的action对应方法进行算是,然后调用Hibernate相关方法直接在数据库里进行插入并将结果返回到相应的JSP页面。 图2-3用例图C. 基本信息的更新:包括景点基本信息、图片基本作息、视频基本信息、线路基本信息更新。主要是用户或者管理员通过JSP页面进行数据录入并提交页面,由Struts2的filter拦截进入Struts2的action对应方法进行算是,然后调用Hibernate相关方法直接在数据库里进行插入并将结果返回到相应的JSP页面。 图2-4用例图D. 基本信息的删除:包括景点基本信
24、息、图片基本作息、视频基本信息、线路基本信息删除。主要是用户或者管理员通过JSP页面进行数据录入并提交页面,由Struts2的filter拦截进入Struts2的action对应方法进行算是,然后调用Hibernate相关方法直接在数据库里进行插入并将结果返回到相应的JSP页面。 图2-5用例图2.2.3 非功能需求a. 功能性:在功能上要满足旅游网站的常规操作,对于客户来说,客户可以浏览查询自己需要的数据,可以下订单,可以将当前查询或者是收录的信息存储到自己的比如收藏夹,用记可以对自己的个人信息进行录入更改,还有进行一些自己数据的删除。对于管理员来说,管理员有对旅游信息的添加查询更新删除的权
25、限,还有对客户的部分信息进行管理,比如查看,甚者可以是删除,管理员也可以对自己的基本信息进行管理。b. 安全性:该系统功能上应具有较高的安全性,关键是要防止非法用户进入系统修改、删除后台数据,黑客切取用户资料,用户对景点信息的操作权限等。为防止这些情况的发生,可在用户数据传输过程中用MD5算法对用户数据加密存储,在后台操作数据进行身份验证。c.可靠性:该系统应具备较好的稳定性,能存储较大的数据量,在多用户并发访问环境下可以保重系统正常运行,不会产生干扰操作,在数据数据库的选取以及表的设计方面应注意效率,比如给需要经常访问的属性列建立索引,适当增加服务器内存等。d.易用性:由于本系统将采用B/S
26、三层架构,客户使用的浏览器类型以及版本多种多样,在对页面展示方面要处理好不同浏览器的显示效果,要让用户有较好的浏览体验。e.易维护性:该系统以J2EE三大框架为支撑,在开发过程中尽量采用面向接口编程,避免将程序直接写死的情况,遵循低耦合的设计原则,增加系统的可扩展性和可维护性。2.2.4 配置需求本次旅游网站后台管理系统采用B/S架构,服务器使用Tomcat,数据库采用MySQL,开发工具MyEclipse,操作系统Windows7。2.3 系统框架结构设计2.3.1 系统整体框架概述该旅游网站后台管理系统的整体框架如图: 图2-6系统框架图该系统采用J2EE的Struts2,Spring,H
27、ibernate框架对过程进行控制并对站内数据进行操作,前台提交页面数据到后台,通过Struts2的filter进行拦截,将数据提交到Struts2的action操作里进行处理,action方法则通过Hibernate操作数据库数据,Spring贯穿在Strust2和Hibernate的整个过程,主动创建程序过程需要的对象。整个过程主要采用面向接口编程,Jsp页面的数据交互技术运用Ajax。主要数据操作功能有create、read、update、delete也就是数据的增删改查。该系统的基本时序如图: 图2-7 系统时序图该时序图说明:程序执行流程,从客户端提交JSP页面请求开始,通过tomc
28、at服务器,页面请求数据被Struts2的Filter拦截,数据传送至Struts2的action里,action调用model进行对应数据的获取,具体数据操作,由action调用上层管理接口manageDAO,上层管理接口调用自己的特定实现manageDAOImp去进行操作,manageDAOImp再调用模型操作上级接口modelDAO,再由该接口调用自己的实现modelDAOimp去直接操作数据库Database,最后操作结果由action返回至JSP结果页面,而Spring的DI功能贯穿整个过程,主要是Struts2和Hibernate相互操作的过程的创建对象。2.3.2 数据表设计该系
29、统存储信息类型较多,主要应用数据表及结构如下:admin info_class:information:line_class:line_info:picture_class:picture_info:top_belong:video: 2.3.3 系统的基本类模型设计本项目以action,service,dao,daoimp,model方式分层,其类调用关系如下: 图2-8 层次调用关系根据此分层开发思想,该项目的开发包图如下: 图2-9 系统包图在以上的基础上,设计的类与包的关系图如下:a. action包: b. service包: c. dao包: d. daoimp包: e. mode
30、l包: 根据本项目的需求,对各类内部进行设计,由调用的关系图2-8可知,每一层的方法相同以满足调用,这里只写出action包中主要类的方法:管理员类: 信息类别类: 信息详细类: 线路类别类: 线路详细类: 图片类别类: 图片详细类: 总属类: 视频类: 以Information类create方法调用为例,关系如下: 图2-10 方法调用详细2.4 系统的基本功能实现2.4.1 配置文件配置文件主要有两个beans.xml和struts.xml。其中beans.xml配置,主要实现数据源链接,SessionFactory以及HibernareTemplate的bean生成,代码如下:com.z
31、hang.travel.modelorg.hibernate.dialect.MySQLDialecttruetrueupdate其中struts.xml配置,实现页面跳转映射,主要代码如下:/back/basepage.jsp/back/top_belong_create.jsp/back/top_belong_show.jsp/back/top_belong_update.jsp/back/info_class_create.jsp/back/info_class_show.jsp/back/info_class_update.jsp/back/information_create.jsp
32、/back/information_show.jsp/back/information_update.jsp/back/picture_class_create.jsp/back/picture_class_show.jsp/back/picture_class_update.jsp/back/picture_info_create.jsp/back/picture_info_show.jsp/back/picture_info_update.jsp/back/video_create.jsp/back/video_show.jsp/back/video_update.jsp/back/lin
33、e_class_create.jsp/back/line_class_show.jsp/back/line_class_update.jsp/back/line_info_create.jsp/back/line_info_show.jsp/back/line_info_update.jsp/back/undopage.jsp2.4.2 添加功能不同数据相同操作方法相似,流程大致相同,这里只例举景点信息的功能方法。景点详细信息的添加实现:(InformationAction)public String create() throws IOExceptionHttpServletResponse
34、 response = ServletActionContext.getResponse();PrintWriter pw = response.getWriter();if(informationService.exists(this.getTitle()pw.write(title + is already exists);return null;TopBelong tb = new TopBelong();tb.setId(this.getTopId();InfoClass ic = new InfoClass();ic.setId(this.getClassId();Informati
35、on i = new Information();i.setTitle(this.getTitle();i.setAuthor(this.getAuthor();i.setContent(this.getContent();i.setResource(this.getResource();i.setTopId(tb);i.setClassId(ic);i.setClicks(0);Date d = new Date();String sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(d);i.setAddTime(sdf);if (i
36、mage != null) String uploadFileName = upLoadImages;String realpath = ServletActionContext.getServletContext().getRealPath(uploadFileName);uploadImage(realpath,pw);i.setImagePath(uploadFileName + + this.getImageFileName();informationService.create(i);pw.write(information add success);return null; 图2-
37、11 信息创建方法调用图该create()方法,封装Information对象调用InformationService的create()方法:(InformationService)public void create(Information i)informationDao.create(i);该create()方法又调用InformationDao接口的create()方法InformationDao的抽象方法public void create(Information i);该方法又由子类InformationDaoImp的create()方法去实现public void create(Information i) hibernateTemplate.save(i); 最后由HibernateTemplate的save()方