JSP技术在互联网软件中的应用优势研究
2019-11-16张明亮
摘 要:JSP(JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。其能够适用于当前的IE浏览器等應用程序开发,方便实现分布式管理。利用JSP技术开发的Web应用程序或分布式管理系统能够跨平台运行,具有很强的鲁棒性和普适性,因此能够广泛应用于互联网软件设计中。基于此,笔者针对JSP技术进行分析,并对其在互联网软件中的应用进行研究。
关键词:JSP技术;互联网;面向对象;XML
中图分类号:TP315 文献标识码:A
Abstract:As the distributed and shared system,Internet software has covered financial securities,industrial manufacturing,tourism hotels,transportation,warehousing and logistics,online learning and other fields,greatly improving the level of social information and sharing.There are many Internet software development technologies,which are mainly divided into three fields:interactive interface,software architecture and database.The technologies such as ASP.NET,B/S architecture and MySQL database have been born,which has improved the reliability and security of software development.As a front-end dynamic interactive interface,JSP adopts object-oriented thinking for software development,inherits XML technology,form technology,servlet technology,etc.It can log in to the system based on browser,and can provide users with a beautifully layout and interactive friendly interface.The user's logical business request is input,and then transmitted to the server via a form and a servlet.The server parses the user's information processing requirements,packages the result and packages it and feeds it back to the interactive interface.
Keywords:JSP technology;Internet;object oriented;XML
1 引言(Introduction)
JSP是Sun Microsystems公司研究和发布的一种动态网页开发实现技术,尤其适用于当前的IE浏览器等应用程序开发,方便实现分布式管理。利用JSP技术开发的Web应用程序或分布式管理系统能够跨平台运行,具有很强的鲁棒性和普适性,不仅可以在Windows系列操作系统上运行,还可以运行于Linux、Unix操作系统,因此具有很强的灵活性[1]。JSP是一个简化的Servlet程序,其采用先进的面向对象Java程序语言编写,实现XML技术中的tags和scriptlets,封装网页的处理逻辑,可以将逻辑业务处理和网页动态交互独立显示,支持具有可重用性的Java组件开发,这就可以使互联网应用软件开发变得更加简单和方便[2]。
JSP作为一个前台动态交互界面,采用面向对象的思想进行软件开发,继承了XML技术、表单技术、servlet技术等,能够通过浏览器登录到系统,可以为用户提供一个布局精美、交互友好的界面,输入用户的逻辑业务请求,然后经由表单和servlet等传输给服务器,服务器解析用户的信息处理要求,将结果打包封装在一起反馈给交互界面。
目前,基于JSP技术开发的软件非常多,比如常见的公文管理系统、协同办公系统、财务管理系统等,这些系统均可以在服务器端执行,然后利用表单技术反馈一个XML文本给客户端,只要客户端安装了浏览器就可以运行显示[3]。目前,JSP技术的关键技术也非常多,常见的就是XML技术、表单技术和Servlet技术。XML包括tags和scriptlets两个关键类,可以封装服务器端的资源信息,实现对业务处理的封装。表单技术可以接收用户的逻辑业务请求信息,将这些信息发送给服务器[4]。Java Servlet技术是JSP的重要基础,也是Web应用程序开发的重要途径,实现平台无关性,具有一定的作用和意义。
2 互联网应用软件开发关键技术应用现状(Current status of application of key technologies in Internet application software development)
2.1 软件交互界面技术
互联网应用软件拥有一个良好的交互界面非常关键,因此软件工程师为了提高软件交互性,已经提出了很多的交互界面开发技术,比如ASP.NET、JSP、HTML5,这三种技术均为动态交互界面开发技术,适用于不同的软件开发平台。
(1)ASP.NET技术
ASP.NET(Active Server Pages.NET)技术是由微软公司提出的动态交互界面技术,可以与VisualStudio集成開发平台、Webserver服务器等集成在一起开发应用程序,使用C#程序语言实现交换界面内容,同时还可以与XML技术进行集成,适用于不同的操作系统。ASP.NET技术采用了面向对象技术,与平台无关,设计和开发比较简单,具有较好可扩展性、可靠性和可伸缩性。ASP.NET首先包括的数据处理组件DB、Dataset、Command、DataReader、DataAdapter、Connection和Application,各个组件之间可以通过Fill()、Update()、Open()、Close()、ExecuteQuery()、ExecuteScalar()、ExecuteReader()等函数实现通信、数据处理功能。ASP.NET业务处理流程如图1所示。
(2)HTML5技术
HTML5技术是传统HTML技术的扩展和改进,该技术设计的主要目的就是在智能移动设备上支持多媒体软件,因此引入的新语法支持视频、声音、相机等功能,HTML5拥有的解析规则增强了互联网应用软件开发的灵活性,同时淘汰了过时的冗余属性,HTML5技术增强了信息传递的功能,可以实现离线编辑功能,真正地改变了用户与文档新的交互方式。
2.2 软件架构技术
互联网应用软件架构包括三个,分别是C/S架构、B/S架构和云端架构,可以实现网络通信和分布式处理功能,还可以实现软件交互界面、Web信息处理、数据库服务处理的交互功能。
(1)C/S架构
互联网应用软件需要实现网络通信功能,因此最早引入的软件架构就是C/S体系架构,这个架构开发的软件包括两个关键组成部分,分别是客户机(Client)和服务器(Service)。客户机位于客户端,比如可以安装在用户的PC设备上,需要从服务器下载一个分布式管理系统软件安装包,然后安装在设备上。安装完成之后就可以登录,为用户提供一个操作便捷的交互界面,用户输入逻辑业务请求,比如目标定位或搜索等,这些逻辑业务请求可以通过网络传输给服务器。C/S架构如图2所示。
(2)B/S架构
B/S架构可以将软件划分为三个层次,分别是交互层、Web服务器层和数据库服务层。交互层能够实现数据显示和信息交互功能,为用户提供一个操作服务接口,这个接口多是动态的和互动的,具有重要的作用。Web服务层可以实现逻辑业务请求解析和封装,是交互层和数据库服务层之间的通信接口,实现数据业务解析,将其划分为Web逻辑业务和数据操作业务。数据层由数据库管理系统和数据库共同组成,目前常用的数据库管理系统为MySQL等,互联网应用软件的规模大,存储的数据量也非常大,因此可以采用MySQL数据库管理系统,这样就可以提高数据在线处理能力,还可以提高大数据分析性能,将操作结果反馈给Web服务器。B/S架构如图3所示。
(3)云端架构
传统的分布式软件架构由于需要较多的存储器、通信带宽和CPU资源,因此会造成硬件设备使用浪费,随着云计算技术的快速发展,许多计算机学者提出了云端架构。云端架构采用了虚拟化技术,不需要安装、重装应用软件,而是根据用户的实际应用需求分配存储空间,可以将物理资源虚拟扩展为数十倍的逻辑资源,这样就可以提高用户访问效率,同时还提高了资源利用率。
2.3 软件数据库技术
互联网应用软件最为关键的功能就是实现数据传输和加工,比如家电管理系统需要保存数据信息,包括空调数据、电视机数据等,因此就需要一个强大的数据库。目前互联网应用软件采用的数据库很多,包括MySQL、SQLite、SQLserver等[5]。
(1)MySQL数据库。MySQL数据库是当前最为先进的一种数据中心信息管理技术,经过多年的应用和改进,MySQL数据库已经成为网络存储的核心应用技术之一,普遍应用于互联网应用软件开发。MySQL数据库引入光纤存储技术,该技术可以连接主机和存储设备,拥有很多的先进技术优势,比如MySQL数据库支持GBIC、冗余风扇、电源、分区、环操作和多管理接口等,这些功能都可以提高智能设备数据存储、操作的效率,MySQL数据库设置了自配置端口,支持环路设备和自适应速度检测,能够实现无线网络的简单管理,拥有可配置的缓冲帧功能,拥有SCSI接口独立设备服务。
(2)SQLite数据库。SQLite数据库是一个嵌入式的数据存储器,可以实现数据库的零配置,广泛应用于互联网应用软件,单线程读写性能可以与MySQL数据库比拟,并且能够保证数据库的三个特性,既是原子性、唯一性、不可分割性等。SQLite数据库存储后端采用了Btree,可以实现多个连接和并发操作,同一个时间仅仅允许一个程序写。SQLite数据库以页为单位进行数据信息管理,每一个页都可以容纳512字节的内容,同时支持数据的优先级存储和管理,可以按照级别进行划分,从而可以提高光纤数据存储效率,进一步加强存储器中热点数据管理。
3 JSP技术在互联网软件中的应用优势(Application advantages of JSP technology in Internet software)
JSP技术在互联网软件开发中具有很多优势技术,比如XML表单技术、动态交互技术等。JSP的工作模式是请求和应答模式,客户端可以通过IE浏览器发送HTTP逻辑业务请求,JSP接收到业务请求之后可以进行业务解析,解析完毕之后就可以将结果反馈给客户端。基于JSP技术开发的应用软件首次发生逻辑业务请求时,JSP引擎首先需要将JSP文件转换为servlet,JSP引擎本身也是一个关键的servlet程序[6]。具体地,JSP业务处理流程如图4所示。
(1)用户通过客户端录入逻辑业务请求,输入到表单中,表单可以将这些技术发送给JSP引擎。JSP引擎可以将JSP文件转换为Java程序源文件,也即是转换为servlet应用程序。在JSP引擎转换过程中,如果JSP文件发生了语法错误,就可以中断转换过程,同时JSP引擎可以向客户端和服务器端输出错误信息。
(2)JSP引擎将JavaC文件转换完成之后,系统利用编译软件进行编译,生成一个Class类文件。
(3)应用软件可以根据JSP转换结果生成一个servlet实例,这个实例中包含一个初始化应用函数jspInit(),这个函数jspInit()在生命周期中只需要调用一次,完成系统的调用和处理过程。
(4)jspService()函数完成客户端的逻辑业务请求处理工作。应用软件接收到每一个逻辑业务请求,JSP引擎可以创建一个新的线程,这个线程可以完成逻辑业务处理功能,如果存在多个客户端发送JSP业务处理流程,此时JSP引擎就会
创建多个线程,这些线程就可以完成每一个逻辑业务请求,servlet程序始终保留在内存中,这样就可以非常迅速地响应客户端,缩短逻辑业务处理时间,提高系统处理时间。
(5)如果JSP文件被修改了,服务器就可以针对文件进行重新编译,将最新的编译结果保持在内存中,将最初的servlet程序覆盖掉,同时继续业务处理过程。JSP处理效率非常高,只需要在首次调用时进行转换和编译即可,这个过程中可能存在一些延迟,但是后期调用的时候就会加快处理速度。
4 结论(Conclusion)
JSP技术可以根据用户需求,开发IE浏览器端或智能移动设备端软件,并且适用于多种操作系统,比如Windows系统、Android系统、Linux系统的,提高了互联网应用软件的普适应和鲁棒性。JSP应用程序可以采用面向对象思想进行类和对象设计,为客户端和服务器端实现应用程序开发,有效整合互联网应用资源,进一步提高了分布式管理系统的开发便捷性和效率性。JSP技术不仅可以利用引擎执行终端应用程序和任务,而且不需要依赖服务器端的文件即可完成业务处理,建立一个良好的软件开发和处理机制。
参考文献(References)
[1] Yuan S,Chan,H.C.Stephen,Hu,Zhenquan.Implementing WebGL and HTML5 in Macromolecular Visualization and Modern Computer-Aided Drug Design[J].Trends in Biotechnology,2017,35(6):144-148.
[2] Yang T P,Beazley C,Montgomery S B,et al.Genevar:a database and Java application for the analysis and visualization of SNP-gene associations in eQTL studies[J].Bioinformatics,2010,26(19):2474-2476.
[3] Velden U V D,Abbas F,Armand S,et al.Java project on periodontal diseases.The natural development of periodontitis:risk factors,risk predictors and risk determinants[J].Journal of Clinical Periodontology,2010,33(8):540-548.
[4] 陈国华,詹宏昌,张文海,等.JSP技術及其在安全管理信息系统中的应用[J].中国安全科学学报,2013,13(1):45-47.
[5] 张波,张福炎.基于JSP技术的Web应用程序的开发[J].计算机应用研究,2011,18(5):99-101.
[6] 赵跃华,朱伟玲.基于SQLite数据库加密模块的设计与实现[J].计算机工程与设计,2018,29(16):4132-4134.
作者简介:
张明亮(1978-),男,硕士,讲师.研究领域:计算机应用,信息研究.