1、jsp的运行机制

JSP本质上就是servlet。当JSP第一次被请求时,Web服务器上的JSP容器(或称为JSP引擎)会将其转化为相应的Servlet,然后再编译为Servlet类文件,并且被装载和实例化。此后,每次对此JSP页面的请求均通过调用已实例化的Servlet类对象中的方法来产生响应。正因为如此,第一次访问JSP页面时响应速度会比较慢,而以后就很快了。


2、jsp的主要特点

  1. 一次编写,到处运行
  2. 可重用组件。可通过JavaBean等组件技术封装复杂应用,开发人员可共享已开发完成的组件,从而提高了JSP应用开发效率和可扩展性
  3. 标记化页面开发。JSP技术将许多常用功能封装起来,以XML标记的形式展现给开发人员,从而使得不熟悉Java语言的技术人员也可以轻松的编写JSP程序,降低了JSP开发难度
  4. 角色分离。JSP规范允许将工作量分为两部分,即页面的图形内容和页面的动态内容,可先创建好页面的图形内容,然后由Java程序员向其中插入Java代码,实现动态内容。

3、JSP指令标记

  1. page指令。page指令用于设置整个页面的相关属性与功能,其语法格式为:
<%@ page attribute1="value1" attribute2="value2" ...%>
  1. include指令。include指令用于设置JSP页面中静态包含一个文件,其语法格式为:
<%@ include file="relateURL" %>

注意静态这两个字,所谓静态包含,是指JSP页面和被包含的文件先合并成一个新的JSP页面,然后JSP引擎将这个新的JSP页面转译为java类文件。其中,被包含的文件应与当前的JSP页面处于同一个Web项目中,可以是文本文件,html/xhtml文件,JSP页面或者java代码等,但必须保证合并合成的JSP页面符合JSP的语法规则,能够成为一个合法的JSP页面文件。


4、JSP动作标记之include动作

include动作标记用于告知JSP页面动态加载一个文件,即在JSP页面运行时才将文件引入。
其语法格式:

<jsp: include page="script/error.jsp">

说明: 所谓的动态包含,是指当JSP引擎把JSP页面转译成Java文件是,告诉Java解释器,被包含的文件在JSP运行时才包含进来。若被包含的文件是普通文本文件,则将文件的内容发送到客户端,由客户端负责显示。若包含的文件是JSP文件,则JSP引擎将执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示。
**注意:注意看上方的红色字体部分。include动作标记显示的是其包含的内容的文本内容或者JSP文件的一次执行结果,本质上JSP页面和其所包含的文件在逻辑上和语法上是独立的。


5、JSP内置对象之request对象

request对象为请求对象,其中封装了客户端请求的所有信息,如请求的资源,标头,Cookies以及与请求相关的参数值等。为获取请求的相关信息(如用户在form表单中所填写的数据等),可调用request对象的有关方法。
每当客户端请求一个JSP页面时,JSP引擎就会创建一个新的request对象来代表这个请求

6、JSP内置对象之session对象

session对象为会话对象,该对象封装了当前用户会话的有关记录。在实际应用中,通常用session对象存储用户在访问各个页面期间所产生的有关信息,并在页面之间共享。