JSP的九大内置对象

JSP内置对象简介: JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象

JSP九大内置对象: out、request、response、session、application、page、pageContext、exception、config

out对象: out对象是JspWriter类的实例,是向客户端输出内容常用的对象
常用方法如下:

  • void println() 向客户端打印字符串
  • void clear() 清除缓冲区的内容,如果在flush之后调用会抛出异常
  • void clearBuffer();清除缓冲区的内容,如果在flush之后调用不会抛出异常
  • void flush() 将缓冲区内容输出到客户端
  • int getBufferSize() 返回缓冲区的字节数大小,如不设缓冲区则为0
  • int getRemaining() 返回缓冲区还剩余多少可用
  • boolean isAutoFlush() 返回缓冲区满时,是自动清空还是抛出异常
  • void close() 关闭输出流

request对象: 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。
常用方法如下:

  • String getParameter(String name) 返回name指定参数的参数值
  • String[] getParameterValues(String name) 返回包含参数name的所有值的数组
  • void setAttribute(String name,Object value) 储存此请求中的属性
  • object getAttribute(String name) 返回指定属性的属性值
  • void setCharacterEncoding(String name) 设置参数的字符编码
  • String getContentType() 得到请求体的MIME类型
  • String getProtocol() 返回请求用的协议类型及版本号
  • String getServerName() 返回接受请求的服务器主机名

response对象: response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。response对象具有页面作用域,当访问一个页面时,该页面内的response对象只能对这次访问有效,其它页面的response对象对当前页面无效。
常用方法如下:

  • String getCharacterEncoding() 返回响应用的是何种字符编码
  • void setContentType(String type) 设置响应的MIME类型
  • PrintWriter getWriter() 返回可以向客户端输出字符的一个对象(注意比较:* PrintWriter与内置out对象的区别)
  • sendRedirect(java.lang.String location) 重新定向客户端的请求

Web程序的请求响应模式

  • 用户发送请求(request)
  • 服务器给用户响应(response)

请求转发与请求重定向:

  • 请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变。
  • 请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp),是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。

什么是session

  • session表示客户端与服务器的一次会话
  • Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间
  • 从上述定义中可以看到,session实际上是一个特定的事件概念

session对象

  • session对象是一个JSP内置对象
  • session对象在第一个JSP页面被装载时自动创建,完成会话期管理
  • 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话
  • 当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象
  • session对象是HttpSession类的实例

session对象常用方法如下:

  • long getCreationTime():返回session创建时间
  • public String getId():返回session创建时JSP引擎为它设的唯一ID号
  • public Object setAttribute(String name,Object value):使用指定名称将对象绑定到此会话
  • public Object getAttribute(String name):返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null
  • String[] getValueNames():返回一个包含此session中所有可用属性的数组
  • int getMaxInactiveInterval():返回两次请求间隔多长时间此session被取消(单位秒)
  • void setMaxInactiveInterval(int i):设置两次请求间隔多长时间此session被取消(单位秒)

Session的生命周期:

  • 创建:当客户端第一次访问某个JSP或则和Servlet时候,服务器会为当前会话创建一个SessionId,每次客户端向服务端发送请求时,都会将此SessionId携带过去,服务端会对此SessionId进行校验

  • 活动:

  1. 某次会话当中通过超链接打开的新页面属于同一次会话
  2. 只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话
  3. 除非本次会话的所有页面都关闭后再重新访问某个Jsp或者Servlet将会创建新的会话
    注意事项:原有的会话还存在,只是这个旧的SessionId仍然存在于服务端,只不过再也没有客户端会携带它然后交予服务端校验
  • 销毁:Session的销毁只有三种方式:
  1. 调用session.invalidate()方法
  2. Session过期(超时)
  3. 服务器重新启动

Tomcat默认session超市时间为30分钟
设置session超时有两种方式:
1.session.setMaxInactiveInterval(时间);//单位是秒
2.在web.xml中配置

