Chinaunix首页 | 论坛 | 博客
  • 博客访问: 506229
  • 博文数量: 106
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 1380
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-21 09:35
文章分类

全部博文(106)

文章存档

2010年(3)

2009年(14)

2008年(55)

2007年(34)

我的朋友

分类: 系统运维

2007-05-21 11:45:42

为什么说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方法
阅读(725) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~