jsp和servlet是什么关系

如题所述

第1个回答  2017-10-16

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

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

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

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

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

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


JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTML页面中出现的内容。

JSP通过在标准的HTML页面中插入Java代码,其静态的部分无须Java程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,才使用Java脚本控制。

事实上,JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。

jsp与servlet是什么关系
3、综合以上,jsp就是Servlet

JSP和servlet的关系是什么?
JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTML页面中出现的内容。由于包括大量的HTML标签、大量的静态文本及格式等,导致Servlet的开发效率极为低下。从表面上看,JSP页面已经不再需要Java类,似乎完全脱离了Java面向对象...

servlet和jsp之间的关系
1.JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。2.JSP编译后是"类servlet"。3.Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet...

jsp和servlet是什么关系
1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及...

通俗易懂的说一下JSP和Servlet有什么区别
【2】JSP是web开发技术,Servlet是服务器端运用的 小程序,我们访问一个JSP页面时,服务器会将这个JSP页面转变成Servlet 小程序运行得到结果后,反馈给用户端的浏览器。【3】Servlet相当于一个控制层再去调用相应的JavaBean处理数据,最后把结果返回给JSP。 【4】Servlet主要用于转向,将请求转向到相应的JSP...

Servlet与JSP 之间是什么样的关系?
1.JSP是一种脚本语言,包装了Java Servlet系统的界面,简化了Java和Servlet的使用难度,同时通过扩展JSP标签(TAG)提供了网页动态执行的能力。2.尽管如此,JSP仍没有超出Java和Servlet的范围,不仅JSP页面上可以直接写Java代码,而且JSP是先被译成Servlet之后才实际运行的。3.JSP在服务器上执行,并将执行...

jsp与servlet的区别和关系
Jsp和Servlet的不同点:1、Jsp和Servlet两者创建的方式不一样 2、两者都可以形成Html页面,但是Jsp更直观、方便,因为它可以直接用HTML标签和Javascript;而Servlet是采用CGI的方式一句一句输出HTML语言标签的,和JSP相比就显得的笨拙了。3、现在流行MVC模式,所以都是用Servlet控制业务流程,及Control层,JSP...

什么是jsp,什么是Servlet?jsp和Servlet有什么区别?
jsp与Servlet是Web开发中常用的两种技术。jsp实际上是Servlet的一种特殊形式,每个jsp页面会生成一个Servlet实例。Servlet是由Java提供的用于开发Web服务器应用程序的组件,运行在服务器端,由Servlet容器管理,用于生成动态内容。Servlet通过实现Servlet接口,自定义类来实现。它们的主要区别在于:jsp页面中的Java...

我主要是很奇怪 Servlet Jsp是什么关系 [编程]
Servlet 是服务器层,而JSP是页面层!在MVC思想中,Servlet与Jsp分别对应于Controller 与 View!后面的三个框架都是Java中MVC的经典框架!也是学Web开发的主题!所谓框架简单说就是前人已经做好了的东西(某一部分常用的),我们直接可以用!而这三个框架的最早的雏形也都是Servlet+JSP!最好在实践中取...

jsp和servlet有哪些相同点和不同点,它们之间的联系是什么
也就是说,JSP其实是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生产对应的Servlet。对于Tomcat而言,JSP页面生成的Servlet放在work\\Catalina\\localhost路径对应的Web应用下。不同点:1)Servlet中没有内置对象,原来JSP中的内置对象都必须由程序显式的创建...

相似回答