蒋治学
(黄山职业技术学院,安徽 黄山 245000)
JSP(java server pages)是在sun microsystems公司主导下,由从多公司一起参与构建的一种动态网页设计技术标准,其目的在于快速、便捷、简易地构建一个基于web的网页应用程序。该技术的脚本语言是java语言,与其他动态网页设计技术相比较,优势极大,尤其是跨平台问题上,更为有效,在windows、linux、soloris等平台下都可以正常运行[1],并且能够高效率执行相应操作,是目前动态网页设计的主要技术。JSP技术使WEB开发设计人员能够快速创建并维护动态网页,尤其对于商业系统更为有利。JSP技术作为java的一个重要组成部分,能够快速开发出一个以web为基础,独立于平台的一个应用程序,JSP使用户界面与系统内容有效分离,设计人员不需要改动底层动态内容,就能够对整个网页布局进行转换。本文对JSP技术、技术原理及在动态网页开发中的应用进行分析[2]。
JSP作为一种开发语言,与原有硬件平台相分离,从一定程度上说,分离了静态网页与动态网页,使系统整体运行效率显著提高。从JSP技术原理角度讲,JSP与ASP技术仍然存在很多相似之处,均是以HTML标记集合的进一步扩展为基础的,这些标记经过扩展后,能够有效进行识别与解释,但需要在服务器上安装相应的JSP引擎,并在引擎支持下,才能够正确识别这些标记。WEB服务器接收到用户发现的请求时,JSP会将这些文件转换成servlet代码[3],再将转换结果上传至JVM,JVM会直接对代码进行编译,在服务器中直接执行编译生成的文件,再将JSP接收到的编码结果传输至服务器,完成要求的工作后上传结果。服务器会以页面形式,向客户端上传获取的结果,用户通过浏览器就能够直接查看结果。代码执行前提是用户提出的请求,因此,在调用代码时,还需要消耗一定的时间进行加载才能完成整个过程。编译并执行JSP后,后台就能够独立运行这些编译代码,用户再次对JSP发出相应的请求后,就会自动执行这一程序,使整个程序能够始终保持高效运行[4]。
JSP是以java servlet为基础构建的一个服务,同时,还对这一技术进行了优化改进,因此,能够使java运行环境下的WEB程序开发更为高效。(1)JSP能够生成并显示分离内容,通过JSP技术,设计人员可以运用HTML、XHL等语言格式化并开发最终所需页面,并运用小脚本技术或JSP标识等,生成动态网页内容。生成的动态内容能够在java bean组件及标识中进行封装,捆绑脚本,使JSP标识、脚本均能够在服务器端上同时运行,JSP相应的引擎会对这些内容进行解释,最后生成用户所请求的相应内容。(2)能够在各种平台中有效适应并保持很高的执行效率。JSP在页面内容当中内置了脚本语言,由于其设计开发运用了java编程语言,因此天然具备了一次编写,因此可以多平台运行,能够在各平台间进行转移,不需要重新编译相应平台所需要的JSP与java,整体运行更快,执行效率更高。(3)可重用组件。JSP在处理较为复杂的程序时,要依赖于组件,通过重用组件的方法,能够使整体开发进程更为顺利,在完善技能的同时,优化开发效果。第四,页面开发更为简化。WEB脚本语言并非所有编程人员都能够深层次了解并掌握的内容,但在java技术下,其内部封装了各种经过HTML标记所生成的动态内容,一些必须的易用功能都封装在内。通过标准的JSP技术访问java组件,可以利用检索或组件属性设置,再下载一个applet执行这些繁琐、复杂、耗时的功能。开发人员可以在个人标记库中创设个性化的易用功能,使设计人员能够更为简单、高效地开发各种WEB页面。(4)可扩展性强。一个所具备的扩展与增强能力,可对已有特性轻易进行修改,将新特性轻易地加入进去,且这些修改与增加不会影响系统其他部分的运行,这种功能被称为可扩展性。开发人员能够利用JSP技术中的个性化标记库对动态网页开发过程进行扩展[5]。
Java编译代码运行时会利用操作系统中自带的JVM虚拟机进行解释,不需要改动任何字节代码就能够在所有平台上进行转移,尤其对于图形化界面的使用,servlet本身不需要图形界面,与传统java程序相比,其运行速度更快。HTML需要的GUI很少,因此服务器运行时就不再需要加载很多冗长复杂的GUI,仅在用户发现请求时,servlet字节代码会执行所需要的GUI。servlet被首次调用时,需要消耗一定时间进行加载,但已经运行过的servlet则已经在服务器中有了缓存内容,因此后续请求处理速度很快。JSP与java平台的结合非常紧密,当前使用的JSP服务器,均携带有java即时编译器,不需要像ASP、PHP等其它动态网页代码一样,每次都需要经过解释才能运行,尤其是一些循环操作代码,使用JSP技术进行处理时,其速度较其它代码能够提升1~2个数量级。
运用JSP技术进行动态网页开发主要有2种实现方式:第一种是直接在HTML页面中嵌入java程序,即直接在HTML页面中写入servlet源代码。第二种是直接在JSP页面下调用java bean,通过java bean包含的强大功能发挥作用。这两种实现方式的具体运用是由设计人员能力与项目困难度决定的。当设计人员对于java语言编程及HTML页面设计都很熟悉时,就可以使用第一种方式,直接改动少量需要维护的文件数目即可,但会影响文件可读性。页面结构较为复杂时,java代码与HTML代码的混杂会增加阅读与改动的难度。此时,需要使用后一种方法,将java代码与HTML页面直接分离,此时,需要维护较多数量的文件,但页面结构更为清晰,java代码程度也更为独立,能够将这些代码直接编译与可重用组件,将java程序与HTML页面的参数传递机制进行规范化处理后,可以由多个设计人员对java程度与HTML页面设计进行独立开发,是企业级大项目的首选方法,更适宜于分工合作,提高开发效率。
在运用JSP设计动态网页时,先建立一个能够运行JSP的计算机运行环境,即安装一个能够支持JSP的应用服务器或WEB服务器,或者直接在WEB服务器上安装一个JSP引擎。本次设计所使用的WEB服务器是JSWDK1.0.1,该服务器能够支持JSP,不再需要另外安装一个相应的JSP引擎,只需要在JSD支持下运行即可,本次使用的是java SE 8.0,内部加载了jbuilder。以在线注册动态网页设计为例,采用以下两种方法来实现这一动态网页。[6-7]
这种方法就是在在JSP页面直接嵌入一个java程序,对后台数据库进行访问,JSP能够通过JDBC连接后台数据库。第1步,加载一个可用的JDBA驱动程序如ODBA桥驱动程序;第2步,与数据库建立一个连接对象,这一步可以DriverManager服务中的GetConnection这一方法实现;第3步,建立一个语句对象,选择Connection对象下的createStatement这一方法构建;第四步,通过Statement对象,执行Insert into、Delete、Select等SQL命令,如,执行Select命令时,就会返回到1个对应的结果集对象中。
这种方法是先通过JSP页面下的AddUser2.jsp获取客户端中提交的信息,再建立一个
JSP是一种以java servlet技术为基础,经过大量改进后构建的一种理想的web应用开发框架,是一种开放性高、跨平台性强的结构,能够使编译后的动态网页程序在不影响JSP基本程序的同时,在WEB服务器、多个操作平台上、其他组件中简单地实现升级或切换,是一种更为适应当前web应用程序需求的技术,基于JSP技术设计的动态网页程序较ASP、PHP等的执行效率更高,维护管理更为简单,是未来动态网页设计的主流技术。