第8章JSP内置对象(4学时).ppt

上传人:sccc 文档编号:5928957 上传时间:2023-09-05 格式:PPT 页数:60 大小:1.42MB
返回 下载 相关 举报
第8章JSP内置对象(4学时).ppt_第1页
第1页 / 共60页
第8章JSP内置对象(4学时).ppt_第2页
第2页 / 共60页
第8章JSP内置对象(4学时).ppt_第3页
第3页 / 共60页
第8章JSP内置对象(4学时).ppt_第4页
第4页 / 共60页
第8章JSP内置对象(4学时).ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《第8章JSP内置对象(4学时).ppt》由会员分享,可在线阅读,更多相关《第8章JSP内置对象(4学时).ppt(60页珍藏版)》请在三一办公上搜索。

1、Java与J2EE架构,计算机学院,第8章 JSP内置对象,8.1 request对象8.2 reponse对象8.3 session对象8.4 application对象8.5 out对象,8.1 request对象,request对象封装了客户端提交的数据信息。用request对象的相关方法可获得提交的各种数据。,request对象方法示例,1.获取客户端和服务器端参数【GO】2.获取客户端发送给服务器端的参数值:String getParameter(String name)【GO】String getParameterValues(String name)【GO】3.获取请求中所有参数

2、的集合Enumeration getParameterNames()【GO】,【return】,1.获取客户端和服务器端参数示例,请求方式:请求用的协议:请求的文件:响应请求的服务器名称:响应请求的服务器的端口号:获取发出请求的客户端IP地址:获取发出请求的客户端主机名:获取发出请求的客户端端口号:/的真实路径:表单提交来的值:,【return】,2.request.getParameter(),max用函数实现,Max(,),b)if(ac)return a;else return c;elseif(bc)return b;else return c;%,max.jsp,练习,全错或不选择,

3、诗人李白是中国历史上哪个朝代的人:宋朝 唐朝 明朝 元朝 小说红楼梦的作者是:曹雪芹 罗贯中 李白 司马迁,index.jsp,您得了分,answer.jsp,什么功能?,【return】,多项选择如何操作?,姓名 选出你喜欢吃的水果:苹果 西瓜 桃子 葡萄,input.html,request.getParameterValues(),你好,getParam.jsp,思考问题如果value值为中文?如果不知变量名?,request对象获取客户提交汉字的乱码问题,首先,将获取的字符串用ISO-8859-1进行编码,并将编码存放到一个字节数组中,然后再将这个属组转化为字符串对象即可。如:Stri

