第3章 JSP内置对象课件

上传人:我*** 文档编号:141031468 上传时间:2020-08-03 格式:PPT 页数:35 大小:278.50KB
返回 下载 相关 举报
第3章 JSP内置对象课件_第1页
第1页 / 共35页
第3章 JSP内置对象课件_第2页
第2页 / 共35页
第3章 JSP内置对象课件_第3页
第3页 / 共35页
第3章 JSP内置对象课件_第4页
第4页 / 共35页
第3章 JSP内置对象课件_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《第3章 JSP内置对象课件》由会员分享,可在线阅读,更多相关《第3章 JSP内置对象课件(35页珍藏版)》请在金锄头文库上搜索。

1、第3章 JSP内置对象,1、request,2、response,3、session,4、application,5、 out,6、exception,7、pageContext,8、config,重点内容,请求对象request 应答对象response 会话对象session 全局应用程序对象application,综述,有几种对象看起来和ASP的内置对象差不多,功能也类似,这是因为这些内置对象的构建基础是标准化的HTTP协议。 如果使用过ASP,那么对这几种JSP内置对象的使用应该能迅速掌握。 需要注意的问题是对象名的写法,包括这些对象方法的调用时也要书写正确,因为Java语言本身是大小

2、写敏感的。,request和response,request对象:收集来自浏览器(客户端)的请求,例如我们在FORM表单中填写的信息等,是最常用的对象。 response对象:是对客户端的响应,也就是说可以通过response对象来发送传递到浏览器(客户端)的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用“out” 对象即可。,3.1 请求对象request,3.1.1 核心知识 当用户请求一个JSP页面时,JSP页面所在的服务器将用户发出的所有请求信息封装在内置对象request中,使用该对象就可以获取用户提交的信息。 request对象获取客户提交信

3、息的两个常用方法如下: 1request.getParameter(“参数名”) 该方法以字符串的形式返回客户端传来的某个参数的值,该参数名由name指定。 2request.getParameterValues(“参数名”) 该方法以字符串数组的形式返回客户端向服务器端传递的指定参数名的所有值。,知识点:数组的定义,数组是Java语言中的一种复合数据类型,它是由类型相同的元素组成地有顺序的数据集合,这些数据在内存中的存放是连续的。 一维数组 数组的定义形式为:数组元素类型数组名 ; 例:int arry_int ;/定义int类型数组 String args ;/定义Sring类型数组 数组

4、的下标从0开始 例:arry_int0,arry_int1,arry_int2,3.1 请求对象request,3.1.2 能力目标 能够灵活使用request内置对象获取客户提交的信息。 3.1.3 任务驱动 1.任务的主要内容 编写两个JSP页面exa3_1.htm和exa3_2.jsp, exa3_1.htm:表单页面,用户在这个网页输入注册信息。 exa3_2_1.jsp负责获得表单中提交的信息并显示。,exa3_1.htm,exa3_1_1.jsp,程序改进1 exa3_1_2.jsp,增加对输入信息的判断 姓名不能为空 密码不能为空 重复密码不能为空 密码和重复密码必须相同 知识点

5、:判断字符串为空 文本框判空 pass.quest(“”) 单选框和复选框判空 sex=null,程序改进2 exa3_1_2.jsp,密码个数判断 字符串变量名.length(); 例如: String name=“abcde”; int x; x=name.length(); /x=5;,3.2 应答对象response,3.2.1 核心知识 request对象对请求信息进行封装,与request对象对应的对象是response对象。response对象对用户的请求做出动态响应。动态响应通常有如下3个: 1动态改变contentType属性值 2设置响应表头(HTTP文件头) 3respo

6、nse重定向 3.2.2 能力目标 能够灵活使用response内置对象动态响应用户的请求。,3.2 应答对象response,3.2.3 任务驱动 本节有以下3个任务: 1任务1-动态改变contentType属性值 上机:P38 2任务2-设置响应表头 上机:P39 3任务3-重定向 response.sendRedirect(“网页路径/网页名称”);,3.2 应答对象response,1.任务3:重定向 编写两个JSP页面exa3_2_1.jsp和exa3_2_2.jsp,如果在页面exa3_2_1.jsp中输入正确的密码“123456”,点击按钮“登陆”后提交给页面exa3_2_2.