<session-config>
<session-timeout>10
</session-timeout>
</session-config> //单位是分钟

application对象:

  • application对象实现了用户间数据的共享,可存放全局变量。
  • application开始于服务器的启动,终止服务器的关闭
  • 在用户的前后连接或不同用户之间的连接中,可以对application对象的同一属性进行操作
  • 在任何地方对application对象属性的操作,都将影响到其他用户对此的访问
  • 服务器的启动和关闭决定了application对象的生命
  • application对象是ServletContext类的实例

常用方法如下:

  • public void setAttribute(String name,Object value) 使用指定名称将对象绑定到此会话
  • public Object getAttribute(String name) 返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null
  • Enumeration getAttributeNames() 返回所有可用属性名的枚举
  • String getServerInfo() 返回JSP(Servlet)引擎名及版本号

page对象: page对象就是指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例。
常用方法如下:

  • class getClass() 返回此Object的类
  • int hashCode() 返回此Object的hash码
  • boolean equals(Object obj)判断此Object是否与指定的Object对象相等
  • void copy(Object obj)把此Object拷贝到指定的Object对象中
  • Object clone() 克隆此Object对象
  • String toString() 把此Object对象转换成String类的对象
  • void notify() 唤醒一个等待的线程
  • void notifyAll() 唤醒所有等待的线程
  • void wait(int timeout) 使一个线程处于等待直到timeout结束或被唤醒
  • void wait() 使一个线程处于等待直到被唤醒

pageContext对象:

  • pageContext对象提供了对JSP页面内所有的对象及名字空间的访问
  • pageContext对象可以访问到本页所在的session,也可以取本页面所在的* * application的某一属性值
  • pageContext对象相当于页面中所有功能的集大成者
  • pageContext对象的本类名也叫pageContext

常用方法如下:

  • JspWriter getOut() 返回当前客户端响应被使用的JspWriter流(out)
  • HttpSession getSession() 返回当前页中的HttpSession对象(session)
  • Object getPage() 返回当前页的Object对象(page)
  • ServletRequest getRequest() 返回当前页的ServletRequest对象(request)
  • ServletRequest getResponse() 返回当前页的ServletResponse对象(response)
  • void setAttribute(String name,Object attribute) 设置属性及属性值
    *Object getAttribute(String name,int scope) 在指定范围内取属性的值
  • int getAttributeScope(String name) 返回某属性的作用范围
  • void forward(String relativeUrlPath) 使当前页面重导到另一页面
  • void include(String relativeUrlPath) 使当前位置包含另一文件

config对象: confiig对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)

常用方法如下:

  • ServletContext getServletContext() 返回含有服务器相关信息的ServletContext对象
  • String getInitParameter(String name) 返回初始化参数的值
  • Enumeration getInitParameterNames() 返回Servlet初始化所需所有参数的枚举

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

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

表单有两中提交方式:get与post

  • get:以明文的方式通过URL提交数据,数据在URL中可以看到。提交的数据最多不超过2KB。安全性较低但效率比post方式高。适合提交数据量不大,安全性不高的数据。比如:搜索、查询等功能。
  • post:将用户提交的信息封装在HTML HEADER内。适合提交数据量大,安全性高的用户信息。比如:注册、修改、上传等功能。

