那个jsp和servlet有什么区别?

谢谢!
说得详细点!

1.Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。

Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

2.JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

3.JSP和Servlet相同点:

JSP可以被看作一个特殊的Servlet,它只不过是对Servlet的扩展,只要是JSP能够完成的工作,使用Servlet都可以完成,例如生成动态的页面;

由于JSP页面最终要被转换成Servlet来运行,因此处理请求实际上是编译后的Servlet。

4.JSP和Servlet的擅长方便不同:

Servlet的实现方式是在java代码中嵌入HTML代码,编写和修改HTML非常不方便,所以适合做流程控制和业务逻辑的处理;

JSP实现的方式是在HTML中嵌入java代码,比较适合页面的显示。

5.JSP和Servlet内置对象不同:

Servlet中没有内置对象,JSP中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。



温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-11-08

1、擅长方向不同;

Servlet能够很好地组织业务逻辑代码,但是在Java源文件中通过字符串拼接的方式生成动态HTML内容会导致代码维护困难、可读性差。

JSP实现的方式是在HTML中嵌入java代码,比较适合页面的显示。JSP虽然规避了Servlet在生成HTML内容方面的劣势,但是在HTML中混入大量、复杂的业务逻辑同样也是不可取的。

2、内置对象;

Servlet中没有内置对象。

JSP中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。

扩展资料

1、Servlet

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。

它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 

2、JSP

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

本回答被网友采纳
第2个回答  推荐于2019-08-28

总的可以理解为:jsp就是在html里面写java代码,servlet就是在java里面写html代码…其实jsp经过容器解释之后就是servlet。具体不同描述如下:

一、jsp和servlet的不同之处

1.Servlet在Java代码中通过HttpServletResponse对象动态输出HTML内容

2.JSP在静态HTML内容中嵌入Java代码,Java代码被动态执行后生成HTML内

二、jsp和servlet各自的特点

1.Servlet能够很好地组织业务逻辑代码,但是在Java源文件中通过字符串拼接的方式生成动态HTML内容会导致代码维护困难、可读性差

2.JSP虽然规避了Servlet在生成HTML内容方面的劣势,但是在HTML中混入大量、复杂的业务逻辑同样也是不可取的

扩展资料:

JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

参考资料:Jsp和Servlet有什么区别?

JSP-百度百科

    本回答被网友采纳
    第3个回答  推荐于2019-11-15

    SP与Servlet主要有两方面的不同:

    1、编译:JSP修改后可以立即看到结果,不需要编译;而Servelt缺需要编译。

    2、转换:JSP是动态网页开发技术,是运行在服务器端的脚本语言,而Servlet是web服务器端编程技术。

    所以JSP运行时就是转换为Servlet,也就是java程序来执行。

    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全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

    JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 

    用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

    它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

    参考资料:百度百科_JSP (java服务器页面)

    本回答被网友采纳
    第4个回答  推荐于2019-10-20

      Servlet在Java代码中通过HttpServletResponse对象动态输出HTML内容。

      JSP在静态HTML内容中嵌入Java代码,Java代码被动态执行后生成HTML内容。

      servlet完全是java程序代码构成,擅长于流程控制和事务处理。

      Jsp由html代码和jsp标签构成可以方便地编写动态网页因此在实际应用中采用servlet来控制业务流程,而采用jsp来生成动态页面。

    扩展资料:

    JSP与Servlet的关系:

      JSP,其根本是一个简化的Servlet设计,jsp在服务器端最后是通过转化为Servlet执行,是在服务器端执行,我们在浏览器端看到的jsp实际上是由它动态生成的HTML页面。

      jsp可以完成的功能,Servlet也可以完成,但是表示页面元素的时候会生成很多out.println()语句,而且Java语言和HTML语言混合在一块儿使用造成页面显示和业务逻辑都混合在一块儿,复用性和可维护性都很差。

      运用jsp与Servlet结合使用时就可以很好的将页面展示信息与业务逻辑分开,开发和维护都很方便。jsp负责页面显示,Servlet负责业务逻辑控制。

    参考资料:

    百度百科-jsp和servlet

    本回答被网友采纳