JSP内置对象百度百科详解
- JSP内置对象是Web容器创建的一组对象
JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。 在JSP页面中,可以通过存取JSP内置对象实现与JSP页面和Servlet环境的相互访问。每个内部对象均有对应所属的ServletAPI类型。
JSP内置对象包括request对象、response对象、session对象、out对象、application对象、page对象、exception对象、pageContext对象、config对象。这些对象在客户端和服务器端交互的过程中分别完成不同的功能。
JSP的内置对象主要有以下特点:
- 1、由JSP规范提供,不用编写者实例化;
- 2、通过Web容器实现和管理;
- 3、所有JSP页面均可使用;
- 4、只有在脚本元素的表达式或代码段中才可使用(或)
按照内置对象的功能来划分,可以分为以下四类:
- 1、输出输入对象:request对象、response对象、out对象;
- 2、通信控制对象:pageContext对象、session对象、application对象;
- 3、Servlet对象:page对象、config对象;
- 4、错误处理对象:exception对象。 [3]
Out对象
Out对象是javax.servlet.jsp.JspWriter类的实例。主要用于向客户端浏览器输出数据。
如何在JSP页面中输出信息?
- <%=信息内容%>
- out.println(信息内容);或out.print(信息内容);
示例: 效果:
out对象是向客户端输出内容常用的对象
注意: 但是,浏览器目前不识别println()写入的换行符,如果希望浏览器显示换行,应当向浏览器写入 < br>来实现换行
out对象各种方法的使用 out对象缓冲区自动刷新设置
如何将页面上的动态信息提交给服务器?
- 动态信息包括:用户名、密码
- 页面提交后,显示输出的数据
request对象主要用于封装客户端的请求信息
常用方法:
页面显示:
取得请求信息:
页面显示:
请求转发 地址栏地址不改变,是服务器内部的一次改变 实例:
页面显示:
中文乱码处理:
get方式: post方式:
tomcat设置
- response对象用于响应客户请求并向客户端返回信息
重定向 获取不到上一个request域定义的值
-
什么是会话?
- 一个会话就是浏览器与服务器之间的一次通话
-
为什么使用会话?
- HTTP协议
- 无状态,无连接
- HTTP协议
session原理:
session对象的原理在于,服务器可以为客户端创建并维护一个session对象,用于存放数据。在创建session对象的同时,服务器将会为该session对象产生一个唯一编号sessionID
。服务器以cookie的方式将sessionID存放在客户端。当浏览器再次访问该服务器时,会将sessionID作为cookie信息带到服务器,服务器可以通过该sessionID检索到以前的session对象,并对其进行访问。
注意:cookie中仅仅保存了一个sessionID ,而相对较多的会话数据保存在服务器端对应的session对象中,由服务器来统一维护,这样一定程度保证了会话数据安全性,但增加了服务器端的内存开销。
如下图所示: URL重写技术跟踪session
如果用户关闭了cookie的使用,还想保存session状态的话,必须使用url重写的技术。也就是在url地址中加入sessionid,以方便保存信息
session对象的有效期
- 发现下面四种情况之一,session将失效
session对象主要用于在一次会话中保存信息
session的常用方法
代码示例:
效果:
session修改session超时时间 在tomcat下的web.xml文件下的
默认三十分钟
application的作用:
application对象实现了用户间数据的共享,可存放全局变量
application的常用方法
- 统计网站访问次数的实现
exception 对象是专门负责处理JSP在执行过程中出现的异常问题的。 但要注意 exception 对象一般要和page 指令一起配合使用,只有在异常处理页面(在页面指令里有isErrorPage=true的页面)中才可以使用,把 JSP 文件执行时所有发生的错误和异常都集中到异常处理页面去进行处理。 这不仅提高了系统的统一性,程序流程也变得更加简单清晰。
page是java.lang.Object类的一个实例,它指的是JSP实现类的实例,也就是说,它是JSP本身。 相当于JSP编译生成servlet后是servlet类的this对象。实际当中很少用到。
效果:
config 对象代表当前JSP 配置信息,但JSP 页面通常无须配置,因此也就不存在配置信息。 该对象在JSP 页面中非常少用,但在Servlet 则用处相对较大。 因为Servlet 需要配置在web.xml 文件中,可以指定配置参数。
pageContext对象提供了对JSP页面所有的对象的访问,pageContext对象的方法可以访问除本身以外的8个JSP内部对象。 pageContext对象相当于JSP程序中所有对象功能的集成者。但其他的8个内置对象也都可以直接访问,所以pageContext对象应用较少。
一个图解释:
至此九大内置对象就结束了
page作用域指本JSP页面的范围 - pageContext.setAttribute(键,值) - pageContext.getAttribute(键)
- request作用域内的对象则是与客户端的请求绑定在一起
- session对象作用域:一次对话
- application的作用域:面对整个Web应用程序
- cookie是Web服务器保存在客户端的一系列文本信息
- cookie的作用
- 对特定对象的追踪
- 统计网页浏览次数
- 简化登录
- 安全性能
- 容易信息泄露
- 创建cookie对象
- 写入cookie
- 读取cookie