首页 > 其他分享 >JSP内置对象笔记整理

JSP内置对象笔记整理

时间:2024-03-21 21:58:05浏览次数:23  
标签:Web 内置 String 对象 笔记 session JSP 页面

JSP内置对象 《Java Web开发从入门到实战》第四章

内置对象:在JSP页面中不需要声明和实例化,可以直接在Java程序片和Java表达式部分使用的对象。
分类·:

  1. 与Input/Output有关的内置对象
  2. 与Context有关的内置对象
  3. 与Servlet有关的对象
  4. 与Error有关的内置对象
  • 与Input/Output有关的内置对象1
    • request对象:客户端对服务器端发送的请求
    • response对象:服务器对客户端的响应
    • out对象:把处理结果输出到客户端
  • 与Context有关的内置对象2
    • session对象:浏览器与服务器会话的上下文环境
    • application对象:应用程序(Web应用)的上下文环境
    • pageContext对象:当前JSP页面的上下文环境
  • 与Servlet有关的对象3
    • page对象:JSP文件转换为Java文件后的Servlet对象
    • config对象:JSP文件转换为Java文件后的Servlet的ServletConfig对象
  • 与Error有关的内置对象4
    • exception对象:党JSP网页有错误时将产生异常,该对象用来处理这个异常

request对象5

常用方法

在这里插入图片描述

  1. 使用·request对象获取客户端提交的信息
  • String getParameter(String name)
  • String[] getParameterValues(String name)
  1. NullPointerException异常
使用request对象存取数据
  1. setAttribute(String key,Object obj)方法6
  1. Object getAttribute(String key)方法:获取请求域(例如forword转发)中的关键字为key的对象(属性值)。
  2. 在实际工程中,request对象经常用于存储、传递本次请求的处理结果。
中文乱码问题
  1. request.setCharacterEncoding(String code)方法设置统一字符编码

response对象7

动态改变contentType属性值
  1. JSP页面用page指令标记设置contentType属性值
  2. 在page指令中只能为contentType属性指定一个值
  3. response。setContentType(String s)可以重新设置contentType属性值
设置响应表头
  1. response.setHeader(String name,String value)设置指定名字的HTTP文件头值,以此操作HTTP文件头
  2. 每3s刷新页面:response.serHeader(“refresh”,“3”);
  3. 3s后跳转页面:response.serHeader(“refresh”,“3;url=another.jsp”);
使用response对象重定向
  1. response.sendRedirect(String url):将客户端引导至另一个页面,浏览器地址栏出现的重定向页面的URL为绝对路径。
  2. forward动作标记与response对象调用sendRedirect()的比较:
  • forward为服务器端跳转,浏览器的地址栏不变;sendRedirect()为客户端跳转,浏览器的地址栏变为新页面的URL。
  • 执行到forward标记出现处停止当前JSP页面的继续执行,而转向标记中page属性指定的页面;sendRedirect()在所有代码执行完毕后再跳转。
  • 使用forward、request请求信息能够保留到下一个页面;使用sendRedirect()不能保留request请求信息。
    • forward传递参数格式:
<jsp:forward page="info.jsp">
	<jsp:param name="no" value="001"/>
	<jsp:param name="age" value="18"/>
</jsp:forward>

response对象的sendRedirect()传递参数格式:

response.sendRedirect("info.jsp?sno=001&sage=18");

out对象9

常用方法

在这里插入图片描述

session对象10

  • 浏览器与Web服务器之间使用HTTP协议11进行通信。
  • Web服务器使用内置对象session来存放有关连接的信息。
  • session对象指的是客户端与服务器端的一次会话,从客户端连到服务器端的一个Web应用程序开始,直到客户端与服务器端断开为止。
session对象的ID
  1. Web服务器为每个用户自动创建一个session对象,为每个session对象分配一个唯一标识的String类型的sessionID。
  2. 每个用户对应一个session对象,不同用户的session对象不同。
  3. session.getId()方法获取session对象的ID。
  4. 一个用户在同一个Web服务中只有一个session对象,当用户访问相同Web服务的其他页面时,Web服务器不会再重新分配session对象,知道关闭浏览器或session对象达到生存期限。而当用户重新打开浏览器,Web服务器又重新创建新的session对象。
  5. 用户在多个不同的Web服务中对应的session不同,一个Web服务对应一个session对象。
使用session对象存取数据12
  • 处理数据的方法
    • public void setAttribute(String key,Object obj):将obj指定对象存到session对象中,key为所保存的对象指定一个关键字,若两个对象关键字相同,先保存的对象被清除。
    • public Object getAttribute(String key):获取session对象中关键字为key的对象
    • public void removeAttribute(String key):从session中删除关键字key对应的对象
    • public Enumeration getAttributeNames() :产生枚举对象,使用nextElements()遍历session中各个对象所对应的关键字
