- Servlet是一种服务器端的Java应用程序,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。
- JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计。它是在传统的网页HTML文件中插入Java程序,从而形成JSP文件,后缀名为(*.jsp)。
区别
- Servlet擅于逻辑控制,Jsp擅于页面显示。
- Jsp本质上就是Servlet,由于Jvm不能识别jsp编码,需要Web容器将Jsp页面翻译成Jvm可识别的Java类。
- Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。
- Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑,Servlet更多的是类似于一个Controller,用来做控制。
总结
当我们使用Servlet来生成动态页面的时候,会非常的复杂。因为需要在out.println()来写入html语句。但Servlet在处理前端和后台数据交互的时候有特别的优秀。 因此在这个时候我们引入Jsp技术来替代Servlet生成html的功能。让Serlvet只专注前端页面和后台数据的交互。从而也是实现来MVC的思想。