JSP和Servlet相同点和不同点?
JSP和Servlet有哪些相同点和不同点?他们之间的联系是什么?1.相同点: JSP和Servlet都可以用于接收客户端请求、处理请求,并做出响应。2.不同点:(1) Servlet更适合处理逻辑,不适合作数据展示(即响应页面)(2) JSP更适合展示数据,不适合处理逻辑(3) Servlet没有内置对象、JSP中有内置对象(4) 在MVC设计模式中,Servlet属于控制器(Controlle
JSP和Servlet有哪些相同点和不同点?他们之间的联系是什么?
1.相同点: JSP和Servlet都可以用于接收客户端请求、处理请求,并做出响应。
2.不同点:
(1) Servlet更适合处理逻辑,不适合作数据展示(即响应页面)
(2) JSP更适合展示数据,不适合处理逻辑
(3) Servlet没有内置对象、JSP中有内置对象
(4) 在MVC设计模式中,Servlet属于控制器(Controller),JSP属于视图(View)
3.两者之间的联系:
JSP在一次被访问时,JSP引擎会对JSP进行编译,编译后就变成了Servlet,本质上就是一个Servlet。
3.3描述Servlet调用过程
(1)浏览器向服务器发送请求(例如地址为:http://localhost/day13/TestServlet)
(2)服务端通过请求解析出浏览器访问的是哪一台主机(例如:localhost)
(3)服务端通过请求解析出浏览器访问的是哪一个WEB应用(例如:/day13)
(4)再通过请求解析出浏览器访问的是哪一个资源(例如:/TestServlet)
(5)如果该Servlet是第一次被访问,服务器会加载Servlet类,并创建该类的实例.
(6)调用Servlet的init方法进行初始化操作(服务器调用init()).
(7)在处理请求之前,创建代表请求的request对象和代表响应的response对象,传递给service方法。
(8)调用Servlet的service方法处理请求。将需要响应的数据写入response对象中
(9)服务器取出response中保存的数据,按照Http协议的格式发送给浏览器,响应完毕!
3.4描述Servlet生命周期
Servlet在第一次被访问时创建Servlet实例,创建之后服务器会立即调用init方法进行初始化的操作,创建之后,Servlet实例会一直驻留在服务器的内存中,为后续的请求服务. 只要有请求来访问这个Servlet,服务器就会调用service方法来处理请求,直到服务器关闭,或者WEB应用被移出容器,随着WEB应用的销毁,Servlet实例也会跟着销毁,在销毁之前服务器会调用destroy方法进行善后的处理。
3.5转发和重定向的区别(即forward和redirect的区别)?
(1)转发是同一个WEB应用内部资源之间的跳转,而重定向既可以是同一个WEB应用内部资源的跳转,也可以是不同的WEB应用或者不同的虚拟主机中资源的跳转.
(2)转发是一次请求,而重定向是两次请求
(3)转发前后地址栏的地址不会发生变化,而重定向前后地址栏地址会发生变化.
(4)转发前后的request对象是同一个,而重定向前后的request对象不是同一个.
3.6描述四大域对象的特征
1、PageContext域
(1)生命周期:开始访问JSP页面时创建PageContext对象,访问JSP页面结束时销毁PageContext对象
(2)作用范围:在整个JSP页面中
(3)主要功能:在整个JSP页面中实现数据的共享。
2、request域
(1)生命周期:一次请求开始时创建request对象,一次请求结束时销毁request对象。
(2)作用范围:在整个请求链中
(3)主要功能:在整个请求链中实现数据的共享
3、session域
(1)生命周期:
创建: 当第一次调用request.getSession()方法时将会创建session对象.
销毁:session分为三种情况:
a)超时销毁: 如果超过30分钟不操作session,session将会超时销毁.
b)自杀: 当调用session.invalidate()方法时会立即销毁session
c)意外身亡: 当服务器非正常关闭时,session会销毁! 当服务器正常关闭时,session将会以文件的形式保存在tomcat服务器work目录下
(2)作用范围:在整个会话范围内
(3)主要功能:在整个会话范围内实现数据的共享
4、ServletContext域
(1)生命周期:服务器启动WEB应用被加载之后立即创建ServletContext对象,服务器关闭或WEB应用被移出容器,销毁ServletContext对象。
(2)作用范围:在整个WEB应用中
(3)主要功能:在整个WEB应用范围内实现数据的共享
3.7 JSP的九大隐式对象是哪九个?
page、requeset、response、application(ServletContext)、config(ServletConfig)、session(HttpSession)、exception、out、pageContext
更多推荐
所有评论(0)