JSP的九大内置对象相关推荐

  1. JSP的九大内置对象和四个作用域

    JSP的九大内置对象和四个作用域 JSP的九大内置对象: page,application,session,request,response,out,exception,config,pageCont ...

  2. 创建线程的几种方式?JSP的九大内置对象及作用分别是什么?servlet的生命周期及常用方法?转发和重定向区别?ajax书写方式及内部主要参数都有哪些

    文章目录 1 , 创建线程的几种方式? 问题扩展: 2 ,JSP的九大内置对象及作用分别是什么? (1) 问题分析: (2) 核心答案讲解: 1.request对象 2.response对象 3.se ...

  3. 2022年欢迎来到Jsp编程第二课:JSP核心九大内置对象

    回顾:Servlect常用的对象,过滤器,监听器. ServletConfig:对象获得静态数据 ServletContext对象:获取共享静态数据,获取共享动态数据,获取共享文件数据. HttpSe ...

  4. jsp的九大内置对象和四大作用域

    看到网上一些Jsp内置对象介绍的都不是很全,今天我把各位大神的整理了一下. JSP九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用. 一.reque ...

  5. jsp的九大内置对象和作用域

    定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象(作用域) 客户端的请 ...

  6. Java Web(五) JSP详解(四大作用域九大内置对象等)

    前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...

  7. jsp和html的作用域,JSP(二):JSP九大内置对象、四个作用域对象

    jsp的九大内置对象: 内置对象: jsp文件在转译成其对应的Servlet文件的时候自动生成的并声明的对象.我们在jsp页面中直接使用即可. 注意: 内置对象在jsp页面中使用,使用局部代码块或者脚 ...

  8. 相对地址与绝对地址的区别?请求重定向与请求转发的区别?jsp有哪九大内置对象?servlet如何获取session和application对象?

    目录 1.说说相对地址与绝对地址的区别? 2.说说请求重定向与请求转发的区别? 3.jsp有哪九大内置对象?servlet如何获取session和application对象? 1.说说相对地址与绝对地 ...

  9. JSP九大内置对象...

    原文地址:http://blog.sina.com.cn/s/blog_6267d71d0100pryr.html JSP九大内置对象: 1.Request, 2.Response,3.Out,4.S ...

  10. 【Spring】JSP 九大内置对象、作用域复习

    博客: 总结 JSP的四大域对象.Servlet的四个作用域: pageContext.request.session.application JSP 九大内置对象和四大作用域复习 名称 类型 含义 ...

最新文章

  1. 网络流24题(2) P4014 分配问题
  2. OSPF完全配置2--NSSA
  3. 词性标注,实体识别,ICTCLAS分析系统的学习
  4. 伤害世界怎么自建服务器,Hurtworld伤害世界服务器怎么架设?服务器架设图文教程...
  5. 【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 2 ) ★★
  6. STM32F103ZE单片机在WWDG窗口看门狗的EWI中断中喂狗导致系统复位的原因及解决办法(中断函数重入问题)
  7. 用excel 2016连接mysql_excel导入mysql数据库方法(最新,2016年2月19日)
  8. java工作中mq应用多吗_RabbitMQ消息中间件在工作中的应用场景
  9. 速度更新!GoCD又曝仨洞,极易遭利用且结合利用可成供应链攻击的新跳板
  10. 无法启动IE调试vs2008的一个解决办法
  11. 地理信息系统GIS在城市生活垃圾管理中的应用时间
  12. vue的UI框架之有赞移动端vant-ui
  13. C++学习第十课--构造函数详解、explicit与初始化列表笔记
  14. 【京东电商网站主界面仿写——HTML第七部分】
  15. 电动滑板车出口欧洲和北美认证要求
  16. [完]PHP 格式化显示时间 date() 函数
  17. 2019年Q4三星和华为都败了,谁也想不到第一名是它
  18. Windows系统安全配置
  19. s19文件反编译成c语言,S19文件反编译器使用说明.ppt
  20. c语言链表单值化,《编译原理及实践教程》第3章词法分析.ppt

热门文章

  1. ios查看帧率的软件_软件测试之性能测试(ios)——获取fps(流畅度)
  2. 外卖返利淘宝客小程序公众号淘宝客APP花卷云美团饿了么返利系统
  3. 一个非常强大的静态导航网站nav
  4. 作为移动开发程序员,腾讯3轮面试都问了Android事件分发,分享PDF高清版
  5. pytorch+cuda+cudnn下载、安装和配置
  6. 怎么对神经网络重新训练,神经网络重建
  7. 书单 | 这6本书,带你轻松学习自动化办公
  8. SAP HANA SQL获取当前日期
  9. Zepto.js 使用手册
  10. Android模拟地图gps定位