JSP执行过程的简单理解

客户端请求URL即请求JSP容器(比如tomcat)中的JSP页面,第一个用户请求JSP文件的时候,

把JSP文件转换成java文件(servlet类文件),然后在编译成class文件。

执行并把执行结果以HTML的格式返回给客户端浏览器。

客户端浏览器解释HTML标签呈现给用户。由于编译后的class文件常驻内存(在jsp没有被修改的情况下)

如果再次有客户请求,直接开一个线程,无需重新编译,直接执行第一次已经编译好的class文件

这样速度要快一些,当然如果jsp文件发生变化,那么就需要重新编译一次。

 

参考博客:

JSP程序是在服务器端(JSP容器)运行的。服务器端的JSP引擎解释执行JSP代码,然后将结果以HTML页面形式发送到客户端。
 当Web客户端发送过来一个页面请求时,Web服务器先判断是否为JSP页面请求。如果该页面只是一般的HTML/XML页面请求,则直接将HTML/XML页面代码传给Web浏览器端;如果请求的页面是JSP页面,则由JSP引擎检查该JSP页面,若该JSP页面是第一次请求,或不是第一次呗请求但已经被修改,则JSP引擎将此JSP页面代码转换为Serlet代码,然后,进行编译生成字节码文件,再执行并将执行结果传给Web浏览器;如果该JSP页面不是第一次被请求,且没有被修改过,则直接由JSP引擎调用Java虚拟机执行已经编译过的字节码文件,然后根据字节码执行的结果,生成对应的纯HTML的字符串返回给浏览器,这样就可以把动态程序的结果展示给用户。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值