JSP与Java Servlet的关系

                       JSP与Java Servlet的关系

相信很多人在学JSP时,都会被JSP和Servlet弄得云里雾里,不知所云。那么现在我就来讲下JSP与Servlet之间的区别与联系起到一定的帮助,希望对大家学习JSP,希望对大家学习JSP起到一定的帮助。
下面我们将主要解决以下几个问题:

1、什么是JSP?

2、什么是Servet?

3、JSP产生的原因?

4、Servlet与JSP的区别?

5、JSP是如何执行的?

我们把这几个问题弄清楚了,才能更深入的学习JSP,如果你连这几个都没有弄清楚,那还要请你多花些功夫去搞懂,反正本人弄懂这些问题也是很花了些气力,希望与大家分享一下。


一、什么是JSP?
JSP是Java Server Page的缩写,也就是java服务器页面,简单点来说,JSP就是嵌入了Java代码的HTML;


二、什么是Servet?
Servlet是Server Applet的缩写,未有中文译文,是Java语言的一部分,提供了用于服务器编程的API。Java Servlet就是编写在服务器端创建对象的Java类,习惯上称为Servlet类,
简单的说,Servlt就是嵌入了HTML的Java类


三、JSP产生的原因?
在JSP技术出现之前,Web应用开发人员就是自己编写Servlet类,并负责编译生成字节码文件、复制这个字节码文件到服务器的特定目录中,以便服务器使用这个Servlet类的字节码创建一个Servlet来响应用户的请求。Java Servlet 最大的缺点是不能有效的管理页面的逻辑部分和页面的输出部分,导致Servlet类的代码非常混乱,单独使用Java Servlet来管理网站变成一件很困难的事情。为了克服Java Servelt的缺点,Sun公司用Java Servlet作为基础,推出了Java Servlet Page。JSP技术就是以Java Servlet为基础,提供了Java Servlet的几乎所有好处,当客户请求一个JSP页面的时候,Tomcat服务器自动生成Java文件、编译Java文件,并用编译得到的字节码文件在服务器端创建一个Servlet。


四、Servlet与JSP的区别?
1.JSP是为了解决Servlet中相对困难的编程技术而开发的技术,因此,JSP在程序的编写方面比Servlet要容易的多.
2.Sevlet必须在编译以后才能执行,JSP不需要另外编译,JSP Container会自动完成这一工作
3.由于JSP Containner将JSP程序编译成Servlet的时候需要一些时间,所以JSP的运行速度比Servlet要慢一些,不过,如果JSP能毫无变化的重复使用,它在第一次以后的调用中运行速度就和Servelt一样了,这是因为JSP Container接收到请求以后会确认传递过来的是JSP是否有改动,如果没有改动的话,会直接调用JSP编译过的Servlet类,并提供给客户端解有改动释执行,如果JSP文件改变了,JSP Container将重新将它编译Servlet,然后提交给客户端


五、JSP是如何执行的?

首先由浏览器向Web服务器提出访问JSP页面的请求(Request),然后由JSP容器根据请求,将用户所需的JSP页面转换成Servlet,产生的Servlet经过编译后生成类文件,然后再把类文件加载到内存进行执行。最后由Web服务器将执行结果响应(Response)给客户端浏览器。

以下是JSP执行的过程图:

                                                     

猜你喜欢

转载自1084647490.iteye.com/blog/2280396