数据流解析

  1. jsp的9个内置对象

内置对象名

对象说明

作用域

内置对象名

对象说明

作用域

request

请求对象

Request

response

响应对象

Page

session

会话对象

Session

application

应用程序对象

Application

page

页面对象

Page

out

输出对象

Page

config

配置对象

Page

exception

例外对象

Page

pageContext

页面上下文对象

Page

2.JSP的4个域对象

①pageContext,如果把变量放在pageContext里,就说明它的作用域是page,有效范围只在当前jsp页面中

②request,该对象中的数据的生命周期是一次请求的时间

③session,该对象中的数据的生命周期较长

④application,该对象中的数据的生命周期最长,从应用启动到应用结束。

现在,有两个客户分别通过各自的浏览器IE_1和IE_2访问服务器

服务器启动时,会自动在内存中创建一个apllication对象,为整个应用所共享,该对象一直存在,直到服务器关闭。

当用户首次访问JSP页面时,服务器会自动创建一个session对象,并为该session对象分配一个ID,同时将该sessionID号返回给客户,保存在客户机Cookies中。

客户在随后的访问中,浏览器会将该sessionID随请求一起带给服务器,服务器根据这个ID找到之前为该客户创建的session对象。

用户断开退出服务器时,session对象失效。有些服务器出于安全性考虑,如果超过一定的时间限制,session会自动失效。

当用户每次访问某个JSP页面时,服务器会为该请求创建一个请求对象request,用于存放这次访问的所有请求信息。

所以,需要根据需求合理使用这几个对象

例如,涉及全局的网站访问次数就应该由application对象来管理

用户名等涉及多个页面的用户个人信息应由session对象管理

只涉及到一次请求过程需要的信息用request对象管理

3.http协议是无状态的

协议对事务处理没有记忆能力

无状态意味着如果后续处理需要前面的信息,它必须重传。

JSP中是通过session对象来解决http应用程序的状态需求的。

4.out对象

out对象是javax.servlet.jsp.JspWriter类的实例,主要作用是用来向客户端输出内容,同时管理应用服务器输出缓冲区。

out对象有两个方法用于输出数据:print和println,该对象可以输出任何合法的Java表达式。

利用out对象在浏览器中输出服务器的系统时间 

5.page对象

page对象代表JSP页面本身,或者说它代表了被转换后的Servlet

在JSP页面中,this关键字表示当前JSP页面这个对象。因此它可以调动任何被Servlet类所定义的方法。

page对象的基类是java.lang.Object类,可通过该对象调用Object类中的那些方法。

使用getServletInfo方法,获取当前页面的info属性

6.requset对象

客户每次向JSP服务器发送请求时,JSP引擎都会创建一个request对象。

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。

它是javax.servlet.http.HttpServletRequest类的实例。

7.response对象

response对象是javax.servlet.http.httpServletResponse接口的实例,是服务器对request对象请求的回应,负责向客户端发送数据。

通过调用response对象的方法还可以获得服务器端的相关信息,如状态行、head和信息体等

①sendRedirect()方法

可向服务器发送一个重定向的请求,用它转到另外一个页面时,相当于从客户端重新发了一个请求,浏览器地址栏上会出现重定向后页面的URL,这种跳转属于客户端跳转。

服务器会重新生成一个request对象,原来的request对象就失效了。

此语句之后的其它语句仍然会执行

控制台输出: 
跳转之前
跳转之后

②setHeader()方法

利用response设置head信息,实现页面定时刷新的功能 

利用response设置head信息,实现页面定时跳转的功能

利用response实现禁用浏览器缓存,使用浏览器“回退”按钮回到前一页,也必须重新从服务器上获取。

8.session对象

session对象是javax.servlet.http.HttpSession接口的实例对象

session对象是用户首次访问服务器时由服务器自动为其创建的。创建的同时,会为该session对象生成唯一的session id,该对象的其它属性只保存在服务器中,发到客户端的只有session id,当客户端再次发送请求的时候,会将这个session id带上,服务器会依据这个session id找到相应的session对象。

服务器会为session设置一个失效时间。

在JSP中通过HttpServletRequest的getSession(true)方法获得session对象。

9. application对象

application对象是在Web服务器启动时由服务器自动创建的,它的生命周期是JSP所有隐含对象中最长的,一旦创建了application对象,直到服务器关闭它才会销毁。

利用application对象实现网站计数器的功能 

10.config对象

config对象中存储着一些servlet初始的数据结构。

config对象实现了javax.servlet.ServletConfig接口。

如果在web.xml文件中,针对某个Servlet文件或JSP文件设置了初始化参数,则可以通过config对象来获取这些初始化参数。

11.exception对象

当JSP页面发生错误时,会产生异常。exception对象就是用来针对异常作出相应处理的对象。

12.pageContext对象

pageContext能够存取其他内置对象,当内置对象包括属性时,pageContext也支持对这些属性的读取和写入。

JSP引擎在把JSP转换成Servlet时经常需要用到pageContext对象,但在普通的JSP开发中一般都很少直接用到该对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值