资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第五讲 Request和Response-Session对象,授课课时:4课时 主讲教师:蒋丽芳,主要内容,本讲目标 新课引入与项目展示 案例1 out对象和request对象的用法 案例2 response对象的用法 案例3 session对象的用法 课堂实践 巩固与提高,本讲目标,素质 目标,严谨认真的工作态度 语言表达和与人沟通能力 团队合作精神,完成E-Buy电子商城项目中的登录程序的设计,并根据指定的用户名和密码(假设均为ebuy)进行验证。如果验证通过,跳转到主页面并显示个人信息,否则,跳转到错误页面 。,任务引入,任务分析,登录程序的设计:将index_left.jsp 页面分成login.jsp和notice.jsp两块,并用include动作进行组装,对用户名和密码进行为空性检查。 使用request对象对用户名和密码的正确性进行校验 使用session保存用户登录信息及用户登录是否成功信息 使用response对象完成页面重定向,任务分解,任务1:应用out对象。 任务2:使用JavaScript和request对象对用户名和密码的合法性进行为空性、正确性校验。 任务3:session对象的使用。 任务4:response对象的使用。,代码分析: 第7行第20行:输出各种类型的数据; 第21行第22行:输出日期对象; 第23行第24行:输出字符串数据; 第25行第26行:输出新行; 第27行第30行:输出当前缓冲区大小及剩余的缓冲区大小; 第31行第32行:判断是否自动刷新。,在浏览器中输入http:/127.0.0.1:8080/chap05/outdemo.jsp,outdemo.jsp文件的运行界面如图所示。,任务1-应用out对象,任务1-应用out对象,out对象被封装成javax.servlet.JspWriter接口,用来向客户端输出内容。out是专门为向客户端发送输出而设计的,out对象的作用域是page。,out对象应用实例 “); out.println(“输出布尔型数据:“); out.println(true); out.println(“输出字符型数据:“); out.println(l); out.println(“输出字符数组数据:“); out.println(new charl,z,c); out.println(“输出双精度数据:“); out.println(5.66d); out.println(“输出单精度数据:“); out.println(36.8f); out.println(“输出整型数据:“); out.println(8); out.println(“输出长整型数据:“); out.println(123456789123456L);,out.println(“输出对象:“); out.println(new java.util.Date(); out.println(“输出字符串:“); out.println(“liuzchnrpc“); out.println(“输出新行:“); out.newLine(); out.println(“缓冲区大小:“); out.println(out.getBufferSize(); out.println(“缓冲区剩余大小:“); out.println(out.getRemaining(); out.println(“是否自动刷新:“); out.println(out.isAutoFlush(); out.flush(); out.println(“调用out.flush()“); out.close(); out.println(5.66d); %,任务1-应用out对象,任务2 为空性和正确性检查,要求: 使用JavaScript对用户名和密码进行客户端为空性检查(简单演示)。 使用request内置对象对用户名和密码进行服务端为空性检查。 使用response内置对象对用户名和密码进行服务端正确性检查。,Reqest对象,request对象是和请求相关的HttpServletRequest类的一个对象,该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以查看请求参数的配置情况(调用getParameter来实现)、请求的类型(如Get、Post、Head等)和已经请求的HTTP头(如cookie、Referer等)。,request对象获取该表单提交的信息,文件名:input.htmlGET提交方法 使用GET方法提交表单,用来从服务器读取信息,比如从服务器读取文件、表格、数据库查询结果等. POST提交方法POST提交数据方法只能通过表单来实现,用来向服务器传送信息,比如把信用卡号、表格、存储于数据库的数据等传送到服务器,request对象空值处理,=0)r=Math.sqrt(number) ;out.print(“+String.valueOf(number)+“的平方根:“);out.print(“+String.valueOf(r);elseout.print(“+“请输入一个正数“);catch(NumberFormatException e)out.print(“+“请输入数字字符“);%,使用request对象获取信息要格外小心,要避免使用空对象,否则会出现NullPointerException异常,所以我们经常对空对象(null)进行处理,以增强程序的健壮性。,文件名:requestdemo2.jsp,文件名:requestdemo1.jsp:获取文本框提交的信息:获取按钮的名字:,request对象获取该表单提交的信息,request对象汉字处理信息,文件名:requestdemo3.jsp获取文本框提交的信息:获取按钮的名字:更加简单的方法:使用request对象的setCharacterEncoding(String env)方法,设置传入参数的字符集。,学生模仿1,设计一个简单的“JSP程序设计网上测试系统”,如下图所示。要求提交后能够对特定的测试者的操作进行评判,如图所示。,获取复杂表单提交的信息 1.单选框radio sex = request.getParameter(“sex“);2.列表框 xueli = request.getParameter(“xueli“);3.复选框checkbox,String aihao = “;String aihaostr = request.getParameterValues(“aihao“);for(int i=0; i ,应用session对象记录表单信息,welcome.jsp(登录结果文件)欢迎光临请先登录,谢谢!“);out.println(“5秒钟后,自动跳转到登录页面!“);response.setHeader(“Refresh“,“5;URL=login1.htm“);else if (strLogin.equals(“OK“)out.println(strUser+“欢迎进入我们的网站!“);elseout.println(“用户名或密码错误,请重新登录!“);out.println(“5秒钟后,自动跳转到登录页面!“);response.setHeader(“Refresh“,“5;URL=login1.htm“);%,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号