[互联网]内置对象 jsp

上传人:豆浆 文档编号:49544132 上传时间:2018-07-30 格式:PPT 页数:80 大小:409.50KB
返回 下载 相关 举报
[互联网]内置对象 jsp_第1页
第1页 / 共80页
[互联网]内置对象 jsp_第2页
第2页 / 共80页
[互联网]内置对象 jsp_第3页
第3页 / 共80页
[互联网]内置对象 jsp_第4页
第4页 / 共80页
[互联网]内置对象 jsp_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《[互联网]内置对象 jsp》由会员分享,可在线阅读,更多相关《[互联网]内置对象 jsp(80页珍藏版)》请在金锄头文库上搜索。

1、内置对象唐琳内置对象 概念 内置对象也被称之为内嵌对象或默认对象 所谓默认对象,就是当你在撰写JSP时,不需要声 明就可以直接使用的对象。page对象 page对象 page对象代表JSP本身,更准确的说是代表JSP 转译后的Servlet,因此它可以调用Servlet类所 定义的所有方法。不过实际上page对象很少在 JSP中使用。config对象 config对象 存储一些Servlet的初始化数据。config相当于 javax.servlet.ServletConfig接口。request对象 request对象 包含所有请求的信息。如:请求的来源、标头 、cookies和请求的相关的

2、参数值。HTTP请求 HTTP请求由3部分组成,分别是: 请求方法URI协议/版本 请求头(Request Header) 请求正文HTTP 请求消息格式请求方法URI/ 版本协议请求头请求正文GET /samples.jsp?userName=davidMSIE5.01;Windows NT 5.0 Accept-Encoding:gzip,deflate空行(分隔消息头和实体内容)HTTP 请求消息格式请求方法URI/ 版本协议请求头请求正文POST /samples.jsp HTTP/1.1 Accept:image/gif,image/jpeg,*/* Accept-Language:

3、zh-cn Connection:Keep-Alive Host:localhost User-Agent:Mozilla/4.0(compatible;MSIE5.01;Windows NT 5.0 Accept-Encoding:gzip,deflateuserName=davidMSIE5.01;Windows NT 5.0 Accept-Encoding:gzip,deflate空行 请求头和请求正文之间是一个空行,这个 行非常重要,表示请求头已经结束,接下 来的是请求的正文。请求正文 请求正文可以包含客户提交的查询字符串 值,也可以包含更多的内容 userName=davidchar

4、set=gbk”) 其中MIME类型有: image/bmp|gif|jpeg|tiff|x-dcx|x-pcx text/html|plain|xml application/pdf|rtf|octet-stream| 7、setCharacterEncoding * 用于设置输出内容的MIME生命中的字符集编码。如设置了 Content-Type头字段,则设置Content-Type头字段中的字符集编码 部分,如未设置Content-Type头字段,则此方法设置的字符集编码 不会出现在消息头中,但仍决定ServetResponse.getWriter方法所 放回的PrintWriter对象

5、输出文本内容时所采用的编码。 public void setContentType(String type) 两种方式: response.setHeader(“Refresh“,“2“); response.setHeader(“Refresh“,“2;URL=http:/“) ;public class TestRefresh extends HttpServlet public void service(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletExceptionre

6、sponse.setHeader(“Refresh“,“2“); PrintWriter out=response.getWriter(); out.println(new Date(); out.close(); 应用:定时刷新页面public class TestCharacter extends HttpServlet public void service(HttpServletRequest request, HttpServletResponse response)throws IOException,ServletException response.setHeader(“Cac

7、he-Control“, “no-cache“); PrintWriter out=response.getWriter(); out.println(new Date(); out.close(); 禁止浏览器缓存当前文档内容 ServletResponse是Servlet程序和Servlet引擎进行通 信的接口,Servlet程序通过ServletResponse对象将 响应正文传递给Servlet引擎,再由Servlet引擎将响 应消息输出到客户端。 ServletResponse提供两个接口方法用于按字节或 字符流形式输出响应正文: public ServletOutputStream

8、 getOutputStream() public java.io.PrintWriter getWriter() 注意: 这两个方法不可同时调用。设置响应正文输出缓冲区 Servlet程序输出的HTTP消息的响应正文不是 直接发送到客户端,而是首先写入到了 Servlet引擎提供的一个输出缓冲区。 public void setBufferSize(int size) public int getBufferSize() public void flushBuffer() public boolean isCommitted() public void reset() 非HTML文档resp

9、onse.setContentType(“application/pdf“); ServletOutputStream sos = response.getOutputStream(); FileInputStream is = new FileInputStream(“c:/JDBC.pdf“); int len=is.read();while(len!=-1)sos.write(len);len=is.read();is.close();sos.close();应用:验证码的实现response.setContentType(“image/jpeg“);int width=60;int h

10、eight=18;String sourcenum= “0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQ RSTUVWXYZ“;String siglenum=“;String checknum=“;for(int i=0;i0,通知浏览器保存在硬盘上注保存在硬盘中的Cookie,可被多个访问同一网站的浏览器进 程共享。保存在浏览器进程内存空间中的Cookie,IE浏览器多个 进程不能共享,Firefox可共享操作Cookie方法1、HttpServletResponse.addCookie(Cookie ck)用于发送Cookie给浏

11、览器,针对每个addCookie方法响应消息头 中增加一个Set-Cookie响应头字段。 2、HttpServletRequest.getCookies()方法获取请求消息头中的所有Cookie项。练习一:Web服务器发送Cookie给浏览器public class SetCookies extends HttpServlet public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException Cookie ckname=new Co

12、okie(“name“,“abc“); ckname.setMaxAge(1000); Cookie ckpass=new Cookie(“pass“,“abc“); ckpass.setMaxAge(1000); response.addCookie(ckname); response.addCookie(ckpass); 通过telnet查看响应消息 telnet localhost 8080 GET /j2ee/SetCookies HTTP/1.0通过浏览器查看 HTTP:/localhost:8080/j2ee/SetCookies查看目录C:Documents and Settin

13、gsAdministratorCookies练习二:浏览器再次访问Web服务器GET /j2ee/SetCookies HTTP/1.1 accept:*/* accept-language:zh-cn,en-us;q=0.5 accept-encoding:gzip, deflate user-agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) host:localhost:8888 connection:Keep-Alive cookie:name=abc; pass=abc内容提纲 会话状态与CookienSession的持久

