《JSP的内置对象》PPT课件.ppt_第1页
《JSP的内置对象》PPT课件.ppt_第2页
《JSP的内置对象》PPT课件.ppt_第3页
《JSP的内置对象》PPT课件.ppt_第4页
《JSP的内置对象》PPT课件.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第五章,JSP 的内置对象,2,回顾,JSP 脚本元素包括: JSP 表达式、JSP Scriptlet 和 JSP 声明 JSP 表达式包括在 标签内, JSP Scriptlet 包括在内, JSP声明包括在内 JSP 指令有 page、include 和 taglib指令 JSP 指令包括在 标签内 page 指令用于设置 JSP 页面的属性;include 属性用于将其他文件嵌入 JSP 页面;Taglib 指令允许用户创建自定义标签,3,目标,了解隐式对象的分类及组成 运用输入输出对象:request、response 和 out进行JSP编程 运用作用域通信对象:session、application和pageContext进行JSP编程 理解 Servlet 相关对象:page 和 config 理解错误对象:exception,4,隐式对象 2-1,JSP 隐式对象是 Web 容器加载的一组类 它不像一般的Java对象那样用”new”去获取实例,而是可以直接在JSP页面使用的对象 隐式对象的名称是 JSP 的保留字 JSP 使用 Java 定义的隐式对象来访问网页的动态内容,隐式对象,输入输出对象,5,隐式对象 2-2,隐式对象,客户端,服务器,6,输入/输出对象,控制页面的输入和输出 访问与所有请求和响应有关的数据 输入和输出对象包括request、response 和 out,7,request 对象 4-1,表示客户端对网页的请求 实现 javax.servlet.http.HttpServletRequest接口 使用 HTTP 协议处理客户端的请求,request 对象,客户端,表示并存储客户端的请求,服务器,8,request 对象 4-2,request对象常用方法 String getParameter(String name) 根据页面表单组件名称获取请求页面提交数据 String getParameterValues (String name) 获取页面请求中一个表单组件对应多个值时的用户的请求数据,如复选框和多选下拉列表框,返回一个数组包含了所有被选中的项。 getParameterNames()方法得到客户端传递过来的所有参数名字,返回的是一个Enumeration,9,request 对象 4-3,使用request对象进行JSP编程 需求:某网站注册时,需要输入注册信息,请编写JSP页面供用户输入,并获取用户输入的数据。注册信息包括用户名、密码、确认密码、性别 、学历和你从哪里知道本网站等主题。 分析: 1、编写一个JSP页面,提供用户输入的表单组件。 2、编写另一个JSP页面,获取用户提交的请求数据,并 显示出来。,10,request 对象 4-4,request对象,使用request对象进行JSP编程,演示:示例 1,11,应用示例1,登录验证(demo01),登录 用户名:xxx 密码:xxxxx,欢迎xxx访问,验证失败 重新登录,验证正确 验证错误,12,获取提交数据的所有参数名字和值, “); out.println(“Values: “ + request.getParameter(current_param) + “); %,13,汉字问题两种解决方法,当利用request.getParameter得到Form种元素的时候,默认的情况字符编码为ISO-8859-1,这种编码不能正确的显示汉字。 有两种解决方法: 是在执行操作之前,设置request的编码格式,语法是:request.setCharacterEncoding(“GBK“); 另一种方法是转换字符编码: new String(request.getParameter(“name“).getBytes(“ISO-8859-1“) ),14,应用案例-调查表信息的读取,案例名称:调查表输入页面 程序名称:input.htm,15,调查表信息的读取,案例名称:调查表处理页面 程序名称:handle.jsp,16,response 对象 3-1,处理 JSP 生成的响应 将响应发送给客户端 实现javax.servlet.http.HttpServletResponse 接口 使用 HTTP 协议将响应发送给客户端,Response 对象,客户端,存储信息,以在响应客户端 请求时发送此信息,服务器,17,response 对象 3-2,response 对象常用方法 void setContentType (String name) 设置作为响应生成的内容的类型和字符编码。contentType属性的值是text/html,服务器将把静态页面部分发送给客户端。也可以设置为其他一些相应类型,如:text/plain(文本文件)、application/x-msexcel(Excel文件)和application/msword(Word文件)等 void sendRedirect (String name) 发送一个响应给浏览器,指示其应请求另一个URL,18,显示为Word文档,案例名称:显示为Word文档 程序名称:4-11.jsp response对象 setContentType方法 将当前页面保存为word文档吗 ,19,response 对象 3-3,演示:示例 2, response对象 ,使用response对象 重定向,使用response对象进行JSP编程,20,HTTP文件头响应,可以利用JSP动态改变客户端的响应,使用的语法是: response.setHeader(“refresh“,“5;URL=xxx“) 比如让客户端自动每隔5秒刷新一次,,案例名称:动态改变响应头 程序名称:4-12.jsp 现在的时间是: ,21,客户端跳转地址栏改变 页面代码执行完跳转之后 request设置的属性不能保留至下页 通过URL地址重写传参数,页面跳转, response.sendRedirect(“) response.setHeader(“refresh“,“n;url=“),服务器端跳转地址栏不变 立即跳转之后代码不执行 request设置的属性保留至下页 通过传参数,22,设置缓冲区,在实际的JSP应用开发中,为了确保显示的正确性,需要将禁用页面缓冲,否则会显示其他用户的一些的信息。为了解决这个问题,需要在每个JSP的页面中添加语句,案例名称:设置缓冲区 程序名称:4-13.jsp ,23,out 对象 2-1,表示输出流 javax.servlet.jsp.JspWriter 类的实例 使用 write()、print() 和 println() 方法,out 对象,客户端,创建输出流以显示信息,服务器,24,out 对象 2-2,演示:示例 3, ,使用out对象输出,使用out对象进行JSP编程,25,作用域通信对象,隐式对象的作用域包括page、request、session 和 application 作用域通信对象包括 session、application 和 pageContext,26,session 对象 2-1,Web 服务器为单个用户发送的多个请求创建会话 存储有关用户会话的所有信息。 session中保存的对象在当前用户连接的所有页面中都是可以被访问到的。 javax.servlet.http.HttpSession 接口的实例 方法removeAttribute()删除已经设置的属性,27,session 对象 2-2,session 对象最常用的方法: void setAttribute(String name,Object value) 以键/值的方式,将一个对象的值存放到session 中 ,void getAttribute(String name) 根据名称去获取session中存放对象的值 ,28,简易session版购物车,利用session保存用户选购的商品信息,本购物车程序要求: 要求用户登录 显示3类物品:电器类、食品类和文具类 每类物品用一个页面显示 查看购物车 购买物品(清理购物车),29,Application 对象 2-1,表示 JSP 页面所属的应用程序 应用程序的 JSP 页面组合起来形成一个应用程序 javax.servlet.ServletContext接口实例 站点所有的用户公用一个application对象,当站点服务器开启的时候,application就被创建,直到网站关闭。 常利用application创建聊天室和网站计数器等常用站点应用程序。,30,application 对象 2-2,void setAttribute(String name,Object value) 以键/值的方式,将一个对象的值存放到application中 ,void getAttribute(String name) 根据名称去获取application中存放对象的值 ,31,应用Application创建聊天室程序,聊天室允许多用户实时进行信息交流,所有用户可以看到彼此的信息,这与application对象的特点正好符合,所以可以方便地利用application实现聊天室。,案例名称:简易聊天室 程序名称:4-21.jsp,32,pageContext 对象 2-1,使用户可以访问页面作用域中定义的所有隐式对象 它的作用范围是在同一页面 javax.servlet.jsp.PageContext 类的实例,33,pageContext 对象 2-2,pageContext对象最常用的方法有: void setAttribute(String name,Object value) 以键/值的方式,将一个对象的值存放到pageContext中 void getAttribute(String name) 根据名称去获取pageContext中存放对象的值,34,cookie对象,Cookie对象是由Web服务器端产生后被保存到浏览器中的信息。Cookie对象可以用来保存一些小量的信息在浏览器中。目前主流的浏览器(Internet Explorer和Netscape Navigator)都支持Cookie。 可以将Cookie写到浏览器中,让浏览器来保存Cookie的值。,35,写入Cookie,案例名称:写入Cookie 程序名称:4-25.jsp 写入Cookie 查看,36,读出Cookie,案例名称:读出Cookie 程序名称:4-26.jsp 读出Cookie,37,小结:页面间变量传递,URL重写 index.htm?name=jjjj&pass=lll 表单传递 post方法 用于和 方法 setAttribute(“name”,object,int scope)与getAttribute(“name“) new cookie(“name“,“value“) cookiesi.getValue() ,request.getParameter(“name”),pageContext、request、session、application对象,javaBean,38,小结:JSP的四种属性范围,一个页面范围:page 一次服务请求范围:request 一次会话范围:session 一个应用服务器范围:appilication pageContext 对象的方法: setAttribute(“name”,Object,int scope)设置不同范围属性 常量SCOPE: PAGA_SCOPE REQUEST_SCOPE SESSION_SCOPE APPLICATION_SCOPE,39,Page范围,设置属性,取得属性,取得属性,可以取得,不能取得,服务器端跳转,a.jsp,b.jsp,40,request范围,设置属性,取得属性,取得属性,可以取得,可以取得,服务器端跳转,a.jsp,b.jsp,取得属性,可以取得,c.jsp,服务器端跳转,41,session范围,设置属性,取得属性,取得属性,可以取得,可以取得,页面跳转,a.jsp,b.jsp,取得属性,可以取得,c.jsp,页面跳转,42,application范围,服务器,设置属性,a.jsp,取得属性,b.jsp,取得属性,c.jsp,取得属性,43,作用域通信对象的使用,演示:示例 3,session 对象,pageContext 对象,application 对象, session、application 和 pageContext ,对象使用了 setAttribute() 方法,页面计数= 会话计数= 应用程序计数= 时间= ,对象使用了 getAttribute() 方法,44,Servlet 对象,JSP 引擎为每个 JSP 生成一个 Servlet Servlet对象提供了访问 Servlet 信息的方法和变量 Servlet 对象包括 page config,45,page 对象,使用 page 对象可以访问 Servlet 类的所有变量和方法 java.lang.Object类的一个实例,46,conf

温馨提示

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

评论

0/150

提交评论