第二章 相关技术简介
2.1 JSP技术
JSP的全名为JAVA SERVER PAGE,是一家硅谷的公司在90年代发布的。之后,JSP被推为一种动态网页的技术标准。作为一种开发技术,它将Java的代码被其嵌入静态页面中,让网页的静态变为动态。作为一个框架,JSP在HTML网页文件插入了Java 程序片段(Scriptlet)[4],这样就可以控制数据库并且根据客户端的请求生成对应的HTML、XML及其他的网页文件给客户端。Java编程语言就是它的脚本语言,因为它的特性,我们可以建立以Java作为编程语言的安全的、能多平台执行的动态网页。
JSP是一种动态网页技术,使用java作为它的脚本语言,它为web页面的动态显示提供了更加便捷的方法,它可以减少网页的请求次数,同时可以在多平台上开发,拥有更好的兼容性[7][8]。*.jsp是JSP的文件后缀 ,它可以响应来自客户机的请求,同时动态生成HTML、XML或其他文档格式。是一种典型的Web网页技术标准[9]。它有着Java技术简单易用,以工作流为导向,安全可靠,不升级到平台,是以Java编写脚本的,可以在页面通过<% %>插入Java代码,方便使用。Web页面JSP在整个Java服务器应用程序HTTP中提供了与库单元的接口。
其特性可简述为以下:
(1)相比以前的技术,能有效的添加动态网页的内容;
(2)拥有和Java一样的在多平台被开发的优势,基本上不受环境的限制,也就是说不用因为平台环境的因素而对代码进行修改;
(3)由于是根据Java语言来作为脚本的,所以拥有它的相对易用性;
(4)它具有JavaBean和标签库的可被多次反复的利用的功能代码;
(5)被功能强且性能良好的工具所支持。
JSP以Java servlet作为技术基础,JSP和Java servlet相配合可完成大中型的Web应用程序的开发[8]。与Java一样,完全面向对象,主要面对了近年因特网发展的特点。由于其兼容性和安全可靠,企业间还可以通过它使用Java技术相互配合,实现分层开发。
2.2 Java技术
Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力[2]。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行。除此之外,它还拥有简单的语法和实用的类库,让编程人员可以尽可能将精力集中在问题的求解上,并且许多开源项目和科研成果都是采用它实现的。
在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言------Java,最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导[1],但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。
(1)在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。
(2)企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持[15]。
(3)现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。
2.3 MYSQL数据库
MySQL是典型的关系数据库系统,拥有开源免费、稳定、高效等特点,一直是中小型web项目的最佳数据库选择。MySQL作为当今IT领域使用人数最多的开源关系型数据库软件之一,在2018年的数据库使用率排名中位居第二,仅次于目前为止最成功的商业版数据库Orcle[2]。MySQL最大的优势之一就是无偿使用,这也是它成功的关键。
MySQL支持标准化数据库查询语言SQL。MySQL是一款非常适合个人开发者或小型组织开发团体的数据库管理系统,因为它是开源并且免费的,体积小、速度快、成本低以及其最重要的一点开放源码,深受程序设计人员的喜爱,这也让它成为了许许多多中小型开发网站数据库的首选,同时提供了多种开发的连接API。MySQL将数据的存放按照记录之间的关系存放到了不同的表中,减少了数据的冗余并且提高了开发的工作效率。MySQL支持开发中需要用的大型数据库,并能处理数以万计的记录。因为MySQL是开源的软件,所以在项目的预算中的时候不用花费额外的资金,大大降低了开发的总体成本,这也是MySQL数据库在中小型企业和独立的开发者中广泛流行的原因[5]。
2.4 B/S结构
此次设计的网络结构模式B/S结构(Browser/Server)。B/S架构也称为B/S模式,是一种服务器以及浏览器架构模式[13]。B/S的工作模式都是先由浏览器请求,服务器再响应。B/S体系结构解决了异构系统中的连接难题,大大改善了系统的开放性,让系统的扩展和维护更加简单;同时,B/S体系结构操作也比较容易,界面全都为浏览器模式,容易分发数据的捕获程序。只要安装通用的浏览器(如WWW浏览器)就能通过Web服务器与数据库进行数据交互。此结构的好处之一在于由于它使用的统一的浏览器,使其可以在不同的地方且不需要用专门的软件进行操作,实现了不论你使用怎样的接入网的方式都可以对公共的数据进行调用和浏览。
相对于C/S模式,B/S模式是对C/S模式应用的扩展,B/S模式不用对不同的计算机安装不同应用程序,还有安全性的要求及对模式上手难度都比前者更好。B/S模式可以让客户机的压力大大减轻,工作的负荷被合理的分配了。其B/S架构图如下图所示:
图2.1 B/S模式架构图
2.5 Spring Boot框架
Spring Boot 是由 Pivotal 团队开发的框架,其作用是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,简单理解就是springboot并不是什么新型的框架,而是整合了spring,springmvc等框架,默认了很多配置,从而减少了开发者的开发时间。Spring Boot 简化了基于 Spring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。 Spring Boot 为 Spring 平台及第三方库提供开箱即用的设置。
Spring Boot的特点
(1)创建独立的Spring应用程序
(2)内嵌Tomcat应用服务器,容器会认出war包自动完成部署操作
(3)简化了Maven软件项目管理工具的配置流程
(4)实现自动配置Spring框架
(5)提供生产就绪型功能
第三章 系统分析
3.1可行性分析
对所有的系统来说,都有可能会受到时间和空间上的制约。所以,我们在设计每一个项目的时候,必须对该系统实行可行性分析,这样不但能够降低项目的危害,还能改降低人力、物力和财力的损耗。下面对技术、经济、操作和法律四个方面进行介绍。
3.1.1技术可行性
技术可行性是指学习的技术是否能够完成本项目,如果团队本身没有相关的技术储备,而又能够迅速掌握此类技术,那项目应该达不到我们的设计要求。本文将开发的系统,将采用的关键技术包括JSP技术、Java编程语言、Spring Boot框架、MYSQL数据库存储技术等。大学时将这些技术已经学习掌握,因此,就技术层面而言,该项目的开发是有保障的。
3.1.2 操作可行性
操作可行性主要是针对系统用户而言,一个系统再完美,技术再先进,用户不去使用,或者用户根本不会使用,该系统存在的价值也是不大的。本系统拟采用的是B/S架构,用户只要通过点击浏览器即可轻松访问,而用户对浏览器操作非常熟练,所以从用户的角度而言,没有任何学习成本,因此,操作上是可行性的。
3.1.3 经济可行性
项目需要考虑花费问题,我们必须考虑系统开发中所有的花费进行计算,我们要考虑到系统需不需要太大的资金。二是系统开发后期维护相关的费用大不大。本系统采用我们开源的技术没进行设计,再设计中没有太多的花费,只需要一台电脑便可以进行开发,因此,该项目的实施在经济上完全可行。
3.1.4 法律可行性
本基于JSP的安康旅游网站开发的所有技术资料都为合法,知识产权问题不会发生在开发过程中,而且没有抄袭其他相关系统,不会有侵犯版权的问题。另外,基于JSP的安康旅游网站设计与开发所采用的操作和工作方式符合工作人员的日常习惯,而且操作方便灵活,便于管理。所以在开发过程中不会涉及法律责任,具有可行性;
综上所述,该基于JSP的安康旅游网站在建设上不存在较大的障碍,各方面都能够保障系统的顺利开发。
3.2系统性能分析
系统除了功能结构设计以外还需要附加需求的分析,非功能需求分析,主要是包括界面、数据库问题、框架等,需要满足非功能性能的需求,保证系统运行起来的时候能够达到最佳的效果,保证稳定性和安全性。
(1)数据底层统一。数据传输中需要进行数据处理,在查询数据存储上达到最佳效果。
(2)界面风格统一。图片需要进行PS处理,文字需要统一格式大小。
(3)数据库。每个模块都需要独立,各个模块之间相互配合,形成一个整体,包装各个功能合理化的配置,需要考虑开放端口,满足可扩展性。
3.3系统功能分析
本基于JSP的安康旅游网站主要包括游客功能模块和管理员功能模块两大部分,下面分别介绍其功能:
(1)管理员功能模块
管理员是这两类用户中权限最高的,管理员登录后可对系统进行全面管理,确保系统正常稳定运行,管理员主要功能包括个人中心、游客管理、景点信息管理、省区管理、市区管理、地区管理、旅游线路管理、酒店信息管理、特产管理、景点购票订单管理、购票取消订单管理、酒店订单管理、酒店取消订单管理、特产订单管理、特产取消订单管理、留言板管理、我的收藏管理和系统管理。
(2)游客功能模块
游客进入系统可查看系统信息,包括首页、景点信息、旅游线路、酒店信息、特产、旅游新闻公告、留言反馈等,注册登录后主要功能模块包括个人中心、旅游线路管理、景点购票订单管理、购票取消订单管理、酒店订单管理、酒店取消订单管理、特产订单管理、特产取消订单管理以及我的收藏管理。
3.4系统流程分析
3.4.1注册流程
未有账号的游客可进行注册操作,游客注册流程图如图3.1所示。
图3.1注册流程图
3.4.2 登录流程
登录模块主要满足了管理员和游客的权限登录,用户登录流程图如图3.2所示。
图3.2 登录流程图
3.5系统架构分析
基于JSP的安康旅游网站的结构我们采用B/S架构来实现。采用B/S程序架构首要条件是我们要把安康旅游网站的数据库和程序放到远程服务器上,只需要在一个服务器上对程序和数据库进行配置,就可以在任何联通这台服务器的电脑上使用架设好的系统。这样的结构打破了时间和地域的限制,用户在使用安康旅游网站的时候变得非常方便。下图就非常明白的展现了基于JSP的安康旅游网站的网络系统结构。
图3.3 基于JSP的安康旅游网站架构设计图