黑马程序员技术交流社区
标题:
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
[打印本页]
作者:
蒋太原
时间:
2013-3-19 12:43
标题:
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
作者:
郭利超
时间:
2013-3-19 12:48
jsp是动态页面,之所以是动态的,是因为它允许在html中加入java代码来实现其动态性,而servlet就是一个纯java类。jsp页面最终也是被编译成servlet来运行的
Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。现在许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器,也可以通过附件的应用服务器和模块来支持Servlet,这得益于Java的跨平台特性。另外,由于Servlet内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Servlet的效率非常高。
但它并不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet也是利用输出HTML语句来实现动态网页的,如果用它来开发整个网站,动态部分和静态页面的整合过程将变得无法想象。这就是SUN还要推出JSP的原因
作者:
郝强勇
时间:
2013-3-19 13:54
其实Servlet和Jsp都是开发动态web的技术,一开始只有Servlet技术,但servlet技术在页面输出的时候比较复杂,因为都要输出成html格式,因此诞生了Jsp,我自己理解Jsp就像是Servlet的包装技术,其本质还是servlet,实际开发中Jsp也是先翻译成servlet在被web容器调用的。
在web开发中,Servlet和Jsp相互协作,一般情况servlet负责处理逻辑,将得到的结果数据通过bean对象的形式传递给Jsp,jsp在取出数据,因为jsp本身具有html的基本元素,所以在输出数据美化页面方面要简单的多,这是从宏观上说一下servlet和Jsp的关系。
作者:
聂斌
时间:
2013-3-19 14:09
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。
JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来,而JSP的情况是Java和HTML可以组合成一个扩展 名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
JSP和Servlet和本质上都是java类。你编写的jsp文件,初看起来虽然绝对不像一个java类,但当你把它部署到容器中后,如tomcat。tomcat将会把它翻译为Servlet,最后在把它编为.class文件。你可以在“[TOMCAT_HOME]\work\Catalina\localhost\应用程序名称”中看到。
1.既然jsp归根结底是servlet,那为啥发明个这玩意呢?
最直接的原因是:在servlet写html会恶心死人的,呵呵。
2.为什么容器(tomcat)先把它翻译成Servlet(java),在编译成.class?为何不一步到位?
因为我们已经有java->.class这一部分了,利用jsp->Servlet(java)->.class 不是少开发了一部分
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2