session对象的生命周期
  • 依赖因素
    • 用户是否关闭浏览器
    • session对象是否调用invalidate()方法
    • session对象是否达到设置的最长“发呆”时间13
    • 与session对象生命周期相关的方法:
      在这里插入图片描述
  • 修改最长“发呆”时间:
  • (1)Tomcat安装路径->conf->web.xml->30,单位(分)
  • (2)session.setMaxInactiveInterval(int time),单位(秒)

application对象14

  • 客户端浏览不同的Web服务,将产生不同的的application对象。保存在application对象中的数据不仅可以跨页面分享,还可以由所有用户共享。
  • 有些Web服务器不能直接使用application对象,必须使用父类ServletContext声明这个对象,然后使用getServletContext()方法为application对象进行实例化。
使用application对象存取数据
  • 处理数据的方法:
    • public void setAttribute(String key,Object obj):将obj指定对象存到application对象中,key为所保存的对象指定一个关键字,若两个对象关键字相同,先保存的对象被清除。
    • public Object getAttribute(String key):获取application对象中关键字为key的对象
    • public void removeAttribute(String key):从application中删除关键字key对应的对象
    • public Enumeration getAttributeNames() :产生枚举对象,使用nextElements()遍历application中各个对象所对应的关键字
pageContext对象15
  • pageContext对象可以访问当前JSP页面的所有内置对象

  • pageContext对象获取内置对象的方法:
    在这里插入图片描述在这里插入图片描述

page对象16
config对象17
exception对象18
  • JSP页面使用条件:
    • page指令的isErrorPage设置为true,否则无法编译。
JSP的四种作用域
  • 对象的作用域:对象的生命周期和可访问性。

    • 页面域(page scope)
      • 生命周期:页面执行期间,存储在页面域中得对象只能在它所在的页面被访问。
      • 内置对象:pageContext
    • 请求域(request scope)
      • 生命周期:一次请求过程,包括请求被转发(forward)或者被包含(include)的情况,存储在请求域中的对象只有在此次请求中才可以被访问。
      • 内置对象:request
    • 会话域(session scope)
      • 生命周期:某个客户端与服务器所连接的时间,客户端在第一次访问服务器时创建会话,在会话过期或用户主动退出后会话结束,存储在会话域中的对象在整个会话期间(可以包含对此请求)都可以被访问。
      • 内置对象:session
    • 应用域(application)
      • 生命周期:从服务器开始执行服务到服务器关闭为止,其生命周期时4个作用域时间最长的,存储在应用域中的对象在整个应用程序运行期间可以被所有JSP和Servlet共享访问。
      • 内置对象:application
  • 以上四个内置对象都可以通过setAttribute(String key,Object obj)方法存储数据,getAttribute(String key)获取数据。


  1. 主要用来作为客户端和服务器间的通信桥梁 ↩︎

  2. Context(上下文) ↩︎

  3. ↩︎
  4. ↩︎
  5. request对象的类型为javax.servlet.http.HttpServletRequest ↩︎

  6. 将参数obj指定的对象保存到request对象中,key为所保存的对象指定一个关键字。若保存的两个对象的关键字相同,则先保存的对象将被清除。 ↩︎

  7. request对象对请求信息进行封装,与request对象对应的是response对象。response对象的类型为javax.servlet.http.HttpServletResponse,对客户端的请求做出动态响应8↩︎

  8. 动态改变contentType属性值、设置响应表头、response重定向等。 ↩︎

  9. out对象的类型为javax.servlet.jsp.JspWriter,是一个输出流,用来向客户端浏览器输出数据。 ↩︎

  10. session对象是浏览器与服务器会话上下文环境,它的类型为javax.servlet.http.HttpSession。 ↩︎

  11. 无状态协议,客户端向服务器发送请求(request),服务器返回响应(response),连接关闭,服务器端不保留连接相关信息。 ↩︎

  12. 可以保存用户在访问某个Web服务期间的数据 ↩︎

  13. 用户对某个Web服务发出的两次请求之间的时间。Tomcat允许用户最长“发呆”时间为30分钟。 ↩︎

  14. Web服务器启动后产生唯一的内置对象application,实现application对象实现了javax.servlet.ServletContext接口。任何用户在访问同一Web服务的各个页面时共享一个application对象,指定服务器关闭。application对象对所有用户都是相同的,任何用户对该对象存储的数据进行操作都会影响到其他用户。 ↩︎

  15. 即页面上下文对象,表示当前页面运行环境,用于获取当前JSP页面信息,作用范围为当前JSP页面。pageContext对象的类型为javax.servlet.jsp.HttpJspPage.PageContext。 ↩︎

  16. 一个与Servlet有关的内置对象,表示JSP文件转译后的Servlet对象,代表JSP页面本身,即this。可调用Servlet类所定义的方法。page对象的类型为javax.servlet.jsp.HttpJspPage。 ↩︎

  17. 页面配置对象,表示当前JSP页面转译后的Servlet的ServletConfig对象,存储一些初始数据。实现了java.servlet.ServletConfig接口。 ↩︎

  18. 与Error有关的内置对象,表示JSP页面产生的异常。 ↩︎