7、jsp,如果输入不正确,重新定向到exa3_2_1.jsp页面。,程序改进:利用对话框返回,exa3_2_3.jsp exa3_2_4.jsp out.println(); out.println(alert(密码有误); out.println(history.go(-1); out.println();,3.2 应答对象response,2.任务3的代码模板 example3_2_3.jsp enter.jsp 3.任务3小结或知识扩展 response对象的sendRedirect方法是在用户的浏览器端工作,Web服务器要求浏览器重新发送一个到被定向页面的请求。在浏览器地址栏上会出现重定

8、向页面的URL,且为绝对路径。 forward动作标记也可以实现页面的跳转,如:。但使用forward动作标记与response对象调用sendRedirect不同。 4.任务3代码模板的参考答案,3.2 应答对象response,3.2.4 实践环节 编写3个JSP页面login.jsp、server.jsp和loginSuccess.jsp,如果在页面login.jsp中输入正确的用户名“kazhafei”和正确的密码“aobama”,点击按钮“登陆”后提交给页面server.jsp。在server.jsp页面中进行登陆验证:如果输入正确,提示“成功登陆,3秒钟后进入loginSucces

9、s.jsp页面”,如果输入不正确,重新定向到login.jsp页面。先运行login.jsp页面,页面运行效果如图3.4(a)3.4(c)所示。,3.3 会话对象session,3.3.1 核心知识 1session对象的ID session对象调用getId()方法就可以获取当前session对象的ID。 2session对象存储数据 使用session对象可以保存用户在访问某个Web服务目录期间的有关数据。 3session对象的生存期限 用户是否关闭浏览器。 session对象是否调用invalidate()方法。 session对象是否达到设置的最长“发呆”时间。,3.3 会话对象se

10、ssion,在网页中利用超链接,可以很方面地从一个页面到另一个页面。但是,这样也带来一个问题,怎样记载客户的信息呢?比如,网上购物,在首页客户输入了自己的用户名和密码,需要很多物品时在其他页面还需要使用该用户名,那么用什么记住用户信息呢? 在HTTP协议下,每一个连接都是全新开始。这样就给页面之间实现变量传递带来了问题,为此JSP提供了一个Session对象来解决这一问题,利用它可以实现上述要求。 Session对象可以用来记载一位客户端信息,即使该客户在多个页面跳转,该Session信息仍然存在。需要强调的是:Session信息是对一个客户而言的,不同客户的信息用不同的Session信息记载

11、。,3.3 会话对象session,3.3.2 能力目标 理解session对象的生存期限,灵活使用session对象存储数据。 3.3.3 任务驱动 本节有以下3个任务: 1任务1-获取session对象的ID 2任务2-使用session对象存储数据 3任务3-session对象的生存期限,3.3 会话对象session,使用session对象存储数据 session.setAttribute(对象名字,要保存的值) 例如:String name=张三,pass=456567; session.setAttribute(xm,name); session.setAttribute(ps,p

12、ass); 说明:有一个变量name,值为张三,现在利用session对象来保存该变量值,则在该用户退出之前,都能利用session对象xm来随时读取用户名张三。密码同上。,3.3 会话对象session,获取session对象的存储数据 session.getAttribute(对象名字) 例如:out.print(session.getAttribute(xm); out.print(session.getAttribute(ps); 说明:该语句用来在网页上显示session对象xm的值,3.3 会话对象session,获取session对象的Id session.getId(); 例如

13、:out.print(session.getId(); 说明:该语句用来在网页上显示session对象Id的值,3.3 会话对象session,1.任务1的主要内容 编写3个JSP页面example3_3_1.jsp、example3_3_2.jsp和example3_3_3.jsp,其中, example3_3_2.jsp存放在目录tom中,example3_3_3.jsp存放在目录cat中。客户首先访问example3_3_1.jsp页面,从该页面链接到example3_3_2.jsp页面,然后从example3_3_2.jsp页面链接到example3_3_3.jsp,效果如图3.5(a

14、)3.5(c)所示。,3.3 会话对象session,1.任务2的主要内容 使用session对象模拟在线考试系统。编写3个JSP页面example3_3_4.jsp、example3_3_5.jsp和example3_3_6.jsp,在example3_3_4.jsp页面中考试,在example3_3_5.jsp页面中显示答题结果,在example3_3_6.jsp页面中计算并公布考试成绩。先运行example3_3_4.jsp页面,效果如图3.6(a)3.6(c)所示。,3.3 会话对象session,3.3.4 实践环节 用户到便民超市采购商品,购物前需要先登录会员卡号,购物时先把选购的

15、商品放入购物车,最后到柜台清点商品。请借助于session对象模拟购物车,并存储客户的会员卡号和购买的商品名称。会员卡号输入后可以修改,购物车中的商品可以查看。编写程序模拟上述过程。loginID.jsp实现会员卡号输入,shop.jsp实现商品导购,food.jsp实现商品购物,count.jsp实现清点商品。本节实践环节的4个JSP页面都保存在目录shijian3中,先运行loginID.jsp页面,效果如图3.8(a)图3.8(d)所示。,3.4 全局应用程序对象application,3.4.1 核心知识 不同用户的session对象互不相同,但有时候用户之间可能需要共享一个对象,We

16、b服务器启动后,就产生了这样一个唯一的内置对象application。任何用户在访问同一Web服务目录的各个页面时,共享一个application对象,直到服务器关闭,这个application对象被取消为止。 3.4.2 能力目标 理解application对象的生存期限,灵活使用application对象存储数据。,Application对象与Session对象的区别,Session对象能为用户个人保存网站期间(会话)的数据信息,它只对个人用户作用,而对JSP程序中其他用户是无用的,可以说Session对象的数据是对用户私有的。 而Application对象内保存的信息是可以让同一JSP程序中的所有用户所共享,比如在聊天室里说一句话,聊天室的所有人都能看见。,注意,Application变量一旦创建,除非服务器关闭,否则将一直保持。 在引用Application变量时,必须使用同步,防止多个用户同时修改变量值。 synchronized(application)/同步处理 application变量处理 ,3.4 全局应用

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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