很多人都会认为JSP的执行性能会和Servlet相差很多,其实执行性能上的差别只在第一次的执行。因为JSP在执行第一次后,会被编译成Servlet的类文件,即.class,当再重复调用执行时,就直接执行第一次所产生的Servlet,而不再重新把JSP编译成Servelt。
因此,除了第一次的编译会花较久的时间之外,之后JSP和Servlet的执行速度就几乎相同了。Web容器处理JSP文件请求的执行过程主要包括以下几部分:
将产生的Servlet源代码经过编译后,并加载到内存执行
在执行JSP网页时,通常可以分为两个时期:转译时期(TranslationTime)和请求时期(RequestTime)。
◆转译时期:JSP网页转移成Servlet类。
◆请求时期:Servlet类执行后,响应结果至客户端。JSP
转译期间做了两件事情:
当JSP网页在执行时,JSPContainer会做检查工作,如果发现JSP网页有更新修改时,JSPContainer才会再次编译JSP成Servlet;如果JSP没有更新时,就直接执行前面所产生的Servlet。
编译执行showdate_jsp.class类,处理请求,返回响应,容器将生成的页面返回给客户端显示。
新闻热点
疑难解答