标签:Web,内置,String,对象,笔记,session,JSP,页面
From: https://blog.csdn.net/wy_1101/article/details/136908625

相关文章

  • 【Linux】内核学习笔记(一)——进程管理
    1.进程描述符1.1.进程描述符的表示和存放进程描述符task_struct完整地描述了进程的所有信息,它由slab分配器 (小内存分配)分配产生,并存放在叫任务队列(tasklist)的双向循环链表中。  一文看懂slab分配器实现https://zhuanlan.zhihu.com/p/523241576 伙伴系统和slab分配......
  • 新人学习笔记之(盒子模型)
    一、盒子模型属性    1.width属性        (1)宽度:width:长度值|百分比|auto,最大宽度:max-width最小宽度:min-width.box1{width:300px;}.box2{min-width:1200px;}        2.height属性......
  • MATLAB学习笔记6:矩阵的操作1
    说了三篇各种矩阵的创建,终于进行到下一部分了,太不容易了,今天我们来说说矩阵的操作,说白了就是对矩阵进行一些我们平时计算需要在纸上操作的步骤,用软件肯定要方便得多1.矩阵的拼接这个还是很好理解嘛,比如两个3*3的矩阵就可以横着或者竖着拼接到一起,而4*5与4*6的矩阵就只能横着......
  • 自用笔记
    1.对DRSN的RSBU块做尝试1.1新的RSBU软阈值块作为Resnet的变体DRSN通过软阈值的方式消除噪声。其中经过残差的两次卷积后,将结果取绝对值,之后经过全局平均池化,之后再经过两次全连接层,该结果进行Sigmoid,最后将GAP的结果取平均后与两次取得平均值分别相乘,得到软阈值的结果。最后......
  • 【Linux】内核学习笔记(八)——网络栈简介 转载
    转载:https://void-star.icu/archives/601网络栈从定义上还比较抽象。不过从功能上看,它是为了让主机之间交换数据而生的。要实现网络栈,最原始的一个方式就是:将想发送的报文封装成帧,然后发出去就完事了。接收主机会按约定好的方式解析。不过这种存在一个问题,如果要加密怎么办?要支......
  • nginx入门-31-学习笔记
    nginx入门-31-学习笔记环境环境:虚拟机ip:10.0.1.0网关:10.0.1.2子网掩码:255.255.255.0测试机器ip:10.0.1.101概念1.安装nginx软件安装:yum安装yuminstallepel-releaseyuminstallnginx-ysystemctlstartnginx编译安装(生产环境)yum-yinstallpcr......
  • VUE-小黑笔记本
    一、效果二、功能介绍1.输入框输入任务,按下回车键,添加任务至任务栏最后2.鼠标移动到某项任务,后面出现叉号,即可删除任务3.记事本最下方左边统计当前任务总数4.记事本最下方右边clear实现清空任务同时最底部一栏隐藏三、代码(含样式)<!DOCTYPEhtml><htmllang="en"><he......
  • 深入理解并行编程-读书笔记 rcu
     在当前的Linux内核中发挥着重要的作用。RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取数据的时候不对链表进行耗时的加锁操作。这样在同一时间可以有多个线程同时读取该链表,并且允许一个线程对链表进行修改(修改的时候,需要加锁)。RCU适用......
  • c++算法学习笔记 (15) 质数
    1.试除法判断某个数是否为质数#include<iostream>usingnamespacestd;constintN=50005;boolis_prime1(intn){//暴力写法:O(n)if(n<2)returnfalse;for(inti=2;i<n;i++){if(n%i==0)returnfalse;......
  • VUE3学习笔记
    参考链接https://blog.csdn.net/m0_66100833/article/details/134294781生命周期setup():这是一个新的入口点,在beforeCreate和created之前调用onBeforeMount/onMounted:组件挂载前/后的生命周期钩子。onBeforeUpdate/onUpdated:组件更新前/后的生命周期钩子。onBeforeUnmount/onU......