相同点:都是使用JAVA语言进行开发的,联系:JSP依赖于Servlet。不同点如下:
一、主体不同
1、JSP:是由Sun Microsystems公司主导创建的一种动态网页技术标准。
2、Servlet:称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性。
二、功能不同
1、JSP:部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。
2、Servlet:功能在于交互式地浏览和生成数据,生成动态Web内容。
三、特点不同
1、JSP:技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
2、Servlet:Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
参考资料来源:百度百科-servlet
参考资料来源:百度百科-JSP
jsp和servlet的区别和联系:
1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
联系: 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://hi.baidu.com/haifengjava/blog/item/804a1cfa261a1016a9d3117d.html
图解的
JSP和Servlet和本质上都是java类。你编写的jsp文件,初看起来虽然绝对不像一个java类,但当你把它部署到容器中后,如tomcat。tomcat将会把它翻译为Servlet,最后在把它编译为.class文件。你可以在“[TOMCAT_HOME]\work\Catalina\localhost\应用程序名称”中看到。