Jsp servlet是什么

  1. JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。

  2. Servlet和JSP最主要的不同点在于:Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。

  3. JSP侧重于视图,Servlet主要用于控制逻辑。

SP是如何被执行的?执行效率比SERVLET低吗?

  • 当客户端向一个jsp页面发送请求时,Web Container将jsp转化成servlet的源代码(只在第一次请求时),然后编译转化后的servlet并加载到内存中执行,执行的结果response到客户端

  • jsp只在第一次执行的时候会转化成servlet,以后每次执行,web容器都是直接执行编译后的servlet,所以jsp和servlet只是在第一次执行的时候不一样,jsp慢一点,以后的执行都是相同的

如何避免jsp页面自动生成session对象?为什么要这么做?

可以使用页面指令显式关掉,代码如下:

<%@ page session="false" %>

jsp的缺点?

  • 不好调试

  • 与其他脚本语言的交互(可读性差)

说出Servlet和CGI的区别?

  • Servlet处于服务器进程中,只会有一个servlet实例,每个请求都会产生一个新的线程,而且servlet实例一般不会销毁

  • CGI:来一个请求就创建一个进程,用完就销毁,效率低于servlet

简述JSP的设计模式。

在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II)

首先我们来理清一些概念吧:

  • DAO(Data Access Object):主要对数据的操作,增加、修改、删除等原子性操作。

  • Web层:界面+控制器,也就是说JSP【界面】+Servlet【控制器】

  • Service业务层:将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑

  • 控制层:主要使用Servlet进行控制

  • 数据访问层:使用DAO、Hibernate、JDBC技术实现对数据的增删改查

  • JavaBean用于封装数据,处理部分核心逻辑,每一层中都用到!

模式一指的就是在开发中将显示层、控制层、数据层的操作统一交给JSP或者JavaBean来进行处理

模式一有两种情况:

完全使用JSP做开发:

  • 优点:

    • 开发速度贼快,只要写JSP就行了,JavaBean和Servlet都不用设计!

    • 小幅度修改代码方便,直接修改JSP页面交给WEB容器就行了,不像Servlet还要编译成.class文件再交给服务器!【当然了,在ide下开发这个也不算是事】

  • 缺点:

    • 程序的可读性差、复用性低、代码复杂!什么jsp代码、html代码都往上面写,这肯定很难阅读,很难重用!

使用JSP+JavaBean做开发:

  • 优点:

    • 程序的可读性较高,大部分的代码都写在JavaBean上,不会和HTML代码混合在一起,可读性还行的

    • 可重复利用高,核心的代码都由JavaBean开发了,JavaBean的设计就是用来重用、封装,大大减少编写重复代码的工作!

  • 缺点:

    • 没有流程控制,程序中的JSP页面都需要检查请求的参数是否正确,异常发生时的处理。显示操作和业务逻辑代码工作会紧密耦合在一起的!日后维护会困难

Mode II 中所有的开发都是以Servlet为主体展开的,由Servlet接收所有的客户端请求,然后根据请求调用相对应的JavaBean,并所有的显示结果交给JSP完成!,也就是俗称的MVC设计模式!

Jsp servlet是什么

MVC设计模式:

  • 显示层(View):主要负责接受Servlet传递的内容,调用JavaBean,将内容显示给用户

  • 控制层(Controller):主要负责所有用户的请求参数,判断请求参数是否合法,根据请求的类型调用JavaBean,将最终的处理结果交给显示层显示!

  • 模型层(Mode):模型层包括了业务层,DAO层。

总结

  • (1)ModelI,JSP+JavaBean设计模式。

  • (2)ModelII,MVC设计模式。

Jsp servlet是什么

蒙蒙的林先生

Jsp servlet是什么
于 2017-10-17 14:26:57 发布
Jsp servlet是什么
3568
Jsp servlet是什么
收藏 2

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

一、概念

Servlet

Servlet(Server Applet)是Java Servlet的简称,是为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

JSP

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

二、区别

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则用作控制层,因为在

8、JSP中放太多的代码不利于维护,而把这留给Servlet来实现,而大量的重复代码写在JavaBean中)。

三、概括

JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。