1、JSP是Java Server Pages 的缩写。
2、JSP的技术特点:
(1)、能够在任何WEB或应用程序服务器上运行
(2)、将程序逻辑和页面显示相分离
(3)、采用标签简化页面开发
(4)、组件可重用
3、JSP的运行机制(当一个JSP文件第一次被请求时,JSP容器会先把该JSP文件转换成一个Servlet)
JSP的运行过程为:
(1)、JSP文件转换成Java源文件(Java Servlet源程序),期间如果存在语法错误,
则中断转换,并向服务端和客户端返回错误信息。
(2)、如果转换成功,则JSP容器使用Javac将Java源文件编译成字节码文件*.class(Servlet类),
Servlet容器会像处理其他的Servlet一样来处理它。
(3)、创建一个该Servlet(jsp页面转换)的实例(常驻内存),并执行Servlet的 jspInit()方法,jspInit()方法在Servlet的整个生命周期中只会被执行一次。
(4)、执行_jspService()方法来处理客户端的请求,对于每个请求,JSP容器都会创建一个新的线程来处理它,JSP运行过程中采取的
这种多线程的执行方式降低了对系统资源的需求,提高系统的并发量和响应时间
(5)、如果.jsp文件被修改了,则服务器将根据设置决定是否对该文件重新编译
(6)、第一次打开*.jsp时,由于需要转换和编译过程而产生一些延迟,此外由于系统资源不足等原因,JSP容器会以某种不确定的方式将Servlet
从内存中移去(调用jspDestory()方法,然后该实例被加入“垃圾收集”处理)。
(7)、当请求处理完成后,响应对象由JSP容器接收,并将HTML格式的响应信息发送回客户端。
注意:可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源。
public void jspInit()方法:该方法在JSP页面初始化时被调用,用于完成初始化工作,类似于Servlet中的Init()方法。
public void jspDestory()方法:该方法在JSP页面将被撤销时调用,用于完成JSP的清除工作。
public void _jspService(javax.servlet.http.HttpServletRequest request,javax.servlet.http.HttpServlet Response response)方法:
该方法对应JSP页面的主体body部分,由JSP容器自动生成,页面设计人员不能提供该方法的实现。