Presentation is loading. Please wait.

Presentation is loading. Please wait.

IBM WX-ETP © 2009 IBM Corporation review  JSP 1.What 2.Where 3.How 4. 与 的区别 5. 的作用是什么 6. 的作用是什么 1JSP2016-8-19.

Similar presentations


Presentation on theme: "IBM WX-ETP © 2009 IBM Corporation review  JSP 1.What 2.Where 3.How 4. 与 的区别 5. 的作用是什么 6. 的作用是什么 1JSP2016-8-19."— Presentation transcript:

1 IBM WX-ETP © 2009 IBM Corporation review  JSP 1.What 2.Where 3.How 4. 与 的区别 5. 的作用是什么 6. 的作用是什么 1JSP2016-8-19

2 IBM WX-ETP © 2009 IBM Corporation 2016-8-19 JSP JSP 隐式对象 JSP 属性范围

3 IBM WX-ETP © 2009 IBM Corporation 3JSP2016-8-19 Agenda 1. 隐式对象 2. 作用域和对象 3.JSP 中属性的保存范围

4 IBM WX-ETP © 2009 IBM Corporation 4JSP2016-8-19 Objective  掌握 JSP 隐式对象  掌握 JSP 四种属性范围

5 IBM WX-ETP © 2009 IBM Corporation 5 5 隐式对象  JSP 隐式对象是 Web 容器加载的一组类  它不像一般的 Java 对象那样用 ”new” 去获取实例,而是可以 直接在 JSP 页面使用的对象  隐式对象的名称是 JSP 的保留字  JSP 使用 Java 定义的隐式对象来访问网页的动态内容 隐式对象 输入/输出对象 作用域通信对象 Servlet 对象 错误对象 request response out session pageContext application page config exception

6 IBM WX-ETP © 2009 IBM Corporation 隐式对象 6 JSP 页面 隐式对象 客户端 响应 请求 响应 请求 服务器

7 IBM WX-ETP © 2009 IBM Corporation 输入 / 输出对象 控制页面的输入和输出 访问与所有请求和响应有关的数据 输入和输出对象包括 request 、 response 和 out 7

8 IBM WX-ETP © 2009 IBM Corporation request 对象 8 8 表示客户端对网页的请求 实现 javax.servlet.http.HttpServletRequest 接口 使用 HTTP 协议处理客户端的请求 JSP 页面 request 对象 客户端 请求信息 表示并存储客户端的请求 请求 服务器

9 IBM WX-ETP © 2009 IBM Corporation request 对象  request 对象常用方法 –String getParameter(String name) 根据页面表单组件名称获取请求页面提交数据 –String[ ] getParameterValues (String name) 获取页面请求中一个表单组件对应多个值时的用户的请求数 据 9

10 IBM WX-ETP © 2009 IBM Corporation request 对象  使用 request 对象进行 JSP 编程 需求:某网站注册时,需要输入注册信息,请编写 JSP 页面供用 户输入,并获取用户输入的数据。注册信息包括用户名、密码、 确认密码、性别 、学历和你从哪里知道本网站等主题。 分析: 1 、编写一个 JSP 页面,提供用户输入的表单组件。 2 、编写另一个 JSP 页面,获取用户提交的请求数据,并显示出来。  Eg: reginput.jsp 、 reginfo.jsp 10

11 IBM WX-ETP © 2009 IBM Corporation response 对象 11 处理 JSP 生成的响应 将响应发送给客户端 实现 javax.servlet.http.HttpServletResponse 接口 使用 HTTP 协议将响应发送给客户端 JSP 页面 Response 对象 客户端 从服务器中 检索的信息 存储信息,以在响应客户端 请求时发送此信息 响应 服务器

12 IBM WX-ETP © 2009 IBM Corporation response 对象  response 对象常用方法 –void setContentType (String name) 设置作为响应生成的内容的类型和字符编码 –void sendRedirect (String name) 发送一个响应给浏览器,指示其应请求另一个 URL Eg: response1.jsp&response2.jsp 12

