对于JSP的又一个认识

来源:互联网 发布:梦想世界善恶知在哪看 编辑:程序博客网 时间:2024/04/27 16:45

       我们都知道, JSP实现的功能是运行在服务器中,但是最后返回的是html的页面给客户端,其强大之处在于其包含了java代码,能够很好的实现数据的交互。

总的来说,JSP包含了静态和动态的两个页面部分,毫无疑问,静态的就是包含的像css html javacript等内容,而动态则是包含的是jsp的元素,例如像指令,脚本,内置对象

值得注意的一点是声明指令(开发的时候用的不多),但是要注意在声明中声明的变量时一个全局变量,相当于属性,能长久保存,而局部变量则没有这个功能,方法体执行完其失效。

     之前我很困惑,为什么第一次请求jsp页面的时候比第二次的请求慢,今天张老师讲了,jsp请求页面的过程,原来在第一次请求jsp页面的时候,服务器会将jsp文件翻译成java源文件,然后调用jdk中的javac命令(我们都知道,服务器中配置了jdk和环境变量的)将java文件编译为.class文件 -->jvm运该文件,最后返回的是html

然而在第二次运行的时候则直接跳转到jvm运行第一次编译好的字节码文件,返回html,故速度比第一次快很多.

     <%@ include file="文件名.jsp" %>    包含另一个页面( 公用的模块 ):即包含指令,一个很强大的指令,使得代码更加的简洁,高效,奈何有一个比较大的缺陷,即在进行静态包含的时候,多个文件可能会出现变量名重名而引起的错误,嗯,包含指令可以分为静态包含和动态包含,静态包含是java源代码,即将包含的页面的.jsp代码翻译成为java代码后,再合并到一起,然后编译,这时候就会出现变量名重名.。但是动态包含没有这个缺陷,因为动态包含翻译的是html代码。

      今晚还了解了request对象, 以前只是觉得网站是一个很神奇的东西,数据从哪里来,要到哪里去,从哪个网站接入到当前网站的人数多,原来都是要通过request对象来提取,因为

它的主要功能就是服务器端接收客户端以HTTP方式传送给客户端数据.但是其方法特别多,由于其联系了前段和后台,所以很有必要的实现“高内聚,低耦合”这一原则, 要很好的使用request对象,就要对其的操作进行封装,在不使用框架的情况下,用反射技术是一个不错的选择,反射技术的理解我已写在博客中,提醒自己要多去看看。

       jsp是一个非常重要的技术点,加油,努力学好它!!!



0 0
原创粉丝点击