图解JSP与Servlet的关系

原创 2011年01月24日 23:41:00

ServletJava提供的用于开发Web服务器应用程序的一个组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容。Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。

 

如图所示,Java提供一系列接口类(所谓接口类就是类中所有方法只提供方法声明,不提供任何的方法实现,这些类的实现就留给后继者去做。):ServletServletConfigSerializable,然后通过多重继承产生一个最通用的Servlet实现类(图中Gerneric Servlet类),接下来,通过一个多重继承与实现,产生一个新的实现类HttpServlet,用户在开发Servlet程序时只需继承这个类,从而产生一个自己的类(图中Hello_Servlet类),然后根据实际开发功能与信息处理需要,去实现该类中的相关方法即可。这就是前面提到的按照Servlet规范编写一个Java类,从而编写一个Servlet

至于JSPJavaServlet Page)从图中可以看出,实际上它也是从Servlet继承而来。只不过它在Servlet当中又添加/修改了一些方法,作了新的封装。具体到Tomcat Web应用服务器中,它通过一个多重继承,分别从JavaHttpJspPageHttpServlet两个类那里继承和实现一些方法,然后封装一个叫做HttpJspBase的类从而实现了一个通用化的JSP类,用户在开发自己的JSP时,只需要从HttpJspBase继承一个自己的类(如图中Hello_jsp类),然后根据需要去实现相应的方法即可。

因此这也是为什么JSP的代码中总是闪现Servlet代码框架影子的原因,其实它们只是为实现同样的功能而进行了不同封装的组件而已,血脉里留着的是一样的血。

“既生瑜何生亮?”呵呵,因为JSP确实比Servlet要更胜一筹,所谓“青出于蓝胜于蓝”,既然Sun公司要在Servlet基础上推出JSP技术,那肯定是因为JSP有它更高明的地方。

使用Servlet产生动态网页,需要在代码中打印输出很多HTML的标签,此外,在Servlet中,我们不得不将静态现实的内容和动态产生内容的代码混合在一起。使用Servlet开发动态网页,程序员和网页编辑人员将无法一起工作,因为网页编辑人员不了解Java语言,无法修改Servlet代码,而Java程序员可能也不是很了解网页编辑人员的意图,以至于无法修改和实现网页功能。为了解决这些问题,Sun公司就推出了JSP技术。

 

 

 

相关文章推荐

HDFS集群搭建,高可用双机热备模式(HA)自动切换,hdfs+zookeeper+journalnode,步骤分步原理详解(适合初学者)

前 言 作者也是初学hadoop,了解各组件的用途,并且项目中有些东西用不到,所以作者用最简化的组件搭建,避免多余资源的浪费,作者最初构想是zookeeper+hdfs搭建一个分布式文件系统,不用y...

【Linux】可重入函数和线程安全的区别与联系

*****可重入函数        函数被不同的控制流程调用,有可能在第一次调用还没返回时就再次进入该函数,这称为重入。在进行链表的插入时,insert函数访问一个全局链表,有可能因为重入而造成错乱,...
  • Scenlyf
  • Scenlyf
  • 2016年07月30日 19:15
  • 1925

图解JSP与Servlet的关系

Servlet是Java提供的用于开发Web服务器应用程序的一个组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容。Servlet是平台独立的Java类,编写一个Servlet,实际...

jsp中9个内置对象与servlet对应关系及四个作用域

参考:  《jsp&servlet学习笔记.第2版.林信良》 《JSR-245 JavaServer Pages 2.2 Maintenance Release Specification》 ...

JSP与Servlet有什么关系

  • 2012年08月23日 18:02
  • 41KB
  • 下载

servlet/jsp(一) 原理和关系

小结了一下servlet/jsp(一) 原理和关系,方便自己加深印象,借用了网上两张图片做个伪原创。 一、servlet 1、servlet需要容器的支持才能运行,如Tomcat 、jetty....

JSP内置对象与servlet对应关系

隐式对象 说明 out 转译后对应JspWriter对象,其内部关联一个PringWriter对象 request ...

web容器 web服务器 servlet/jsp容器 之间的区别和关系

今天学习tomcat时发现一篇写的比较好的文章,故分享给大家 Web服务器(软件): Apache http server, 这个它的网址,http://httpd.apache.org/...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图解JSP与Servlet的关系
举报原因:
原因补充:

(最多只允许输入30个字)