JavaServer Pages (JSP)是一种支持创建动态web页面和应用程序的服务器端编程技术,这是通过将Java代码嵌入HTML、XML、DHTML或其他文档类型来实现的。
当客户机(如web浏览器)向Java应用程序容器(通常是web服务器)发出请求时,静态页面在后台转换,并作为动态内容显示给查看器。据推测,发布JSP是为了与PHP(一种常用的开源编程语言)竞争。
虽然JSP有时与活动服务器页面(ASP)相关联,但这实际上是两种不同的技术。最大的不同是ASP是由Microsoft&reg开发的,主要被认为是一个框架。这是因为它能够支持由Microsoft的s®组件对象模型(COM)支持的各种编程语言。JSP是由Sun Microsystems®创建的,被认为是一种面向对象的编程语言。
JavaServer Pages技术允许将Java代码和选择预定义的操作插入到静态web页面内容中,此代码在运行时为向页面发出的每个请求编译。服务器、Java代码和/或任何可能实现的自定义编程都是由预先安装的软件应用程序(称为虚拟机(VM))控制的。此VM与主机操作系统集成,用于运行JSP应用程序的最常见的VM是Java Virtual Machine™(JVM)。
从技术角度看,JSP可以看作是Java servlet的高级抽象,因为它们实际上是在这些servlet之上运行的,JavaServer页面通常是由Java编译器编译的。这个编译器要么生成Java代码形式的servlet,要么生成可以直接执行的字节码。由于它们能够在发出请求时立即被解释,因此将静态页面转换为动态内容的时间通常会大大缩短。
许多程序员更喜欢JSP,因为它允许将Java代码直接插入标准文本文件,从而简化了开发。它也是一种独立的、跨平台的、可移植的语言,符合Java的格言“一次编写,随处运行”。
该语言拥有将内容与页面基础分离的能力,允许程序员创建独立于现有工作的新代码。JSP在很大程度上被认为是一种强大、高效的技术,适用于服务器端和客户端编程。