Java基础面试题(13)----JSP是什么和内置对象介绍
问题
- JSP和Servlet有什么区别?
- JSP有哪些内置对象,他们的作用是什么?
解析1:JSP和Servlet又有什么区别?
JSP和Servlet的关系
-
我们上次讲解Servlet的时候,去看了他的源码,最终实现的是Servlet接口。而JSP也是一样,实现了Serlvet接口,他们的关系如下图
-
JSP是Servlet技术的拓展,所有的.jsp文件都会被翻译成一个继承了HttpServlet的类,也就是.jsp最终是一个Servlet,这个Servlet对外提供服务。
不同点
- Servlet如果要实现html的功能,必须要使用write输出对应的html.更加侧重于业务逻辑代码的编写。
- 而JSP的情况是Java和HTML组合称为一个拓展名为.jsp的文件。更加侧重于视图的展示。
解析2:JSP有哪些内置对象,他们的作用是什么?
九个内置对象
- request 用户请求,次请求会包含来自GET/POST请求的参数
- response 页面传回给用户端的响应
- pageContext 网页的属性管理
- session 与请求有关的会话器
- application servlet 正在执行的内容
- out用来传送响应的输出config servlet的架构部件
- execption 针对错误页面,未捕捉的例外
四大域对象,可以传递值
-
request 用户请求,次请求会包含来自GET/POST请求的参数
request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。 -
pageContext
pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。 -
session 与请求有关的会话器
session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。 -
application
application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长**,类似于系统的“全局变量”。**