为什么说jsp比asp要快,因为对于asp,每次客户请求的时候,服务器都需要对asp编译一次,然后发送结果。而jsp的执行流程是 jsp容器(比如tomcat),第一个用户请求jsp文件的时候,把jsp文件转换成java文件(servlet类文件),然后再编译成class文件,常驻内存。然后再次有客户请求的时候,直接再开一个线程,而不是一个进程,无须重新编译,直接执行第一次已经编译好的class文件,速度当然要快。当然,如果jsp文件发生变化,那么就需要重新编译一次。
jsp的执行过程:
转换:处理所有的jsp元素,并确定jsp中的错误
编译:为每个jsp创建一个单独的servlet
执行:输出缓冲,错误处理
jsp的生命周期:(与Servlet比较相似)
1 jspinit jsp容器创建一个对象的时候,执行jspinit方法,该方法在jsp的生命周期中只执行一次。
2 jspService jsp容器处理客户请求的时候,调用这个方法,对于每一个客户的请求,jsp容器新建一个线程来处理。
3 jspDestory方法 由于servlet常驻内存,所以jsp响应速度快。当系统资源不足的时候,需要将Servlet移出内存,此时执行jspDestory方法
阅读(741) | 评论(0) | 转发(0) |