Servlet是一种服务器端的Java应用程序,具备独立于平台和协议的特性,能够生成动态的Web页面。它担当客户请求(Web浏览器或其余HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不一样,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。web
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能经过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。数据库
JSP是一种脚本语言,包装了Java Servlet系统的界面,简化了Java和Servlet的使用难度,同时经过扩展JSP标签(TAG)提供了网页动态执行的能力。JSP提供了一套简单的标签,和HTML融合的比较好,可使不了解Servlet的人能够作出动态网页来。对于Java语言不熟悉的人,会以为JSP开发比较方便。JSP修改后能够当即看到结果,不须要手工编译,JSP引擎会来作这些工做;而Servelt缺须要编译,从新启动Servlet引擎等一系列动做。可是在JSP中,HTML与程序代码混杂在一块儿,而Servlet却不是这样。下面咱们对JSP的运行来作一个简单的介绍,告诉你们怎样来执行一个JSP文件:当Web服务器(或Servlet引擎,应用服务器)支持JSP引擎时,JSP引擎会照着JSP的语法,将JSP文件转换成Servlet代码源文件,接着Servlet会被编译成Java可执行字节码(bytecode),并以通常的Servlet方式载入执行JSP语法简单,能够方便的嵌入HTML之中,很容易加入动态的部分,方便的输出HTML。在Servlet中输出HTML缺须要调用特定的方法,对于引号之类的字符也要作特殊的处理,加在复杂的HTML页面中做为动态部分,比起JSP来讲是比较困难的。编程
2、二者之间的联系和区别小程序
【1】JSP第一次运行的时候会编译成Servlet,驻留在内存中以供调用。浏览器
【2】JSP是web开发技术,Servlet是服务器端运用的小程序,咱们访问一个JSP页面时,服务器会将这个JSP页面转变成Servlet小程序运行获得结果后,反馈给用户端的浏览器。服务器
【3】Servlet至关于一个控制层再去调用相应的JavaBean处理数据,最后把结果返回给JSP。架构
【4】Servlet主要用于转向,将请求转向到相应的JSP页面。编程语言
【5】JSP更多的是进行页面显示,Servlet更多的是处理业务,即JSP是页面,Servlet是实现JSP的方法。网站
【6】Servlet能够实现JSP的全部功能,但因为美工使用Servlet作界面很是困难,后来开发了JSP。命令行
【7】JSP技术开发网站的两种模式:JSP + JavaBean;JSP + Servlet + JavaBean(通常在多层应用中, JSP主要用做表现层,而Servlet则用做控制层,由于在JSP中放太多的代码不利于维护,而把这留给Servlet来实现,而大量的重复代码写在JavaBean中)。
【8】两者之间的差异就是,开发界面是JSP直接能够编写。
好比在JSP中写Table标记:<table>[数据]</table>;
Servlet须要加入:out.println(“<table>[数据]</table>”)。
JSP文件在被应用服务器(例如:Tomcat、Resin、Weblogic和Websphere),调用过以后,就被编译成为了Servlet文件。也就是说在网页上显示的实际上是Servlet文件。Tomcat下面JSP文件编译以后生成的Servlet文件被放在了work文件夹下,JSP中的HTML代码在Servlet都被out出来,而JSP代码按照标签的不一样会放在不一样的位置。
【9】JSP中嵌入JAVA代码,而Servlet中嵌入HTML代码。
【10】在一个标准的MVC架构中,Servlet做为Controller接受用户请求并转发给相应的Action处理,JSP做为View主要用来产生动态页面,EJB做为Model实现你的业务代码。