4、ng str=request.getParameter(name);byte a=str.getBytes(ISO-8859-1);str=new String(a);,【return】,3.request.getParameterNames(),stuID,stuName,学号:姓名:,获取变量名,参考,show.jsp,e=request.getParameterNames();while(e.hasMoreElements()str=e.nextElement();out.println(str+:+request.getParameter(str)+);%,枚举类型,java.util

5、.Enumeration,boolean hasMoreElements()测试此枚举是否包含更多的元素。Object nextElement()如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素;返回的是Object对象,需强制转换为原有类型。,Iterator 接口逐渐取代Enumeration接口,【return】,8.2 reponse对象,response对象代表服务器对客户端请求的响应,用于向客户端发送数据。,response对象方法示例,1.设置指定名称的HTTP头的值void setHeader(String name,String value)2.把响应发送到另

6、外一个位置进行处理void sendRedirect(String location),【return】,1.reponse.setHeader()方法,设置页面自动刷新:response.setHeader(refresh,秒数);设置定时跳转页面:response.setHeader(refresh,秒数;URL=页面名称);,示例1,%,示例2,秒钟能自动更新,方法1:java.util.Date类,Date today=new Date();getYear():年份 y 由整数(y-1900)表示 getMonth():月份由0至11的表示:0是一月,11是十二月。getDate():

7、月份中的某一天,值在 1 和 31 之间。getHours():小时由从 0 至 23 的表示getMinutes():分钟由 0 至 59 的表示 getSeconds():秒由 0 至 61 的表示,值 60 和 61 只对闰秒发生。,使用Date类,方法2:java.util.Calendar类,Calendar now=Calendar.getInstance();主要用now.get()方法get(Calendar.YEAR)get(Calendar.MONTH)get(Calendar.DATE)或 get(DAY_OF_MONTH)get(Calendar.HOUR)0-11(1

8、2小时制)get(Calendar.HOUR_OF_DAY)0-23(24小时制)get(Calendar.MINUTE)get(Calendar.SECOND),Calendar符号常量(要大写),使用Calendar类,示例3,【return】,设置定时跳转页面:response.setHeader(refresh,5;URL=http:/);,如何显示倒计时?,2.reponse.sendRedirect()方法,注意:跳转后客户端看到的是新页面地址。,练习,reponse.sendRedirect()跳转实现,简单用法,页面1 页面2,但此例value只是是数字串,参考,请选择:武汉科

9、技大学 华中科技大学 武汉大学,go.jsp,sendRedirect()传递参数,传递参数示例:response.sendRedirect(1.jsp?id=1234),request.getParameter(id),1.jsp,思考,区别:response.sendRedirect(),主要区别,【return】,引例,姓名,1.jsp,2.jsp,8.3 session对象,session对象代表服务器与客户端所建立的会话.从一个客户端打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话.为什么需要session?当一个客户端访问一个服务器时,可能会在这个服

10、务器的多个页面之间反复跳转,服务器应当通过某种办法来识别这是来自同一个客户端的不同请求,这种办法通常就是使用session对象。session对象可以实现在一个会话期间的多页面间的数据共享/传递。,理解session,HTTP是无状态(stateless)协议,Web服务器对每一个客户端请求都没有历史记忆.session用来保存客户端状态信息,由Web服务器写入,存于客户端.Web服务器通过读取客户端提交的session来获取客户端的状态信息。,session对象的id,当一个客户首次访问服务器上的一个jsp页面时,jsp引擎将产生一个session对象,同时分配一个String类型的id号j

11、sp引擎同时将这个id号发送到客户端,存放在cookie中,这样session对象和客户之间就建立了一一对应的关系.当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。,session.getId()方法,你的session对象的ID是:,session对象方法示例,设置和获取session属性值 void setAttribute(String name,Object value)Obje

12、ct getAttribute(String name),设置和获取session属性值,session.setAtrribute(String name,Object value)用value来初始化session对象某个属性(name指定)的值;如果指定的属性不存在,则新建一个;如果已存在,则更改name属性的值。session.getAtrribute(String name)获得由name指定名称的session对象属性的值;方法返回的是一个Object对象,因此,对返回的对象要用强制转换把得到的对象转换为此对象原来的类型.如果属性不存在,返回空值。,基本用法示例,index.jsp,

13、1.jsp,字符串类型值,需强制转换,问题讨论,问题1:在第一次运行index.jsp后且不关闭,下一次直接运行1.jsp有结果吗?如果关闭又如何?问题2:如果没有运行index.jsp,而先运行1.jsp有结果吗?问题3:如果将 session.setAttribute(id,1234);改为 session.setAttribute(id,1234);,示例,index.jsp,1.jsp,字符串类型值,需强制转换,index.jsp,1.jsp,int类型,姓名,session登录问题,logcheck.jsp,names=new ArrayList();names.add(Name);

14、session.setAttribute(lognames,names);hasLog=true;promt=欢迎+Name+!你的名字已经写入session;,for(int i=0;inames.size();i+)String temp=(String)names.get(i);if(temp.equals(Name)promt=Name+你已经登录;hasLog=true;break;,names.add(Name);session.setAttribute(lognames,names);hasLog=true;promt=欢迎+Name+!你的名字已经写入session;,思考问题

15、:(3)与(1)有什么区别?,ArryaList基本用法,ArrayList类是个 java.util 包中的类库,存放的是object类型,要从数组列表中提取元素时,需要进行类型转换.声明形式:ArrayList a=new ArrayList();无需指定大小,可自动改变大小 常用方法:add()添加新元素:a.add(object);size()代替 length 计算元素的个数:a.size()get(i)代替 ai 访问元素;,ArrayList a=new ArrayList();for(int i=0;i10;i+)a.add(i);for(int i=0;ia.size();i

16、+)int t=(Integer)a.get(i);System.out.println(t+1);,姓名,补充:session的注销,index.jsp,logcheck2.jsp,logout.jsp,简易购物车(session版),buy1.jsp,buy2.jsp,index.jsp,display.jsp,关键点:标签跳转后将会在新页面中产生新的request.,欢迎购物,index.jsp,各种肉大甩卖,一律十块:猪肉 牛肉 羊肉 买点别的 查看购物车,buy1.jsp,采用不同名称便于session操作,各种球大甩卖,一律八块:篮球 足球 排球 买点别的 查看购物车,buy2.j

17、sp,您的购物车:);/再复制5个,依次改为s2s6%返回,display.jsp,【return】,处理汉字值,8.4 application对象,application对象负责提供应用程序在服务器中运行时的一些全局信息,客户端使用的application对象都是一样的(实现用户间数据的共享)。服务器一旦启动,就会自动创建application对象,并一直保持,直到服务器关闭。在此期间,在任何地方对application对象相关属性的操作,都将影响到其他用户对此的访问。,application对象方法示例,获取服务器端基本信息【GO】设置和获取application属性值【GO】void s

18、etAttribute(String key,Object obj)Object getAttribute(String key),获取服务器端基本信息,应用服务器名及版本号:返回/index.jsp虚拟路径的真实路径:服务器支持的Servlet API的主版本号:服务器支持的Servlet API的副版本号:,【return】,设置和获取application属性值,application.setAttribute(String key,Object obj)将对象obj添加到application对象中,并为添加的对象添加一个索引关键字key.application.getAttribute(String key)获取application对象中含有关键字key的对象。由于任何对象都可以添加到application中,因此用此方法取回对象的时候,需要强制转化为原来的类型。如果属性不存在,返回空值。,示例网站计数器,程序参考,您是第个用户。,在浏览器中浏览:http:/localhost:8080/testJSP/index.jsp,严格来说,【return】,8.5 out对象,out对象用来向客户端发送数据(文本级),其内容将是浏览器需要显示的内容。常用方法:pirnt()和println()。可以通过out对象直接向客户端写一个由程序动态生成HTML文件。,【完】,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号