A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

点评

再次提醒:如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,否则将扣除技术分,谢谢  发表于 2013-3-20 19:24
如果问题已经解决,请尽快将问题分类改为“已解决”,谢谢  发表于 2013-3-20 07:41

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

3 个回复

倒序浏览
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的原因

评分

参与人数 1技术分 +1 收起 理由
scott0610 + 1 赞一个!

查看全部评分

回复 使用道具 举报
      其实Servlet和Jsp都是开发动态web的技术,一开始只有Servlet技术,但servlet技术在页面输出的时候比较复杂,因为都要输出成html格式,因此诞生了Jsp,我自己理解Jsp就像是Servlet的包装技术,其本质还是servlet,实际开发中Jsp也是先翻译成servlet在被web容器调用的。
    在web开发中,Servlet和Jsp相互协作,一般情况servlet负责处理逻辑,将得到的结果数据通过bean对象的形式传递给Jsp,jsp在取出数据,因为jsp本身具有html的基本元素,所以在输出数据美化页面方面要简单的多,这是从宏观上说一下servlet和Jsp的关系。
回复 使用道具 举报
  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 不是少开发了一部分

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马