版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP实现数据传递和保存
线上线下平台预习2/41本课目标学完本次课程后,你能够:掌握request和response的使用解决页面中出现的中文乱码掌握转发和重定向的区别掌握session存取数据理解cookie理解application3/41概述任务实现新闻系统的用户注册内容requestresponse4/41获取表单提交的数据-1我们在网页的表单中填入数据,提交表单后,数据被提交到哪里去了?JSP问题5/41获取表单提交的数据-2请求对象:requestpublicStringgetParameter(Stringname)示例HTML代码:<inputtype="text"name="userName"/>JSP代码:StringuserName =request.getParameter("userName");演示示例1:获取表单提交的数据6/41get与post区别比较项Getpost参数出现在URL中是否长度限制有无安全性低高URL可传播是否7/41获取同名的多个参数<inputtype="checkbox"name="mailId"value="10001"/><inputtype="checkbox"name="mailId"value="10002"/><inputtype="checkbox"name="mailId"value="10003"/><inputtype="checkbox"name="mailId"value="10004"/><inputtype="checkbox"name="mailId"value="10005"/>String[]mailIds=request.getParameterValues("mailId");if(mailIds!=null&&mailIds.length!=0){ //循环mailIds访问提交的数据}else{ //未提交与参数mailId相关的数据}8/41request对象常用方法方法名称说明StringgetParameter(Stringname)根据表单组件名称获取提交数据String[]getParameterValues(Stringname)获取表单组件对应多个值时的请求数据voidsetCharacterEncoding(Stringcharset)指定每个请求的编码RequestDispatchergetRequestDispatcher(Stringpath)返回一个RequestDispatcher对象,该对象的forward()方法用于转发请求9/41内置对象JSP已经准备好的,可以直接使用的对象请求对象:request输出对象:out响应对象:response应用程序对象:application会话对象:session页面上下文对象:pageContext页面对象:page配置对象:config异常对象:exception10/41需求说明编写登录页面(userLogin.jsp),表单包含字段:用户名和密码提交表单到loginSuccess.jsp页面,并在该页面中显示提交的用户名和密码分析在loginSuccess.jsp中使用request取出表单提交的数据在页面中显示课堂练习完成时间:5分钟共性问题集中讲解11/41JSP中默认使用的字符编码方式:iso-8859-1,不支持中文常见的支持中文的编码方式中文乱码你提交的是中文用户名吗?编码方式收录的字符gb2312常用简体汉字gbk简体和繁体汉字utf-8所有国家需要的字符问题12/41解决中文乱码设置请求和响应的编码方式request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");<%@
pagelanguage="java"contentType="text/html;charset=utf-8"%>get请求出现乱码治标的方法:newString(s.getBytes("iso-8859-1"),"utf-8");治本的方法:配置tomcat\conf\server.xml文件URIEncoding="UTF-8"useBodyEncodingForURI="true"<ConnectorconnectionTimeout="20000"port="8080"protocol="HTTP/1.1"redirectPort="8443"URIEncoding="UTF-8"/>演示示例2:中文乱码处理13/41在请求中存取属性-1在请求中保存属性publicvoidsetAttribute(Stringname,Objecto)request.setAttribute("mess","注册失败");在请求中获取属性publicObjectgetAttribute(Stringname)属性名属性值引用类型属性名属性值1、在使用属性值的时候要做非空判断,否则会出现空指针异常2、它的返回值类型是Object类型,需要做数据类型的转换注意14/41在请求中存取属性-2你会这样写吗?Stringmess=(String)request.getAttribute("mess");if(mess!=null){//在请求中取到"mess"属性对应的属性值,正常使用mess数据}else{//在请求中没有取到"mess"属性对应的属性值,使用备选方案}Stringmess=request.getAttribute("mess");mess.length();问题15/41转发RequestDispatcher对象forward()方法重定向将用户请求重新定位到一个新的URL转发与重定向response.sendRedirect("url")1、request.getRequestDispatcher("url").forward(request,response)2、<jsp:forwardpage="url"/>语法语法演示示例3:转发与重定向16/41转发与重定向的区别-1转发的工作方式请求JSP处理中…请求、响应客户端服务器响应结果处理结束URL没有发生变化17/41转发与重定向的区别-2重定向的工作方式请求JSP新地址客户端服务器结果第二次请求所对应的URL地址响应再次请求响应18/41转发与重定向的区别转发与重定向的区别-3比较项转发重定向URL变化否是重新发出请求不会会是否携带请求是否目标URL要求仅本Web应用任意URL重定向是客户端行为,转发是服务器行为注意19/41课堂练习需求说明继续完善上次上机练习,在JSP中防止中文乱码假定用户名:系统管理员,密码:123可以登录成功,其他用户拒绝登录,正确实现页面的跳转和提示分析在JSP中设置编码方式判断用户是否可以登录并实现跳转共性问题集中讲解完成时间:10分钟20/41小结实现新闻系统的用户注册请求对象request响应对象response解决中文乱码转发和重定向区别21/41概述任务在新闻系统中保存用户状态登录时自动填写用户名统计页面访问次数内容重难点session理解cookie理解application22/41使用session保存用户名-1使用会话对象session实现一个会话就是浏览器与服务器之间的一次通话会话可以在多次请求中保存和使用数据注册成功后自动登录,登录后记住用户状态,并在多个页面显示用户名,如何实现?通话提问23/41使用session保存用户名-2sessionpublicvoidsetAttribute(Stringname,Objectvalue);用法:session.setAttribute("userName","张三丰");publicObjectgetAttribute(Stringname);用法:StringuserName=(String)session.getAttribute("userName");演示示例4
:使用session保存用户名语法24/41session的工作方式每个session都有一个唯一的sessionidpublicStringgetId();session.getId();服务器浏览器浏览器请求请求响应(携带sessionid)请求(携带sessionid)sessionidFCA000…sessionid28F73…25/41会话的清除和过期-1若没有清理机制,会导致性能问题或服务器崩溃程序主动清除session数据服务器主动清除长时间没有再次发出请求的sessionsession的数据是在服务器端的,服务器保存的会话数据量会越来越大,从而导致性能问题问题26/41会话的清除和过期-2程序主动清除session数据设置会话失效:session.invalidate();移除会话的一个属性publicvoidremoveAttribute(Stringname);用法:session.removeAttribute("userName");语法27/41会话的清除和过期-3服务器主动清除长时间没有再次发出请求的session设置会话过期时间方法一:方法二:publicvoidsetMaxInactiveInterval(intinterval);
<session-config><session-timeout>30</session-timeout></session-config>单位:秒单位:分钟演示示例5
:session清除与过期28/41小结用浏览器访问服务器——产生会话通过浏览器在网站登录——在会话中保存数据登录成功后用个人身份进行访问——会话有效期内关闭了浏览器——结束会话服务器主动结束会话——会话到期使会话失效、删除属性——及时释放会话资源程序主动结束会话、会话到期——会话中的数据丢失29/41需求说明继续完善上次上机练习,实现登录成功后,在session中保存用户信息并跳转至index.jsp页面中,在该页面中显示用户名(注:需进行session是否为空的判断)index.jsp页面中提供注销按钮,点击注销按钮之后页面跳转至userLogin.jsp登录页面分析登录页提交表单到对应的JSP页面登录成功时在session中保存用户信息在其他页面中从session中取出用户信息显示清空session,实现注销课堂练习共性问题集中讲解完成时间:10分钟30/41使用cookie自动填写用户名cookie以文件方式保存数据添加数据publicvoidaddCookie(Cookiecookie)获取数据publicCookie[]getCookies()设置有效期publicvoidsetMaxAge(intexpiry)用户可以禁用cookie1、浏览器关闭,会话结束,但为什么有些论坛在用户再次进入的时候却可以识别用户身份,并且用户状态为:已登录?2、用户每次访问邮箱的时候,页面上会自动显示该用户名?问题演示示例6
:使用cookie自动填写用户名31/41课堂练习需求说明继续完善上次上机练习,在cookie中保存用户名,关闭浏览器再次打开index.jsp页面时,自动填写用户名分析登录成功时,在cookie中保存用户名在登录页获取cookie中保存的用户名完成自动填写用户名功能共性问题集中讲解完成时间:5分钟32/41application实现计数器分析每个用户都需要使用访问次数application可在整个项目中共享使用数据使用application实现计数器每次访问该页面,计数器加1解决方法publicvoidsetAttribute(Stringname,Objectobject)publicObjectgetAttribute(Stringname)统计页面的访问次数?问题演示示例7
:使用application实现计数器33/41课堂练习需求说明继续完善上次上机练习,实现统计userLogin.jsp登录页面被访问的次数分析访问登录页的时候将页面访问次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光学普通磨工安全综合考核试卷含答案
- 办公小机械制造工安全理论强化考核试卷含答案
- 表面活性剂制造工岗前工艺分析考核试卷含答案
- 医疗救护员复测水平考核试卷含答案
- 金行业智能化五金制品生产方案
- 煤粉工操作评估知识考核试卷含答案
- 供应链合作诚信保障书范文7篇
- 耐火纤维制品成型工改进知识考核试卷含答案
- 成型制作养护工改进考核试卷含答案
- 金属制粉工岗前安全文明考核试卷含答案
- 矿井电缆维修方案范本
- 2025年国家审计署公务员招聘面试经验与模拟题集
- 京瓷哲学的培训课件
- 淋膜基础知识培训课件
- 《电动汽车储能系统原理与维修》课件-项目四 北汽新能源EV200动力蓄电池
- 2026届湖南长沙青竹湖重点中学中考语文适应性模拟试题含解析
- 《养老社区停车空间选址及车位配建指标指南》
- 检验检测机构内审员考试试卷(附答案)
- 《文言文二则》(第1课时)教学课件
- 2025年广东中山大学孙逸仙纪念医院基础与转化医学研究中心实验岗位招聘2人笔试历年专业考点(难、易错点)附带答案详解
- DB42T 1713-2021 城市道路路面维修养护技术规程
评论
0/150
提交评论