`
阅读更多
这几天整理项目资料,发现好多东西都快忘记了,因此打算从头整理一下,对于jsp的内置对象,文章很多 ,可是写的都有点不太好理解,因此打算自己写点东西。

       首先 jsp的内置对象一共有9个: request对象,response对象,pageContext对象,session对象,application对象,out对象,config对象,page对象,exception对象

       特点 :对于它们而言,不用声明就可以直接使用.

       1:request对象

        request对象是ServletRequest的一个实例.当客户端请求一个JSP网页时,JSP引擎会将客户端的请求信息包装在这个request对象中,请求信息的内容包括请求的标题头(Header),信息(如浏览器的版本信息,语言和编码方式等),请求的方式(如HTTP方法:GET,POST,PUT等),请求的参数名称,参数值和客户端的主机名称等,然后将request对象当作jspService方法的HttpServletRequest参数值,所以我们可以通过这个对象来取得有关客户端的请求信息.
request对象的方法

返回接收请求的端口
     getServerPort
返回接收请求的服务器的主机名
     getServerName
返回发出请求的 URL 的机制
     getScheme
返回发送请求的接口程序的完全限定的主机名
     getRemoteHost
返回发送请求的接口程序的 IP 地址
     getRemoteAddr
返回运用替换规则从虚拟地址中获得的实际地址
     getRealPath
返回从请求体中读取的文本的缓存数据
     getReader
返回请求的协议和版本号
     getProtocol
返回作为字符串列举的指定参数的值
     getParameterValues
返回本次请求的参数名字
     getParameterName
返回包含指定参数的单独值的字符串
     getParameter
返回在请求体中读取二进制数据的输入流
     getlnputStream
返回请求实体数据的 InternetMedia 类型
     getContenType
返回请求实体数据的大小
      getContentLength
返回为请求的输入进行编码的字符集合
     getCharacterEncoding
设置为请求的输入进行编码的字符集合
     setCharacterEncoding
返回请求的给出名字的属性的值
     getAttribute
设置请求的给出名字的属性的值
     setAttribute

request对象使用,和主要应用
1. request对象获取服务器及客户端的信息
    就是上面列举的那些get.....方法,这些方法主要为了获取客户端的信息
    此外他还可以用来设置一些页面的构建所需要的一些属性的设置
2. 用request对象来获取和处理表单传过来的参数值,具体操作步骤如下
   (1) 建立HTML表单 (FORM)
   (2) 使用GET和POST方法 
       如:<FORM METHOD="POST" NAME="FRM" ACTION="<%= urlRoot %>">
   (3) 用request对象处理
     用户输入的页面控件的数据用来存放在request对象里,用javax.servlet.HttpServletRequest来执行,你可以在JSP代码中直接访问request对象.并且用getParameterName方法来获取表单传送过来的数据.
3. 用request对象来存放和获取非表单数据 ,具体步骤如下:
   (1)在前页设置存放数据(健值对的方式)setAttribute('KEY','VALUE')
   (1)在request作用范围取数据getAttribute('KEY')

      1:response对象

       response对象的类型是javax.servlet.ServletResponse类的实例,JSP引擎会根据客户端的请求信息建立一个默认的response对象.它用于将浏览器参考信息,如回应的Header,回应本体(HTML的内容)以及服务器端的状态码等信息提供给客户端.
       如果说从客户端获取信息request为正方向的话,那么response就是反方向
response对象的方法
重定向客户端的地址
    sendRedirect
设定指定名字的HTTP文件头的值
    setHeader
向客户端发送错误信息
    sendError
判断指定的HTTP文件头是否存在
    containsHeader
添加HTTP文件头(Header),将会传送到客户端
     addHeader
添加一个Cookie对象,用来保存客户端的用户信息
     addCookie
为应答设置内容类型
     setContentType
为应答设置内容长度
     setContentLength
返回用于格式化文本应答的打印程序
      getWriter
返回用于书写二进制应答数据的输出流
      getCharacterEncoding
返回用于MIME编码的字符集合
      getCharacterEncoding
用于在页面中输出内容 向对应的是End
      write
response对象使用,和主要应用
       这个对象没有什么太多的东西,主要用于返回客户端信息,如设置cookie 向客户端写数据等工作

      3 session对象

       终于说到了session对象,这个对象是我个人觉得最重要的一个对象,这个对象如果处理不好,可能会导致服务器端的压力增大,这并不是说别的对象不重要,而是这个对象关系到全局,应用比较广泛,所以才说他重要。在web服务中我们使用它来保存某个特定客户端(访问者)一次访问的一些特定信息.在JSP网络编程中,有多种方法可以保存客户信息,但是最常用,最实用的还是session对象,际上就是服务器与客户端之间的"会话",他在客户端第一次访问的时候创建,对于什么时候过期,我们可以手动设置它过期,也可以在web.xml中配置它的过期时间来实现。
   (1) session可以用来储存访问者的一些特定信息.主机服务器就是根据session来跟踪这些信息的.
   (2) session可以创建访问者信息容器.
   (3) session可以用来跟踪访问者的访问路径,从中挖掘有用的信息,如访问者的兴趣爱好,访问目的.
用户在Web应用程序中访问同一页面时,session变量始终存在,当用户在应用程序的页之间跳转时,存储在session对象中的变量也不会清除,当然也可以使用session方法显式地结束一个会话和设置空闲会话的超时期限.
   
     session对象的类为HttpSession,它提供了很多使用的方法.
     session对象的类是HttpSession.HttpSession由服务器的程序实现,提供HTTP服务器和HTTP客户端之间的会话.会话,就是在给定时间段内持续进行多路连接和请求.会话被用来在多页面请求中保持状态和用户认证.
session对象的常用方法
移去和会话应用层数据中指定名字相连的对象
    removeValue
将指定的对象和使用指定名字的会话应用层数据相连
    putValue
检查是否客户端参加了会话
    isNew
使会话无效,并将其从上下文中移出
    invalidate
返回和会话相连的应用层数据对象的名字
    getValueNames
返回和应用层数据中指定名字相联系的对象
    getValue
返回会话相连的上下文
    getSessionContext
返回客户端上一次发送携带会话账号的时间
    getLastAccessTime
返回会话标识符
    getId
返回会话创建的时间
    getCreationTime
session的主要作用有两个
   使用session对象在不同的JSP文件(整个客户会话过程中)中保存信息
   1.保存会话的一些重要的信息,比如用户名,验证信息
   2.实现网上商店的购物车的信息存储。等

     4 application对象
     application对象保存了一个应用系统中一些公用的数据.与session对象相比,application对象是所有客户共享的,而session对象则是每个客户专用的.application对象可以是javax.servlet.ServletContext类型的.ServletContext接口让servlet访问关于其环境的信息.application对象的范围是application.即整个应用服务,从服务器启动到关闭是他的作用周期。
      application对象的方法

设置某个application对象的某个属性值
       setAttribute
获得当前版本的Servlet编译器的信息
       getServerInfo
返回application某个属性的值
       getInitParameter
以Enumeration数据形式返回所有application对象的属性名称
        getAttributeNames
以Object对象的形式返回对应名称的application对象的属性值
       getAttribute

application对象的使用
     (1)一个使用了application对象的计数器
     (2)应用application内建对象,同于session存储公共信息(一般没这么干的 呵呵)


     5.pageContext对象

     pageContext对象是javax.servlet.jsp.PageContext类的一个实例,pageContext对象提供了存取所有关于JSP程序执行时所需要用到的属性和方法,如session,application,config,out等对象属性,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本 类名也叫pageContext。

方法
返回当前客户端响应被使用的JspWriter流(out)
    JspWriter getOut()
返回当前页中的HttpSession对象(session)
    HttpSession getSession()
返回当前页的Object对象(page)
    Object getPage()
返回当前页的ServletRequest对象(request)
    ServletRequest getRequest()
返回当前页的ServletResponse对象(response)
    ServletResponse getResponse()
返回当前页的Exception对象(exception)
    Exception getException()
返回当前页的ServletConfig对象(config)
    ServletConfig getServletConfig()
返回当前页的ServletContext对象(application)
    ServletContext getServletContext()
设置属性及属性值
    void setAttribute(String name,Object attribute)
在指定范围内设置属性及属性值
    void setAttribute(String name,Object obj,int scope)
取属性的值
    public Object getAttribute(String name)
在指定范围内取属性的值
    Object getAttribute(String name,int scope)
寻找一属性,返回起属性值或NULL
    public Object findAttribute(String name)
删除某属性
    void removeAttribute(String name)
在指定范围删除某属性
    void removeAttribute(String name,int scope)
返回某属性的作用范围
    int getAttributeScope(String name)
返回指定范围内可用的属性名枚举
    Enumeration getAttributeNamesInScope(int scope)
释放pageContext所占用的资源
     void release()
使当前页面重导到另一页面
     void forward(String relativeUrlPath)
在当前位置包含另一文件
    void include(String relativeUrlPath)
   
      他的主要作用,它的主要功能在提供一个单一个介面,以管理各种的公开对象(像是 HttpSession、ServletContext、ServletConfig、ServletRequest、ServletResponse等等),提供一个单一的API来管理对象和属性。

     6.out对象
      控制页面文本输入输出流的对象
     参数设置
autoFlush
     类型为protected boolean autoflush
如果变量值为真,则当当前的操作造成缓冲区溢出时,缓冲区会被清空.
如果变量值为假,则如果当前操作造成缓冲区溢出就会抛出一个IOException.
bufferSize
     类型为protectedintbufferSize
表示缓冲区目前的大小.初始值根据不同的设备而不同,但是不少于8KB.
DEFAULT_BUFFER
     类型为publicstaticfinalintDEFAULT_BUFFER
表示Writer正使用的缺省的缓冲区大小设置.
No_BUFFER
     类型为Public static final int NO_BUFFER
表示Writer是否处于缓存输出状态.
 
Out对象的方法

打印一个对象
参数Object
print
打印一个长整数
参数long
print
打印一个整数
参数int
print
打印一个浮点数
参数float
print
打印一个双精度浮点数
参数double
print
打印一个字符数组
参数char[]
print
打印一个字符
参数char
print
打印一个布尔值
参数boolean
print
写一行分隔符
newLine
获得autoFlush的当前值
isAutoFlush
获得缓冲区中未使用的字节数
getRemaining
获得缓冲区的大小
getBufferSize
清除缓冲区的流
clearBuffer
清除缓冲区内容
Clear
输出流
flush
关闭流,并输出
Close
打印一个字符串,然后结束行
参数String
println
打印一个对象,然后结束行
参数Object
println
打印一个长整数,然后结束行
参数long
println
打印一个整数,然后结束行
参数int
println
打印一个浮点数,然后结束行
参数float
println
打印一个双精度浮点数,然后结束行
参数double
println
打印一个字符数组,然后结束行
参数char[]
println
打印一个字符,然后结束行
参数char
prinfln
打印一个布尔值,然后结束行
参数boolean
println
通过写一个行分隔符来结束当前行
println
打印一个字符串
参数String
print
    主要作用就是用out对象输出多种不同类型的数据,包括输出中文

      7 page对象
      page对象是java.lang.Object类型的,它是处理当前请求的JSP页的实现类的实例.page对象在页的正文中可以被看作"this"的同义词.page对象的范围是本页.
     
      8.config对象
      config对象是javax.servlet.ServletConfig类型的.它提供存取servlet class初始参数及有关Server环境信息的ServletContext对象.config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象) ,config对象的范围是本页.
方法
返回含有服务器相关信息的ServletContext对象
     ServletContext getServletContext()
返回初始化参数的值
    String getInitParameter(String name)
返回Servlet初始化所需所有参数的枚举
    Enumeration getInitParameterNames()

    9 exception对象
      exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象

方法
返回描述异常的消息
    String getMessage()
返回关于异常的简短描述消息
    String toString()
显示异常及其栈轨迹
    void printStackTrace()
重写异常的执行栈轨迹
    Throwable FillInStackTrace()

    *******************************************************
如上 我们对这9大内置对象作了大概的描述,他们都有其作用范围
      pageContext所设定的属性物件,其共用范围限於同一个 JSP页面,使用request所设定的属性物件,其在同一个request处理期间可以共用(包括forward给其它JSP页面,即前后页),session物件所设定的属性物件则限於同一个进程作用期间可以共用,而application物件所设定的属性,则在整个Web应用程式中的JSP页面都可以共用。

      既然已经内置了,那么我们在用他们的时候就不需要麻烦去创建他们了,我们只需要怎么去合理的用他们,对于他们的具体一切使用的实际操作,光是上面所说的还是不够的,具体的实现我会在以后的章节《jsp内置对象使用里》表述,希望能对大家有所帮助。
分享到:
评论

相关推荐

    JSP内置对象实验报告.doc

    charset=UTF-8");...通过这些实验,你可以深入理解JSP内置对象的用途和功能,并学会如何在实际开发中有效利用它们来构建更复杂的Web应用程序。练习部分鼓励你尝试更多的方法和属性,以增强你的理解和实践能力。

    jsp内置对象学习

    在本教程中,我们将深入探讨两个重要的JSP内置对象——Out对象和Request对象。 1. Out对象: Out对象是JSP页面中用于向客户端发送数据的主要手段。它是javax.servlet.jsp.JspWriter类的一个实例,负责管理服务器的...

    实验三 JSP内置对象使用

    【实验三 JSP内置对象使用】 实验的目的是让学生熟悉并理解JSP中的几个核心内置对象,包括request、response、session、application以及out对象。这些对象是JSP中用于处理HTTP请求、响应、会话管理和输出数据的关键...

    原生jsp进行Web编程—作业3-JSP内置对象-Part2

    一、JSP内置对象练习 1、使用JSP中的session对象,实现用户登陆检验 (1)(1)web目录下的session-login目录中,新建login.jsp(允许用户输入用户名和密码), 在usercheck.jsp中进行验证,成功则显示index.jsp...

    jsp内置对象讲解及实例

    **JSP内置对象讲解** JSP(JavaServer Pages)是一种基于Java的技术,用于创建动态网页。在JSP中,有九个内置对象,它们是由服务器自动创建并提供给每个请求的JSP页面,无需显式声明。这些内置对象极大地简化了开发...

    JSP内置对象归纳与总结

    JSP内置对象归纳与总结 JSP提供了九个内置对象,分别是out对象、request对象、response对象、session对象、application对象、pageContext对象、exception对象、config对象和page对象。这些内置对象是由容器实现和...

    JSP内置对象大全及实例解析

    JSP内置对象大全及实例解析,前面部分讲的是JSP的9大内置对象的函数和方法,后面是各个对象的所有方法的实例。

    JSP内置对象方法介绍示例

    在压缩包文件"JSP内置对象"中,可能包含了关于这些对象的详细解释、代码示例以及使用场景分析,可以帮助读者更深入地理解和掌握JSP内置对象的使用。通过阅读和实践其中的内容,开发者可以提升自己的JSP编程能力,为...

    jsp内置对象的使用

    **正文** 在Java Server Pages(JSP)技术中,...理解并熟练运用JSP内置对象,能帮助开发者更高效地构建动态网页应用程序。在学习过程中,不断实践和探索,才能更好地掌握这些对象的功能和用法,从而提升开发技能。

    jsp内置对象 jsp的几个内置的对象图解

    jsp内置对象 有关jsp的一些内置的对象的总结

    实例详解JSP内置对象--request对象

    实例详解JSP内置对象--request对象 request对象是JSP中的内置对象之一,它提供了访问HTTP请求信息的功能。在基于Web的开发中,request对象扮演着极其重要的角色。本文将通过实例详解request对象的使用和掌握。 一...

    JSP内置对象的各对象的方法列表

    以下是一些JSP内置对象的主要方法: 1. **Request对象**: - `getAttribute(String name)`:获取请求中指定名称的属性值,如果不存在则返回null。 - `getAttributeNames()`:返回请求中所有属性的名称,以枚举...

    第四单元 JSP内置对象.pdf

    ### 第四单元 JSP内置对象 #### 一、概述 JSP(Java Server Pages)是一种动态网页技术标准,它将动态代码嵌入到静态HTML页面中。通过这种方式,开发者能够轻松地创建动态网页内容。JSP内置对象是JSP技术为简化...

    JSP内置对象实现在线聊天室设计布局

    这个是jsp内置对象实现一个在线聊天室的设计布局,本人已经实现整个项目。本文件主要供学习jsp内置对象使用,如果在看代码中有什么问题或者建议,欢迎联系我,大家以前讨论。

    jsp内置对象一些实验题

    JSP内置对象实验题 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,主要用于Web应用程序的开发。JSP提供了一些内置对象,帮助开发者快速构建Web应用程序。这些内置对象包括request、response、...

    jsp内置对象聊天系统

    `jsp内置对象聊天系统`是一个基于JavaServer Pages(JSP)技术构建的简易聊天应用程序。在JSP中,内置对象是预定义的对象,可以直接在页面上使用,无需显式实例化,大大简化了开发流程。这个系统利用了JSP的内置对象...

    JSP内置对象

    JSP内置对象有些成员变量不用声明就可以在JSP页面的脚本(Java程序片和Java表达式)中使用,这就是所谓的内置对象。

    4.jsp内置对象.doc

    总结来说,理解JSP内置对象的生命周期和功能对于有效地编写JSP页面至关重要。它们提供了处理HTTP请求、响应、会话管理、数据共享等核心功能的手段。通过熟练运用这些对象,开发者可以构建出高效、动态的Web应用程序...

    jsp内置对象课件,维护对象和增加和删除对象属性

    【JSP内置对象】是Java Server Pages(JSP)技术的核心组成部分,它们是JSP页面中预先定义并可以直接使用的对象,无需程序员显式创建。这些内置对象的存在极大地方便了开发人员处理各种Web应用程序的任务,提高了...

    Jsp内置对象参考手册 这是比较全的了 下载使用了好几个 就这个好些

    **JSP内置对象是JavaServer Pages(JSP)技术的核心组成部分,它们提供了许多方便的功能,使得开发者无需编写过多的Java代码就能实现动态网页。本参考手册详细介绍了JSP的九大内置对象,包括它们的用途、属性和方法...

Global site tag (gtag.js) - Google Analytics