13 IBM WX-ETP © 2009 IBM Corporation out 对象 13 表示输出流 javax.servlet.jsp.JspWriter 类的实例, 以字符流的形式输出 数据. 通过 page 指令的 buffer 属性来制定缓冲区的大小, 默 认是 8kb 使用 write() 、 print() 和 println() 方法 JSP 页面 out 对象 客户端 创建输出流 创建输出流以显示信息 请求 输出流 在网页上 显示输出 流 服务器

14 IBM WX-ETP © 2009 IBM Corporation session 对象  Web 服务器为单个用户发送的多个请求创建会话  存储有关用户会话的所有信息  javax.servlet.http.HttpSession 接口的实例 14 <% session.setAttribute(“name”, “admin”); %> <% if(session.getAttribute(“name”)!=null){ String name = (String) session.getAttribute(“name”); } %>

15 IBM WX-ETP © 2009 IBM Corporation appliction 对象  表示 JSP 页面所属的应用程序  应用程序的 JSP 页面组合起来形成一个应用程序  javax.servlet.ServletContext 接口实例 15 <% application.setAttribute(“ChartRecord”, “hihi”); %> <% if(application.getAttribute(“ChartRecord”)!=null){ String chartRecord = (String) application.getAttribute(“ChartRecord”); } %>

16 IBM WX-ETP © 2009 IBM Corporation pageContext 对象  使用户可以访问页面作用域中定义的所有隐式对象  它的作用范围是在同一页面  javax.servlet.jsp.PageContext 类的实例 16 pageContext.setAttribute("name","helinxfy") ; pageContext.setAttribute("password","java") ; String name = (String)pageContext.getAttribute("name") ; String password = (String)pageContext.getAttribute("password") ;

17 IBM WX-ETP © 2009 IBM Corporation servlet 对象  JSP 引擎为每个 JSP 生成一个 servlet  servlet 对象提供了访问 servlet 信息的方法和变量  servlet 对象包括 –page –config 17

18 IBM WX-ETP © 2009 IBM Corporation page 对象  使用 page 对象可以访问 Servlet 类的所有变量和方法  java.lang.Object 类的一个实例 18

19 IBM WX-ETP © 2009 IBM Corporation config 对象  存储在编译 JSP 页面的过程中创建的 Servlet 的信息  javax.servlet.ServletConfig 接口的实例  提供了检索 Servlet 初始化参数的方法  Eg:config.jsp,web.xml 19 String propertyFile =(String)config.getInitParameter(“PropertyFile”); config 对象 获取初始化参数 返回名字为 propertyFile 的初始化参数的值, 初始化 参数在 web.xml 配置文件中进行配置, 如果不存在 则返回 null

20 IBM WX-ETP © 2009 IBM Corporation exception 对象  exception 对象用于处理 JSP 页面中的错误  exception 对象用于访问执行 JSP 的过程中引发的异常  exception 对象是 java.lang.Throwable 类的实例 20 隐式对象 隐式对象:异常 已检测到以下错误: br> 指定网页中发生的错误

21 IBM WX-ETP © 2009 IBM Corporation 在 web.xml 中,可以使用 exception-type 标签或 HTTP 状态码 error-code 标签 声明错误页面。  根据异常类声明错误页面: java.io.IOException /error.jsp exception-type 指定的必须是一个 Throwable ,并且这个类在容器的类路径 下能够被找到。  根据 HTTP 状态码声明错误页面: 404 /error.jsp 21 使用 error-page 标签的要点: ① 不论是根据 exception-type 还是 error- code 来声明错误页面, location 指定的路 径必须以斜线开头,也就是说它是相对于 Web 应用根的。 ② 一个 web.xml 中可以使用多个 error- page 标签,一个 error-page 标签中只能使 用一个 exception-type 或 error-page 。 Eg:error.jsp,testError500.jsp,web.xml

22 IBM WX-ETP © 2009 IBM Corporation exception  在 JSP 中,可以在 page 指令中通过 errorPage 属性来指 定错误页面:   Eg:testError2.jsp  如果是 JSP 中抛出的异常,容器首先查看 JSP 中有没有 指定 errorPage 属性,如果没有,再查看 web.xml 中有 没有 error-page 标签;如果是 Web 应用中的其它地方抛 出异常,容器只会查看 web.xml 中的 error-page 标签。 22

