




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上节回顾 JSP语法JSP中变量和方法的声明 注释 Java程序片 表达式和JSP的标记 将HTML代码嵌入Java中就构成了servlet 而把Java代码嵌入HTML中就构成了JSP 客户与服务器间的交互管理在JSP中通过JSP的内置对象来完成 第4章JSP内置对象详解 4 1请求对象 request4 2响应对象 response4 3会话对象 session4 4多客户端共享对象 application4 5页面对象 page4 6页面上下文对象 pageContext4 7输出对象 out4 8配置对象 config4 9异常对象 exception 4 1请求对象 request 4 1 1获取请求参数 4 1 2在作用域中管理属性 4 1 3获取Cookie对象 4 1 4获取客户端信息 request对象通过getParameter 方法来获取用户提交的数据 获取请求参数的使用格式如下 Stringname request getParameter name 参数 name 与form表单中的name属性对应 或者与提交链接的参数名对应 如果参数值不存在 则返回null值 该方法的返回值类型是String 使用request对象获取用户提交的值 需要注意 1 中文显示 若是直接赋值的中文字符串 通过设置就可正常显示 但request接收的中文字符需进行如下设置 方能正常显示 方法一 Stringaa request getParameter name byte aa aa getBytes ISO 8859 1 Stringbb newString aa 一 获取请求参数 方法二 Stringaa newString request getParameter name getBytes ISO8859 1 gb2312 方法三 在使用request对象前插入语句 2 空对象处理 使用request对象获取信息时要避免使用空对象 在客户请求页面时 如果用户没有提交数据 对象就没被创建 使用该对象时 Java解释器就会提示出现NullPointerException异常 为避免出现这种问题 使用如下代码 Stringaa request getParameter name if aa null aa 二 在作用域中管理属性 在进行请求转发操作时 把一些数据带到转发后的页面处理 这时 就可以使用request对象的setAttribute 方法将数据设置在request范围内存取 在request作用域中 设置转发数据的方法使用格式如下 request setAttribute key value 参数key为String类型的键名 在转发后的页面取数据时 通过这个键名来获取数据 参数value为Object类型的键值 代表需要保存在request范围内的数据 在requet作用域中 获取转发数据的方法使用格式如下 Objectobject request getAttribute name 在requet作用域中 获取所有属性的名称集的方法使用格式如下 request getAttributeNames 该方法返回值是枚举类型 Enumeration 数据 用户注册用户注册信息 例 使用request对象获取用户信息 信息提交 账号 使用request对象获取用户信息 信息获取dealwith jsp 显示用户注册结果显示用户注册信息 使用request对象获取用户信息 信息输出showUserInfo jsp 账号 密码 Email地址 性别 三 获取Cookie对象 浏览器与WEB服务器之间是使用HTTP协议进行通信的 当某个用户发出页面请求时 WEB服务器只是简单的进行响应 然后就关闭与该用户的连接 因此当一个请求发送到WEB服务器时 无论其是否是第一次来访 服务器都会把它当作第一次来对待 为了弥补这个缺陷 Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息 因此人们昵称为 小甜饼 Cookie是Web应用程序保存用户相关信息提供的一种有效的方法 它是一段文本信息 伴随着用户请求和页面在Web服务器和浏览器之间传递 用户每次访问站点时 Web应用程序都可以读取Cookie包含的信息 在JSP页面中可以通过requet对象中的getCookie 方法获取Cookie中的数据 格式 Cookie cookie request getCookie 该方法返回值是Cookie数组 cookie的好处 1 能使站点跟踪特定访问者的访问次数 最后访问时间和访问者进入站点的路径 2 能告诉在线广告商广告被点击的次数 从而可以更精确的投放广告 3 有效期限未到时 Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点 4 能帮助站点统计用户个人资料以实现各种各样的个性化服务 Cookie的设置在IE的 工具 Internet选项 的 常规 选项卡中 选择 设置 查看文件 查看所有保存到你电脑里的Cookie 打开 工具 Internet选项 中的 安全 标签中的 自定义级别 按钮 进行简单调整 可以调整Cookie的安全级别 测试Cookie if cookie response null out println 上一次访问的时间 cookie response getValue cookie response setValue newDate toString if cookies null cookie response newCookie AccessTime cookie response setValue newDate toString response addCookie cookie response 四 获取客户端信息 request对象可以获取客户端信息 如下 获取客户端信息 out print getPathInfo 的值 request getPathInfo out print getRequestURI 的值 request getRequestURI out print getContextPath 的值 request getContextPath out print getServletPath 的值 request getServletPath out print getQueryString 的值 request getQueryString 例 获取客户端信息 4 2响应对象 response 4 2 1客户端与服务器端的交互 4 2 2页面重定向 4 2 3缓冲区的输出 4 2 4response对象常用方法 一 客户端与服务器端的交互 request对象和response对象的结合可以使JSP更好地实现客户端与服务器的信息交互 用户在客户端浏览器中发出的请求信息被保存在request对象中并发送给Web服务器 JSP引擎根据JSP文件的指示处理request对象 或者根据实际需要将request对象转发给由JSP文件所指定的其他服务器端组件 如Servlet组件 JavaBean组件或EJB组件等 处理结果则以response对象的方式返回给JSP引擎 JSP引擎和Web服务器根据response对象最终生成JSP页面 返回给客户端浏览器 这也是用户最终看到的内容 客户端与服务器端信息交互的流程如图所示 二 页面重定向 JSP页面可以使用response对象中的setRedirect 方法将客户请求重定向到一个不同的页面资源 JSP页面还可以使用response对象中的sendError 方法指明一个错误状态 该方法接受一个错误及一条可选的错误信息 该信息将在内容主体上返回给客户 例如 response sendError 500 请求页面存在错误 上两个方法都中止当前的请求和响应 response对象中用于重定向的方法如下 sendError intnumber 使用指定的状态码向客户发送错误响应 sendError intnumber Stringmsg 使用指定的状态码和描述性消息向客户发送错误响应 sendRedirect Stringlocation 指定的重定向位置URL并向客户发送重定向响应 可以使用相对URL sendRedirect jsp 填写姓名 例 根据用户提交的信息进行重定向 tree1 jsp 使用同一个request 是在服务器端跳转 浏览器显示的是第一个页面的名字 因为客户端 浏览器 不知道它在服务器端跳转了 Response sendRedirect是两个不同的request 是在客户端跳转 浏览器显示的是跳转后的页面的名字 因为它是从客户端跳转到第二个页面的 Response sendRedirect与的区别 使用forward时 由于只是发送一次request请求 request设置的属性 setAttribute 能保留在下一个页面 而使用sendRedirect时 由于发送两次request请求 在下一个不能获取request属性 但可以通过重写URL的方式 In forward jsp A link jspfengshan Res sendRedirect jsp resu jsp http localhost 8080 In forward跳转后结果为 waterrainhttp localhost 8080 A link跳转后结果为 nullnullhttp localhost 8080 Res sendRedirect jsp跳转后结果为 nullnull 三 缓冲区的输出 缓冲可以有效地在服务器与客户之间传输内容 HttpServletResponse对象为支持jspWriter对象而启用了缓冲区配置 response对象可以为JSP页面设置缓冲区容量 检测缓冲区的状态 response对象中用于相应缓冲的方法如下 flushBuffer 强制把缓冲区中内容发送给客户 getBufferSize 返回响应所使用的实际缓冲区大小 如果没使用缓冲区 则该方法返回0 setBufferSize intsize 为响应的主体设置首选的缓冲区大小 booleanisCommitted 表示响应是否已经提交 提交的响应已经写入状态码 r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 账务管理知识培训课件
- 豌豆花园课件
- 谈礼貌课件教材
- 2025版浅析电子商务定金合同中的违约责任
- 2025年度购物中心铁艺装饰工程合同
- 2025版玩具工厂环保材料研发与采购合作合同
- 2025版手机配件原材料供应合同范本
- 2025年度高品质住宅买卖意向合同样本
- 2025年度车辆保险担保合同书
- 2025年版智能制造企业人才战略开发合同模板
- 六年级家长会课件
- 2025年党建党史知识竞赛测试题库及答案
- 2025年教科版新教材科学二年级上册教学计划(含进度表)
- GB/T 45859-2025耐磨铸铁分类
- 临床基于ERAS理念下医护患一体化疼痛管理实践探索
- 2025年河北交警三力测试题及答案
- 2025贵州贵阳供销集团有限公司招聘笔试历年参考题库附带答案详解
- 人教版(2024)新教材三年级数学上册课件 1.2 观察物体(2)课件
- 颈椎骨折脊髓损伤的护理
- 华为海外税务管理办法
- 2025秋统编版小学道德与法治二年级上册教学设计(附目录)
评论
0/150
提交评论