1.3.3 JSP简介
JSP(Java Server Pages)是以Java语言作为整个服务器的脚本语言,并在服务器端提供一个Java库的接口来支持HTTP应用程序。从架构上来说,JSP可以看作Java Servlet API的一个应用扩展,它实现了利用动态HTML以及普通静态HTML混合编码的技术。由于JSP具有跨平台且学习较容易,因此在近几年来发展非常迅速,越来越多的公司开始利用JSP作为网站开发的重要技术。一个JSP页面的调用过程如图1.4所示。
图1.4 JSP页面访问示意图
与传统的网页调用方式不同,JSP页面在被访问时,服务器处理JSP的请求需要执行以下3个过程:
①翻译过程(Translation phase)。服务器中的Web容器会利用JSP引擎把服务器中的JSP文件翻译转换为Java源码。
②编译过程(Compilation phase)。将翻译阶段中转换的Java源代码通过Java虚拟机(JVM)编译成可执行的字节码,也就是Java中对应的class文件。
③请求过程(Request phase)。如果服务器接受了用户的请求,就会依据用户的请求把编译好的JSP文件执行,当执行结束后,再将系统生成的HTML页面返回给客户端浏览器,从而完成整个调用过程。
在这个过程中,如果服务器端的JSP文件被编译好了,用户的每次调用过程都只需要调用编译好的二进制字节码,而不需要重新执行翻译过程和编译过程,这样可以大大提高服务器的响应速度。另外,如果服务器端的JSP文件被修改了,用户在下次调用时,服务器会重新执行翻译过程和编译过程,一旦执行完毕,在下一次调用时又可直接调用二进制字节码。
使用JSP进行开发,有如下优势:
①开源性。JSP是完全开源的,用户进行开发操作时,完全无须支付任何费用。
②跨平台支持。由于Java的推出是为了跨平台的支持,因此JSP继承了Java跨平台的特性,在目前的所有平台上(包括Linux系统平台和Windows系统平台)几乎都能对JSP进行支持。
③一次编写,处处运行。这点也是继承了Java的属性,因为JSP在调用的过程中是被编译成二进制字节码的,因此它能做到一次编写,处处运行。
④支持相应的服务器组件。在Web开发的应用中,很多应用要有相应的服务器组件对其进行支持,以便更好地调用。JSP是使用Java语言作为其开发的根本技术,因此在服务器组建支持方面,它支持很多相关的服务器组件,如Tomcat。
⑤方便安全的数据库连接。在Web开发中,都需要调用后台数据库,而调用数据库的安全性和便捷性在开发过程中非常重要,JSP采用JDBC方式对数据库进行调用,这种方式采用第三方插件进行封装调用,安全性有了很大的提高。另外,Oracle公司旗下的Sun公司也开发了相应的JDBC插件供开发人员进行选择开发,采用官方数据库插件进行开发,一旦出现安全问题,能及时发现并得到解决。
JSP作为Java Servlet API的扩展应用,具有Java的很多特性,也很容易被整合到其他应用平台中。因此,基于以上的一些特性,JSP在Web系统开发中的应用非常广泛。