JavaWeb程序设计 课件 ch07 JSP 内置对象1_第1页
JavaWeb程序设计 课件 ch07 JSP 内置对象1_第2页
JavaWeb程序设计 课件 ch07 JSP 内置对象1_第3页
JavaWeb程序设计 课件 ch07 JSP 内置对象1_第4页
JavaWeb程序设计 课件 ch07 JSP 内置对象1_第5页
已阅读5页,还剩30页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章JSP内置对象1本课教学内容认识JSP内置对象out对象request对象response对象Cookie操作认识JSP内置对象内置对象:指在JSP页面中内置的不需要定义就可以在网页中直接使用的对象内置对象预定义的原因:因为这些内置对象有些能够存储参数,有些能够提供输出,还有些能提供其他的功能,JSP程序员一般情况下使用这些内置对象的频率比较高认识JSP内置对象内置对象特点内置对象是自动载入的,因此它不需要直接实例化内置对象是通过Web容器来实现和管理的在所有的JSP页面中,直接调用内置对象都是合法的认识JSP内置对象JSP规范中定义了九种内置对象,本章主要介绍前五种out对象:负责管理对客户端的输出request对象:负责得到客户端的请求信息response对象:负责向客户端发出响应session对象:负责保存同一客户端一次会话过程中的一些信息application对象:表示整个应用的环境的信息认识JSP内置对象exception对象:表示页面上发生的异常,可以通过它获得页面异常信息page对象:表示的是当前JSP页面本身,就像Java类定义中的this一样pageContext对象:表示的是此JSP的上下文config对象:表示此JSP的ServletConfigout对象out对象,对应的类型是javax.servlet.jsp.JspWriterout对象的作用用来向客户端输出各种数据类型的内容对应用服务器上的输出缓冲区进行管理out对象out输出的主要有2个方法:voidprint()voidprintln()out对象out对象一些常用的与管理缓冲区有关的函数:voidclose():关闭输出流,从而可以强制终止当前页面的剩余部分向浏览器输出voidclearBuffer():清除缓冲区里的数据,并且把数据写到客户端去voidclear():清除缓冲区里的数据,但不把数据写到客户端去out对象out对象一些常用的与管理缓冲区有关的函数:intgetRemaining():获取缓冲区中没有被占用的空间的大小voidflush():输出缓冲区的数据。out.flush()函数也会清除缓冲区中的数据,但是此函数先将之前缓冲区的数据输出至客户端,然后再清除缓冲区的数据intgetBufferSize():获得缓冲区的大小request对象request对应类型是javax.servlet.http.HttpServletRequestrequest包含的方法StringgetMethod():得到提交方式StringgetRequestURI():得到请求的URL地址StringgetProtocol():得到协议名称request对象request包含的方法StringgetServletPath():获得客户端请求服务器文件的路径StringgetQueryString():得到URL的查询部分,对post请求来说,该方法得不到任何信息request对象request包含的方法StringgetServerName():得到服务器的名称StringgetServerPort():得到服务器口号StringgetRemoteAddr():得到客户端的IP地址

*具体代码示例见课本request对象request对象获取客户端得参数常用的是通过2个方法:StringgetParameter(Stringname):获得客户端传送给服务器的name参数的值。当传递给此函数的参数名没有实际参数与之对应时,则返回nullString[]getParameterValues(Stringname):以字符串数组的形式返回指定参数所有值response对象response与reuqest是一对相对应的内置对象,response可以理解为客户端的响应,request可以理解为客户端的请求,二者所表示范围是相对应的2个部分,具有很好的对称性。response对应的类(接口)是:javax.servlet.http.HttpServletResponse。可以通过查找文档中javax.servlet.http.HttpServletResponse来了解response的API利用response对象进行重定向重定向:就是跳转到另一个页面重定向方法为:

response.sendRedirect(目标页面路径); <jsp:forwardpage=""></jsp:forward>

两种重定向方法的不同从浏览器的地址显示上来看forward方法属于服务器端去请求资源,服务器直接访问目标地址,并对该目标地址的响应内容进行读取,再把读取的内容发给浏览器,因此客户端浏览器的地址不变两种重定向方法的不同从浏览器的地址显示上来看redirect是告诉客户端,使浏览器知道去请求哪一个地址,相当于客户端重新请求一遍。所以地址显示栏会变两种重定向方法的不同从数据共享来看forward转发的页,以及转发到的目标页面能够共享request里面的数据redirect转发的页以及转发到的目标页面不能共享request里面的数据两种重定向方法的不同从功能来看redirect能够重定向到当前应用程序的其他源,而且还能够重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源两种重定向方法的不同从功能来看forward方法只能在同一个Web应用程序内的资源之间转发请求,可以理解为服务器内部的一种操作两种重定向方法的不同从效率来看forward效率较高,因为跳转仅发生在服务器端redirect相对较低,因为类似于再进行了一次请求使用频率不是很高的一种重定向sendError():向客户端发送HTTP状态码的出错信息使用频率不是很高的一种重定向常见的错误代码有:400:BadRequest,请求出现语法错误401:Unauthorized,客户试图未经授权访问受密码保护的页面403:Forbidden,资源不可用404:NotFound,无法找到指定位置的资源500:InternalServerError,服务器遇到了无法预料的情况,不能完成客户的请求利用response设置HTTP头HTTP头一般用来设置网页的基本属性response的setHeader()方法来进行设置 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires",0);以上都是表示在客户端缓存中不保存页面的拷贝Cookie操作Cookie是一个小的文本数据,由服务器端生成,发送给客户端浏览器,客户端浏览器如果设置为启用Cookie,则会将这个小文本数据保存到某个目录下的文本文件内。下次登录同一网站,客户端浏览器则会自动将Cookie读入之后,传给服务器端。一般情下,Cookie中的值是以key-value的形式进行表达的Cookie操作Cookie操作主要用到以下几个方法:response.addCookie(Cookiec):通过该方法,将Cookie写入客户端Cookie.setMaxAge(intsecond):通过该方法,设置Cookie的存活时间。参数表示存活Cookie操作从客户端获取Cookie内容,主要通过以下方法:Cookie[]request.getCookies():读取客户端传过来的Cookie,以数组形式返回Cookie的盗取盗取的方法:利用跨站脚本技术,将信息发给目标服务器;为了隐藏URL,甚至可以结合Ajax(异步Javascript和XML技术)在后台窃取CookieCookie的盗取通过某些软件,窃取硬盘下的Cookie。一般说来,当用户访问完某站点后,Cookie文件会存在机器的某个文件夹下,因此可以通过某些盗取和分析软件来盗取CookieCookieCookie在Web编程中应用很广的原因:Cookie的值能够持久化,即使客户端机器关闭,下次打开还是可以得到里面的值Cookie可以帮助服务器端保存多个状态信息,但是不用服务器端专门分配存储资源Cookie可以持久保持一些和客户相关的信息解决Cookie安全的方法方法有以下几种替代Cookie。将数据保存在服务器端,可选的是session方案及时删除Cookie解决Cookie安全的方法要删除一个已经存在的Cookie,有以下几种方法:给一个Cookie赋以空置设置Cookie的失效时间为当前时间,让该Cookie在当前页面的浏览完之后就被删除了解决Cookie安全的方法通过浏览器删除Cookie

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论