14、化管理nSession什么是Session?Cookie技术是浏览器保存会话状态信息的方法,使用Cookie传递信息可保持客户的状态 信息,但信息的传输将导致效率的降低。Session技术是服务器保存会话状态信息的方法,Session技术借助Cookie传递会话ID号 码。例:病人看病。 Cookie技术:病人每次带完整的病例信息看病,每次看完病,病 人将医生写的病例信息带走,下次再带来。 Session技术:病人每次只带病例卡看病,医生根据病例卡号查询 病人病例,每次看完病,医生更新病人病例信息。Session跟踪机制每个客户端在Web服务器端对应一个HttpSession对象,用于存储该客

15、户端状态信息。访问1创建并分 配ID回复(0001)访问2(0001)Session 对象0001根据ID查 询Session的超时管理HttpSession对象创建后一直在服务器端内存,服务器端通常根据“超时限制”的方法来判断客户端是否还在继续访问。例如:tomcat中的超时设置confweb.xml30HttpSession接口方法 1、getId()方法获取与当前HttpSession对象关联的会话标识号。 2、getCreationTime()方法获取当前HttpSession对象的创建时间。 3、setMaxInactiveInterval(int interval)设置当前Http

16、Session对象可空闲的最长时间,秒。 4、getMaxInactiveInterval()获取HttpSession对象的可空闲时间。 5、isNew()方法判断当前HttpSession对象是否新创建的。 6、invalidate()方法强制当前HttpSession对象释放。7、getServletContext()方法获取当前HttpSession对象所属于的Web应用程序对象。 8、setAttribute(String name,Object o)方法将一个对象与一个名称关联后存储进HttpSession对象中。 9、getAttribute(String name)获取指定名称的属性值。 10、removeAttribute(String name)删除指定名称的属性。 11、getAttributeNames()方法获取当前HttpSession对象中存储的所

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号