23 IBM WX-ETP © 2009 IBM Corporation 作用域和对象 在 jsp 页面中的对象, 包括用户创建的对象 (javaBean 对象 ) 和 jsp 的隐式对象, 都有一个作用域. 它定义了在什么时间 内, 在哪一个 jsp 页面中可以访问这些对象. 对象的作用域包括 page 范围、 request 范围、 session 范 围 application 范围 –page 范围 : 在这个范围内的对象, 只能在创建对象的页面中 访问.pageContext 这个隐式对象属于这个范围 –request 范围 : 一个请求的范围,request 对象属于这个范围 –session 范围 : 在一个会话期间的范围.session 对象属于这个 范围 –Application 范围 : 在 web 应用程序运行期间, 所有的页面都可 以访问这个范围的对象,application 对象属于这个范围 23

24 IBM WX-ETP © 2009 IBM Corporation 内置对象(隐式对象)的作用域 24

25 IBM WX-ETP © 2009 IBM Corporation JSP 中属性的保存范围  在 JSP 中可采用下面的方法设置和取得属性: 设置属性: setAttribute(String name,Object attribute) 取得属性: Object getAttribute(String name)  在 JSP 中提供了四种属性保存范围: 1. 在一个页面范围内: page 2. 在一次服务器请求范围内: request 3. 在一次会话范围内: session 4. 在一个应用服务器范围内: application 25

26 IBM WX-ETP © 2009 IBM Corporation page 范围 26 Eg: pagedemo01.jsp&pagedemo02.jsp 2016-8-19JSP

27 IBM WX-ETP © 2009 IBM Corporation request 范围 27 Eg: requestdemo01.jsp-requestdemo03.jsp 2016-8-19JSP

28 IBM WX-ETP © 2009 IBM Corporation session 范围  Web 服务器为单个用户发送的多个请求创建会话  存储有关用户会话的所有信息  javax.servlet.http.HttpSession 接口的实例 28 Eg:sessionDemo01.jsp--sessionDemo03.jsp 2016-8-19JSP

29 IBM WX-ETP © 2009 IBM Corporation application 范围 29  所有用户都可以取得此信息,此信息在整个服务器上被保 留 Eg:applicationDemo01.jsp--applicationDemo02.jsp 2016-8-19JSP

30 IBM WX-ETP © 2009 IBM Corporation JSP 的四种范围 application 应用:在线人员统计、在线人员名单列表。 如果要释放 application 资源,只能重新启动服务器。 设置过多的 application 或每一个 session 保存过多的对象,性能都会降 低。 如果能使用 request 就不要使用 session, 如果能使用 session 的就不要使 用 application 。 pageContext 在默认情况下表示一个页面的保存范围。  实际上,四种属性范围都是通过 pageContext 对象完成的: APPLICATION_SCOPE SESSION_SCOPE REQUEST_SCOPE PAGE_SCOOPE 30 Eg:pageDemo03.jsp--pageDemo04.jsp 2016-8-19JSP

31 IBM WX-ETP © 2009 IBM Corporation 例子  Eg1:cookieDemo01.jsp—cookieDemo02.jsp  Eg2:responseDemo01.jsp—responseDemo04.jsp  Eg3:login.jsp,logout.jsp  Eg4:sessionId.jsp,sessionNew.jsp,sessionTime.js p,welcome.jsp 312016-8-19JSP

32 IBM WX-ETP © 2009 IBM Corporation 32JSP2016-8-19 Q & A

33 IBM WX-ETP © 2009 IBM Corporation Task 1. 认真体会例子 2. 留言系统: JSP+Servlet+POJO+DAO+DB 3. 练习 JSP 的四种属性范围 4. 预习任务: JSP Bean 33JSP2016-8-19

34 IBM WX-ETP © 2009 IBM Corporation 任务评析  Servlet01-03  JSP01 34JSP2016-8-19

35 IBM WX-ETP © 2009 IBM Corporation 35JSP2016-8-19


Download ppt "IBM WX-ETP © 2009 IBM Corporation review  JSP 1.What 2.Where 3.How 4. 与 的区别 5. 的作用是什么 6. 的作用是什么 1JSP2016-8-19."

Similar presentations


Ads by Google