安康旅游网站开发:SpringBoot技术的应用
第二章 相关技术简介
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)提供生产就绪型功能
第六章 系统测试
6.1测试环境
本测试主要是系统是否能够进行服务器进行处理信息的能力,不同的用户发出不同的服务请求,系统必须能够准确的进行数据的传达,在这种情况下进行测试响应的时间、内存使用的情况和CPU占用大小等指标,系统完成设计必须保证信息的正确性,信息紊乱带来的后果是非常可怕的,所有必须要进行压力测试,通过本测试进行系统相应速度、稳定性能和处理能力进行优化。
6.2测试方法
系统需要详细的功能测试,以检查整个系统是否满足需求描述中的功能需求。一般的系统测试,缺乏测试计划,所以只能通过执行自己的计划来估计。这种不完整的测试常常导致该问题在验收之后出现,这直接导致与实施方的冲突。为了改变这种状况,应该从以下几个方面来改变:1.验收方对实施计划进行严格的审查,监督执行方严格测试计划;2.验收方与实施方可以寻找中间人来对测试计划进行监督;3.系统的测试计划由开发方进行制定,并要求实施方按照制定的测试计划,严格的执行测试流程。
软件测试是一个优秀系统诞生的基础,只有经过大量的软件测试,才能保证系统拥有良好的质量。尽管系统的安全性和稳定性不能全部通过软件测试来保证。但是软件开发过程的重要组成部分依旧是系统测试。为了满足用户的需求,及时发现系统存在的故障,只有在系统开发完成之后对系统进行大量的测试。
对于软件系统测试,测试用例不能覆盖所有可能的情况。因为用户提出的要求会不断地改变,所以没有任何一个测试能够完美的符合用户变化需求。因此,系统测试的关键就在于怎样能选择出一个特别合适的测试用例。只有找到合适的测试用例,才能对软件系统进行优化和改进。
软件测试不仅要测试系统的功能,还要测试系统的结构,即白盒测试。一个完整的软件必须有自己的业务逻辑。白盒测试的要求是尽可能地测试所有组件,即包括所有功能模块,尽可能地覆盖所有路径。这个测试要求测试人员充分理解系统的业务逻辑和流程。但是完成上述要求是一件困难的事情,如果程序中存在循环,那么路径的数量将会增加,并且执行每个路径将变得非常不现实。
程序是由多个互不干扰的功能模块组成。对于基本功能,只需要测试功能是否有错误,如页面是否跳转,程序的稳定性是否良好。不用特意考虑系统内部变化,如代码的编写是否正确。这种不用考虑系统内部功能的测试就是黑盒测试。
本系统的测试,主要是采用了黑盒测试,也就是功能测试。下面将针对基于JSP的安康旅游网站的信息数据,对系统的部分功能以及性能方面实施测试,并且根据测试结果对基于JSP的安康旅游网站进行适当修改,使得系统能够实现预期效果和功能。
6.3测试计划
首先我们来说界面测试,界面测试是为了使程序在不同的操作平台上能够运行界面,并且能够保持原来的风格。我把完整程序拷贝到不同配置的计算机平台环境下,程序运行正常,运行界面上的字体、图片等设置都能够保持得非常好,不出现字体变形等情况。
其次进行功能测试和性能测试,功能测试主要包括五项内容:适用性、准确性、可操作性、依从性、安全性。
表6.1 测试计划表
测试阶段技术 是否采用 说明
审评测试 是 文档软件产品的功能和设计文档的测试,在需求和设计阶段进行
编写测试用例 是 在测试用例的准备阶段产品代码
可用性测试 是 检测网站的可理解性、可操作性和学习性等方面内容
功能测试 是 系统适用性、准确性、可操作性、依从性、安全性
集成测试 是 集成系统来检测模块的要求,业务流程和数据处理是否满足条件,业务流处理的系统,如果没有严格的逻辑和错误
系统测试 是 包括性能测试,压力测试和回归测试
验收测试 是 通过建设,项目实施单位工作人员操作
安装测试 是 该测试仪测试系统的安装
6.4测试结论
本章对系统进行了最后的测试工作,通过测试结果分析,本基于JSP的安康旅游网站设计满足用户的要求和需求。所有基本功能点实现,操作简单,系统运行性能良好,是一款值得推广的旅游网。