JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
它实现了Html语法中的java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP 技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访 问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
JSP运行机制-页面翻译 :
Web容器第一次接收到对某个JSP页面的请求后,首先自动将该JSP页面翻译为Servlet代码 ,所有JSP页面本质上就是Serlvet程序 ,Tomcat将翻译后的代码放在Tomcat安装目录的/work子目录下 。
JSP运行机制-页面编译:
Web容器负责将Servlet代码编译为字节码。与源文件放在同一个目录,在JSP生命周期中,整个翻译和编译步骤只发生一次。
JSP运行机制 - 类装载:
Web容器装载新生成的servlet类 。
JSP运行机制 - 实例化阶段:
Web容器创建servlet实例。
JSP运行机制 -页面初始化:
Web容器调用Servlet示例的jspInit()方法,JSP页面装载资源
JSP运行机制 -页面服务:
容器创建一个新线程来处理这个客户的请求
servlet对象的_jspService()方法运行
JSP运行机制 -页面销毁:
容器调用生成的servlet对象的jspDestroy()方法,销毁装载的资源
JSP生命周期:
由JSP引擎将JSP页面翻译成JAVA代码
将JAVA代码编译成class字节码文件
加载到容器
由容器实例化成对象
JSP通常用于简化创建产生文本的Servlet,而Servlet更适合于发送原生字节到客户端或需要用Java源代码完全控制源代码的场合。二者可以很好的分开
JSP语法和语义
JSP网页主要由元素(Element)和模板数据(Template Data)两个部分组成
模板数据是JSP的静态部分
WEB容器不处理
元素则是必须经由WEB容器解释
元素都是以XML做为语法基础,并且大小写要一致
WEB容器支持两种不同格式的JSP语法
普通格式和XML兼容格式
普通JSP语法是设计给开发者用的
XML兼容JSP语法是设计用来容易被开发工具使用的