JSP中java代码和js代码的执行问题

先了解jsp的执行过程:

一、JSP执行过程,以及生命周期 
JSP 的执行过程 
(1) 客户端发出Request (请求); 
(2) JSP Container 将JSP转译成Servlet的源代码; 
(3) 将产生的Servlet 的源代码经过编译后,并加载到内存并进行实例化; 
(4) 把结果Response (响应)至客户端。 
在执行 JSP 网页时,通常可分为两个时期:转译时期(Translation Time)和请求时期(Request Time) 
转译时期:JSP网页转译成Servlet类。 
请求时期:Servlet类执行后,响应结果至客户端。  
注: 
转译期间主要做了两件事情:将JSP网页转译为 Servlet 源代码(.java),此段称为转译时 
期(Translation time);将Servlet源代码(.java)编译成 Servlet 类(.class),此段称为编译时期(Compilation time)。 
生命周期 
1、转换 验证JSP页面,没有出现错误,就创建一个包含servlet类的java文件; 
2、编译 把java文件编译成类(.class)文件 并报告语法错误 
3、加载和实例化 编译成功则将servlet类加载到内存中,并对其进行实例化; 
4、jspInit() 执行一次初始化; 
5、jspService() 进行请求处理; 
6、jspDestroy() JSP引擎从服务器中删除servlet实例时,会调用jspDestroy(); 

二、javascript

javascript是脚本语言,是嵌套于网页在浏览器端执行

所有的JSP都会在客户端发出请求后被容器转译成servlet的源代码(java),然后再将源码(java)编译成servlet的类(class),放入到内存里面。
下面讨论下集中容易混淆的js自行问题:
1、JSP中onload,或者jquery的document.ready,或者简写的$(function),是不是就相当于servlet中的初始化init()方法;
答案肯定是否定的,所有的jsp中的代码都是在service方法中执行的。这个你可以直接看jsp编译后的文件就一目了然了。
2、onload和jquery的document.ready到底哪个先执行;
onload指示页面包含图片等文件在内的所有元素都加载完成。
document.ready表示文档结构已经加载完成(不包含图片等非文字媒体文件)。
所以说:document.ready在onload 前加载。
3、写在下面的js和document.ready哪个先执行;
jsp就相当于java,所以执行顺序一样是从上往下,而ready是要在文档结构加载完成的情况下才执行,
所以说,下面的js肯定是先执行。
那如果把ready也写在下面呢,道理一样,也肯定是下面的js先执行


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值