当前位置:首页 科普知识 jsp内置对象

jsp内置对象

发布时间:2023-09-06 18:57:26

JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。在JSP页面中,可以通过存取JSP内置对象实现与JSP页面和Servlet环境的相互访问。每个内部对象均有对应所属的ServletAPI类型。

jsp内置对象详细介绍

JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。在JSP页面中,可以通过存取JSP内置对象实现与JSP页面和Servlet环境的相互访问。每个内部对象均有对应所属的ServletAPI类型。

jsp内置对象

jsp内置对象JSP

JSP(Java Server Page)是为了简化Servlet的工作而出现的替代品。Sun公司1997年推出了ServletAPI以及第一款Java Web服务器。早期的Java Web层体系结构中只有Servlet。接受用户请求,处理业务逻辑,生成HTML显示结果都是在Servlet中完成的。虽然Servlet可以胜任所有的工作,但是Servlet中不能像PHP、ASP等镶嵌HTML代码,输出HTML比较困难,而且部署过程也比较复杂。

为了克服Servlet的这些弱点,Sun公司在1999年初推出了JSP1.0。作为对Servlet的一个补充,JSP在生成HTML代码上比Servlet方便许多,而且不需要特殊部署,只需要复制到服务器下面即可运行。在经历了几次重大的版本升级之后,JSP升级到了2.1版本,功能也比第一版JSP强大了很多。

JSP包括很多技术,包括Java Bean、自定义标签(Custom Tags)、EL表达式(expression Language)、JSTL标准标签类库(Java Standard Tag Library)等。这些强大成熟的技术使得JSP在视图层(View)有很大的优势。

JSP的界面中可以直接编写Java代码,这为开发人员提供了极大的便利,自从推出JSP1.0后,便得到了广泛的应用。

jsp内置对象应用背景

动态网站开发中很重要的一个问题是网页之间的信息传递和状态维护,每当网页被发送到服务器时,都会在服务器端重新生成网页。在这个往返过程(浏览器一服务器一浏览器)中,JSP提供了一些内置对象保存所有与网页关联的信息。

为简化页面的开发过程,JSP提供了一些内置对象,它们由容器实现和管理。在所有的JSP页面中,这些内置对象不需要预先声明,也不需要由JSP应用程序的编写者进行实例化就可以使用。JSP主要有out、request、response、session、application、pageContext、page、config和exception等9个内置对象。

jsp内置对象组成

JSP内置对象包括request对象、response对象、session对象、out对象、application对象、page对象、exception对象、pageContext对象、config对象。这些对象在客户端和服务器端交互的过程中分别完成不同的功能。

1.Request对象

Request对象是javax.servlet.http.HttpServletRequest类的实例。代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。比如表单中的数据、网页地址后带的参数等。

2.Response对象

Response对象是javax.servlet.http.HttpServletResponse类的实例。代表响应对象,主要用于向客户端发送数据。

3.Out对象

Out对象是javax.servlet.jsp.JspWriter类的实例。主要用于向客户端浏览器输出数据。

4.session对象

Session 对象是javax.servlet.http.HttpSession类的实例。主要用来保持在服务器与一个客户端之间需要保留的数据,比如在会话期间保持用户的登录信息等,会话状态维持是Web应用开发者必须面对的问题。当客户端关闭网站的所有网页或关闭浏览器时,session对象中保存的数据会自动清除。由于Htp协议是一个无状态协议,不保留会话间的数据,因此通过session对象扩展了htp的功能。比如用户登录一个网站之后,登录信息会暂时保存在session对象中,打开不同的页面时,登录信息是可以共享的,一旦用户关闭浏览器或退出登录,就会清除session对象中保存的登录信息。

5.Application对象

Application对象是javax.servlet.ServletContext类的实例。主要用于保存用户信息,代码片段的运行环境;它是一个共享的内置对象,即一个容器中的多个用户共享一个application对象,故其保存的信息被所有用户所共享。

6.PageContext对象

jsp内置对象

PageContext对象是javax.servlet.jsp.PageContext类的实例。用来管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由JSP容器来完成的。

7.Config对象

Config对象是javax.servlet.ServletConfig类的实例。是代码片段配置对象,表示Servlet的配置。

8.Page(相当于this)对象

Page对象是javax.servlet.jsp.HttpJspPage类的实例。用来处理JSP网页,它指的是JSP页面对象本身,或者说代表编译后的servlet对象,只有在JSP页面范围之内才是合法的。

9.Exception对象

Exception对象是java.lang.Throwable类的实例。处理JSP文件执行时发生的错误和异常只有在JSP页面的page指令中指定isErrorPage=“true”后,才可以在本页面使用exception对象。

需要说明的是,pageContext中的属性默认在当前页面是共享的;session中的属性在当前session中是共享的;application对象中的属性则对所有页面都是共享的。

jsp内置对象特点

JSP的内置对象主要有以下特点:

1、由JSP规范提供,不用编写者实例化;

2、通过Web容器实现和管理;

3、所有JSP页面均可使用;

4、只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)。

jsp内置对象分类

按照内置对象的功能来划分,可以分为以下四类:

1、输出输入对象:request对象、response对象、out对象;

2、通信控制对象:pageContext对象、session对象、application对象;

3、Servlet对象:page对象、config对象;

4、错误处理对象:exception对象。

jsp内置对象作用范围

(1)application范围:作用范围起始于服务器开始运行,application对象被创建之时;终止于服务器关闭之时。

jsp内置对象

(2)session范围:有效范围是整个用户会话的生命周期内。每个用户请求访问服务器时一般就会创建一个session对象,用户断开退出时session对象失效。

服务器对session对象有默认的时间限定,如果超过该时间限制,session会自动失效,而不管用户是否已经终止连接,这主要是出于安全性的考虑。

(3)request范围:在一个JSP页面向另一个JSP页面提出请求到请求完成之间,在完成请求后此范围即结束。

(4)page 范围:有效范围是当前页面。

温馨提示:
本文【jsp内置对象】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6