jsp是什么? *** P的运行原理是什么?

访客3年前黑客工具787

在动态Web项目的开发中,经常需要动态生成HTML。内容(如系统中的当前在线人数需要动态生成)。如果使用Servlet实现HTML页面数据的统计,则需要使用大量的输出语句。同时,如果静态内容和动态内容混合在一起,那么也将导致程序非常臃肿。为了克服Servlet的这些缺点,Oracle( Sun)公司推出了 *** P技术。

*** P(Java Server Pages)是建立在Servlet规范之上的动态网页开发技术,其实质是一个简化的Servlet,在 *** P文件中,HTML代码与Java代码共同存在,其中,HTML代码用于实现网页中静态内容的显示,Java代码用于实现网页中动态内容的显示。为了与传统HTML有所区别, *** P文件的扩展名为jsp。

*** P技术所开发的Web应用程序是基于Java的,其使用具有如下几点特征。
 

1、预编译

预编译指在用户之一次通过浏览器访问 *** P页面时,服务器将对 *** P页面代码进行编译,并且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时会直接执行编译好的代码。这样不仅节约了服务器的CPU资源,还大幅度提升了客户端的访问速度。

2、业务代码相分离

在使用 *** P技术开发Web应用时,可以将界面的开发与应用程序的开发分离,

3、组件重用

*** P可以使用JavaBean编写业务组件,也就是使用一个JavaBean类封装业务处理代码或者将其作为一个数据存储模型,在 *** P页面甚至整个项目中,都可以重复使用这个JavaBean,同时,JavaBean也可以应用到其他Java应用程序中

4、跨平台

由于 *** P是基于Java语言的,它可以使用Java API,所以它也是跨平台的,可以应用于不同的系统,如 Windows和Linux等。

 

*** P运行原理

*** P的工作模式是请求/响应模式,客户端首先发出HTTP请求, *** P程序收到请求后将进行处理并返回处理结果。在一个 *** P文件之一次被请求时, *** P引擎(容器)把该 *** P文件转换成一个Servlet,而这个引擎本身也是一个Servlet, *** P的运行原理如下图:

什么是JSP,JSP的运行原理是什么?

 

*** P的运行过程具体如下。

(1) 客户端发出请求,请求访问 *** P文件。

(2) *** P容器先将 *** P文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果发现 *** P文件中存在任何语法错误,则中断转换过程,并向服务端和客户端返回出错信息。

(3) 如果转换成功,则 *** P容器会将生成的Java源文件编译成相应的字节码文件*.class。该class文件就是一个Servlet,Servlet容器会像处理其他Servlet一样处理它。

(4) 由Servlet容器加载转换后的Servlet类(class文件)创建一个该Servlet *** P页面的转换结果)的实例,并执行Servlet的jsplnit() *** 。jspInit() *** 在Servlet的整个生命周期中只会执行一次。

(5) 执行jspService() *** 处理客户端的请求。对于每一个请求, *** P容器都会创建个新的线程处理它。如果多个客户端同时请求该 *** P文件,则 *** P容器会创建多个线程,使每个客户请求都对应一个线程。

(6) 如果 *** P文件被修改了,则服务器将根据设置决定是否对该文件重新进行编译,果需要重新编译,则使用重新编译后的结果取代内存中的Servlet,并继续上述处理过在需要注意的是,虽然 *** P效率很高,但在之一次调用时往往由于需要转换和编译,所以会生一些轻微的延迟。

(7) 如果系统出现资源不足等问题, *** P容器可能会以某种不确定的方式将Servlet从内存中移除,发生这种情况时,首先会调用jspDestroy () *** ,然后Servlet实例会被作为“垃圾”进行处理。

(8) 当请求处理完成后,响应对象由 *** P容器接收,并将HTML格式的响应信息发送回客户端。

标签: 原理jsp

相关文章

jsp文件怎么打开?java-web中jsp的理解

jsp文件怎么打开?java-web中jsp的理解

jsp文件怎么打开(java-web中jsp的理解)JSP:Java Server Pages。JSP是一种网页的编码格式,不同于HTML的是JSP中是由 HTML中的标签指令 和 Java逻辑代码...