Jsp与Servlet的关系

本文深入解析了JSP与Servlet的执行流程,包括从客户端请求到响应客户端的完整过程,强调了JSP首次执行时的编译阶段,以及之后执行速度与Servlet的相似性。同时,阐述了两者之间的关系,包括JSP文件的执行环境、生成过程、访问性能及与Servlet的交互方式。

JSP的执行性能和Servlet的执行性能相比:

       jsp在在执行第一次时,会被转译成java类,即Servlet,再将转译的源码编译成字节码文件即.calss,再次重复调用执行时,JSP Container会做检查工作,如果发现JSP网页有更新修改时,JSP Container才会再次编译JSP成Servlet; 如果JSP没有更新时,就直接执行前面所产生的Servlet,而不再重新把JSP编译成Servelt。因此,除了第一次的编译会花较久的时间之外,之后JSP和Servlet的执行速度就几乎相同。

Web容器处理JSP文件请求的执行过程主要包括以下4个部分:

1、客户端发出Request请求

2、JSP Container 将JSP转译成Servlet的源代码

3、将产生的Servlet源代码经过编译后,并加载到内存执行

4、把结果Response(响应)至客户端

在执行JSP网页时,通常可以分为两个时期:

1、转译时期(Translation Time):JSP网页转移成Servlet类。

转译期间做了两件事情:

1、转译时期:将JSP网页转移为Servlet源代码 .java.

2、编译时期:将Servlet 源代码 .java编译成 Servlet类 .class.

2、请求时期(Request Time):Servlet类执行后,响应结果至客户端。

 对于Tomcat而言,JSP页面生成的Java文件放在work路径对应的Web应用下。例如:

D:\Tomcat7.0\webapps\test\test.jsp

生成对应的java文件

D:\Tomcat7.0\work\Catalina\localhost\test\org\apache\jsp\test_jsp.java

 Jsp与Servlet的关系

      1、 JSP文件必须在JSP服务器内运行。

      2、 JSP文件必须生成Servlet才能执行。

      3、 每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。

      4、 JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。

      5、 JSP页面的静态内容、JSP脚本都会转换成Servlet的xxxService()方法,类似于自行创建Servlet时service()方法。

      6、 JSP声明部分,转换成Servlet的成员部分。所有JSP声明部分可以使用private,protected,public,static等修饰符,其他地方则不行。

      7、 JSP的输出表达式(<%= ..%>部分),输出表达式会转换成Servlet的xxxService()方法里的输出语句。

      8、 九个内置对象要么是xxxService()方法的形参,要么是该方法的局部变量,所以九个内置对象只能在JSP脚本和输出表达式中使用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值