Jsp与Servlet的关系

来源:互联网 发布:天猫秒杀软件哪个好 编辑:程序博客网 时间:2024/05/01 16:07

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脚本和输出表达式中使用。


0 0
原创粉丝点击