内置对象PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
端发送数据 响应与请求类似,由状态行、头和可能
的信息体。

2.2 设置响应的HTTP头
可以利用JSP动态改变客户端的响应,使用的语法 是“()”,比如让客户端自动每隔5秒刷新一次,
程序名称: ……
<%@ page import=".*" %> <P>现在的时间是:<BR> <% out.println(""+new Date());
忽略println的换行
5. application对象
任何客户在访问服务目录的各个页面时, application对象都是同一个.
常用方法: 同session一致
(1) public void setAttribute(String key, Object obj)
(2) public Object getAttibute(String key) (3) public Enumeration getAttributeNames() (4)public void removeAttribute(String name) (5) public String getServletInfo()获取Servlet编
response.setHeader("Refresh","5"); %>
2.3 网页转向
sendRedirect()方法:将当前客户端的请求转 到其它页面去。相应的代码格式为: “response.sendRedirect("URL地址");”
和<jsp:forward>指令的区别:
– forward只是将请求进行转发,只能在本网站内跳转, URL不变
(4)public void removeAttribute(String name) session对象调用该方法移掉关键字key对应的 对象
3.2 session对象存储数据
: 获取名字存入session对象
– (“customerName”,name);
: 选取各种食品存入session对象
址)。 getServerName():获取服务器的名称。 getServerPort():获取服务器的端口号。 getParameterNames():获取表单提交的信息体部分中name参数值的一
个枚举
2. response对象
response对象是一个类的子类的对象 它用于服务器对客户端的响应,向客户
getServletPath():获取请求的JSP页面所在的目录。 getContentLength():获取HTTP请求的长度。 getMethod():获取表单提交信息的方式,如POST或GET。 getHeader(String s):获取请求中头的值。 getHeaderNames():获取头名字的一个枚举。 getHeaders(String s):获取头的全部值的一个枚举。 getRemoteAddr():获取客户的IP地址。 getRemoteHost():获取客户机的名称(如果获取不到,就获取IP地
pageContext 本 JSP 的页面上下文
page config exception
实现处理本页当前请求的类的实例 本 JSP 的 ServletConfig 表示JSP页面运行时产生的异常
范围 request
page session
application
page page page page Page
Web应用中,在其互相转换过程中出现乱码
– 浏览器 本地系统默认字符集 – Web服务器 ISO-8859-1 – JDBC驱动,ISO-8859-1 – Web应用程序 会在不同字符集中转换
从Unicode向某个字符集转换时,如果没有对 应编码,得到0x3f(?)
中文乱码的解决方案
1. 在执行操作之前,设置request的编码格式: request.setCharacterEncoding(“GB2312”);

4. out对象
内置对象out对象是JspWriterout类的一个实 例
out对象是一个输出流,指向客户浏览器的缓 冲区
可调用如下的方法用于各种数据的输出,如: boolean,char,double等
out.print(Object),out.println(Object) 用于输出各种数据
……
%>
1.2 处理汉字信息
中文乱码的由来
– 常用字符集
• ASCII (美国信息互换信息代码):与8位二 进制对应0-127
• ISO8859-1:增加了所有西方欧洲语言的 附加字符0-255。
• GB2312和GBK(中国国家标准汉字信息 交换编码):与16位二进制对应,中文的 首位为1。
1.2 处理汉字信息
– sendRedirect是重新响应,跳转到任何一个地址的 页面 ,URL改变
2.4 状态行
定义了一组整型的静态常量表示错误代 码。
– 400 语法错误 – 404 请求资源不可用 – 500 服务器内部错误
3. session对象
• 内置对象session由Tomcat服务器负责 创建,session是实现了HttpSession接 口类的一个实例
• 同一用户在同一Web服务目录中的各个页面的 session是相同的;
• 不同用户的session对象互不相同,具有不同 的ID
3.2 session对象存储数据
(1)public void setAttribute(String key,Object obj) 将参数Object指定的对象obj添加到session对象中, 并为添加的对象指定了一个索引关键字,如果添加的 两个对象的关键字相同,则先前添加的对象被清除。
也可以通过request对象的 getParameterValues()方法得到客户端传递过 来的参数的多个值,如:
– String textContent[ ] = (“参数名”);
注意可能得到空对象null(没有提交数据)
获取客户提交的信息
程序名称: ……
提交本页
<FORM action="" method=post>
3.2 session对象存储数据
:显示姓名和所选商品 – Enumeration enumGoods=(); – ("<br>购物车中的商品:<br>"); – ()) –{ – String key= (String) enumGoods. nextElement() ; – String goods=(String) session. getAttribute(key); – if(!(goods.equals(personName))) – out.println(goods+"<br>"); –}
编码集不同,造成交流的困难(不同国 家),Unicode协会制定统一编码
– Unicode(统一的字符编码标准集)0- 65535,0-255与ISO8859-1相同,英文字符 采用加长兼容
乱码产生分析
Java内部使用Unicode字符集 读取/输出数据
本地字符集<-> Unicode字符集
<input type=“text" size="20"
name=“number">
</FORM>……..
<% String textContent =
request.getParameter(“number");
If (textContent==null) (“输入数字”);
else %>
<com:Computer number=“<%=textContent%>”/>
3.3 session对象的生命期限
从用户开始连接Web服务器到中断与服 务器的连接
发呆状态:两次请求的最大间隔时间, 可通过conf文件夹下的修改
设置生命周期的相关方法
– invalidate():session失效 – getCreationTime():创建对象的时间
3.4 URL重写
译器当前版本的信息
5.2 制作留言板
: 提交留言(姓名、标题、留言) :获取留言,并将留言存放在appliction
对象中 :读取并显示留言
课程总结
内置对象及其作用范围 掌握并应用以下几种内置对象
– request对象 – response对象 – session对象 – out对象 – application对象
课程目标
了解和掌握request对象方法 了解和掌握response对象方法 了解和掌握session对象方法 了解和掌握out对象的方法 了解和掌握application对象的方法
内置对象
定义:可以不加声明就在JSP页面脚本 (Java程序片和Java表达式)中使用的 成员变量
共有9个内置对象有:resquest、 response、session、application、 out、page、pageContext、config、 exception 。
内置对象的作用范围
Application
– 起始于服务器开始运行,终止于服务器关闭
Session
– 客户端于服务器相连接的时间,到其连接中断为止
Request
– 一个JSP页面向另一个页面提出请求到请求完成之 间
Page
– 本页面
1. request对象
request对象是子类的对象 当客户端请求一个JSP页面时,JSP容器会将
• session对象用来记录客户与服务器的 连接信息
3.1 session对象的ID
• 当客户首次访问WEB应用程序的JSP页面, Tomcat服务器产生一个session对象,存放各 个页面提交的信息;
• session对象被分配了一个String类型的ID, Tomcat服务器将ID发送到客户端,存放在客户 的Cookie中;
客户端的请求信息包装在这个request对象中 请求信息的内容
– 请求行:请求的方式(比如:GET或POST)、请 求资源和使用的协议、
– 请求的头信息(Header:)信息体的附加信息, 如主机地址等
– 信息体:请求的参数名称和参数值等信息
获取客户提交的信息
通常我们用得最多的就是客户端请求的参数名 称和参数值信息。得到某参数值的语法为: (“参数名”)”
session对象与客户对应关系的建立依赖 于客户端浏览器是否支持Cookie。
可通过URL重写实现Session对象的唯 一性,将ID在页面间传递过去
– String str= ("地址 "); – 连接目标改成<%=str%>
3.5 计数器
调用tag文件,显示访问次数 调用tag文件,显示访问次数 访问,计算访问次数并把它写到文件中
内置对象 request response session
application
out
代表内容
触发服务调用的请求
对请求的应答
为请求的客户创建的session对象 从 servlet 配置对象获得的 servlet 上下 文(如在 getServletConfig() , getContext()的调用中) 向输出流写入内容的对象
2. 转换字符编码 String str=request.getParameter("boy"); byte b[ ]=str.getBytes("ISO-8859-1"); str=new String(b,”gb2312”);
1.3 request对象的常用方法
getProtocol():获取请求使用的通信协议,如等。
– String foodName[ ]=request.getParameterValues("ch oice");
– if(foodName!=null)
– { for(int k=0;k<foodName.length;k++)
– { (foodName[k],foodName[k]);

}
–}
(2)public Object getAttibute(String key) 获取session对象含有的关键字是key的对象。由于任 何对象都可以添加到session对象中,因此用该方法取 回对象时,应强制转化为原来的类型。
3.2 session对象存储数据
(3)public Enumeration getAttributeNames() session对象调用该方法产生一个枚举对象,该 枚举对象使用nextElemets()遍历session中的 各个对象所对应的关键字。
相关文档
最新文档