当前位置: 技术问答>java相关
谁能告诉我jsp和java servelets的区别???
来源: 互联网 发布时间:2015-04-08
本文导语: 请详述! | jsp需要转化成servlet才能编译运行 | 简单的说,JSP是一种服务器端脚本语言(Server Side Script),它包装了Java Servlet系统的界面,简化Java和Servlet的使用难度,同时通...
请详述!
|
jsp需要转化成servlet才能编译运行
|
简单的说,JSP是一种服务器端脚本语言(Server Side Script),它包装了Java Servlet系统的界面,简化Java和Servlet的使用难度,同时通过扩展的JSP标签提供了网页动态执行的能力。尽管如此,JSP仍然没有超出Java和Servlet的范围,不仅JSP页面上可以直接书写Java代码,而且JSP是先被编译成Servlet之后才实际运行的。JSP在服务器端,即Web服务器上执行,并将执行结果输出到客户端(Client)浏览器,基本上与浏览器无关。实际上JSP就是Java,就是Servlet,只是它是一个特别的Java语言
JSP与Servlet之间的主要差异在于,JSP提供了一套简单的标签,使不了解Servlet的人可以作出动态网叶来。
如果对于Java语言不是很熟悉的人,会觉得JSP开发比较方便。JSP修改后立即可以看到结果,不需要手工编译,JSP引擎会自动来做这些工作;而Servlet却需要编译、重新启动Servlet引擎等一系列动作。但是在JSP中,HTML与程序代码混杂会显得较为混乱,而且不利于调试和除错,这一点上不如Servlet来得方便。
当Web服务器(或Servlet引擎、应用服务器)支持JSP引擎时,JSP引擎就会按照JSP的语法,将JSP文件转换成Servlet源代码文件,接着Servlet会被编译成Java的可执行字节码,并以一般的Servlet方式载入、执行。
如果除去转换和编译阶段,JSP和Servlet之间的区别实在是不大。JSP引擎通常架构在Servlet引擎之上,其本身就是一个Servlet,把JSP文件转译成Servlet源代码,再调用Java编译器,编译成Servlet。这也是JSP在第一次调用是速度较慢的原因,在第一次编译之后,JSP与Servlet的执行速度相同。在整个运行过程中,JSP引擎会检查编译好的JSP(以Servlet形式存在)是否比原始的JSP文件还新,如果是,JSP引擎不会编译;如果不是,表示JSP文件比较新,就会重新执行一边转译与编译过程。
JSP与Servlet之间的主要差异在于,JSP提供了一套简单的标签,使不了解Servlet的人可以作出动态网叶来。
如果对于Java语言不是很熟悉的人,会觉得JSP开发比较方便。JSP修改后立即可以看到结果,不需要手工编译,JSP引擎会自动来做这些工作;而Servlet却需要编译、重新启动Servlet引擎等一系列动作。但是在JSP中,HTML与程序代码混杂会显得较为混乱,而且不利于调试和除错,这一点上不如Servlet来得方便。
当Web服务器(或Servlet引擎、应用服务器)支持JSP引擎时,JSP引擎就会按照JSP的语法,将JSP文件转换成Servlet源代码文件,接着Servlet会被编译成Java的可执行字节码,并以一般的Servlet方式载入、执行。
如果除去转换和编译阶段,JSP和Servlet之间的区别实在是不大。JSP引擎通常架构在Servlet引擎之上,其本身就是一个Servlet,把JSP文件转译成Servlet源代码,再调用Java编译器,编译成Servlet。这也是JSP在第一次调用是速度较慢的原因,在第一次编译之后,JSP与Servlet的执行速度相同。在整个运行过程中,JSP引擎会检查编译好的JSP(以Servlet形式存在)是否比原始的JSP文件还新,如果是,JSP引擎不会编译;如果不是,表示JSP文件比较新,就会重新执行一边转译与编译过程。
|
jsp=java server pages:是一种基于服务器端的脚本语言,它主要依靠服务器端的java脚本引擎解释执行,在客户端得到是超文本标记语言HTML写成的代码,而不是jsp文件。java servelets我还不是很清楚它到底是个什么东西,我也想知道:),告诉我,谢谢你。
|
servlets是纯粹的java程序,生成网页要在程序内部写好html代码,但有些程序员对页面美观方面不熟;
jsp则是脚本为主,编写简单,祢补servlets的不足,使得java程序和html、xml等页面分离,分别设计,更有利于开发;
jsp的java程序的编写尚要依赖于servlets;
jsp可由jsp引擎解释成servlets,再由jdk编译运行,也像servlets一样,程序运行后,能一直驻留在内存里,效率较高。
jsp则是脚本为主,编写简单,祢补servlets的不足,使得java程序和html、xml等页面分离,分别设计,更有利于开发;
jsp的java程序的编写尚要依赖于servlets;
jsp可由jsp引擎解释成servlets,再由jdk编译运行,也像servlets一样,程序运行后,能一直驻留在内存里,效率较高。