纯JSP页面编程—内置对象.ppt_第1页
纯JSP页面编程—内置对象.ppt_第2页
纯JSP页面编程—内置对象.ppt_第3页
纯JSP页面编程—内置对象.ppt_第4页
纯JSP页面编程—内置对象.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4 章 纯JSP页面编程 内置对象,Web应用程序设计,课堂案例,思考:“图书管理系统”已经在原型的基础上实现了,数据的动态显示。但是,这些数据目前都还是在内存中模拟设置的。那么,如何获取客户端的输入,又如何根据客户端的请求从服务器获取指定数据呢?,客户端的请求和服务器端的响应,是Web应用的基础,JSP程序是否提供了方便的机制来实现这些功能呢?,1 JSP内置对象概述,1 JSP内置对象概述,out对象:把信息回送到客户端的浏览器中。 request对象:用来得到客户端的信息。 response对象:处理服务器端对客户端的一些响应。 session对象:用来保存单个用户访问时的一些信息。 application对象:用来保存网站的一些全局变量。,2、out对象,out对象是javax.servlet.jsp.JspWriter类的实例,它的作用是把信息回送到客户端的浏览器中。 在out对象中,最常用的方法就是print()和println()。 在使用print()或println()方法时,由于客户端是浏览器,因此向客户端输出时,可以使用HTML中的一些标记,例如:“out.println(”Hello,JSP“);”。 out对象的生命周期是当前页面。因此对于每一个JSP页面,都有一个out对象 eg.补充源码01九九乘法表 eg.补充源码04 【例 1】out对象的使用,2、out对象,编写JSP页面程序的3个步骤 先做出最终效果页面 通过效果页面的HTML代码分析程序机构 将数据处理、结构控制等转换为JSP代码元素,3 request对象 访问请求参数,String userName = request.getParameter(“name“);,【例4-1】 访问请求参数示例,eg.补充源码04 【例 2】request对象的使用,String getParameter(“paramName”); String getParameterValues(“paramName”);,处理汉字信息,request.getParameter得到Form中元素的时候,默认的字符编码为ISO-8859-1,这种编码不能正确的显示汉字。 解决方法有两种: 取数据前先设置request的编码格式 直接用request的方法“request.setCharacterEncoding(”GB2312“);”将字符编码设置为GB2312 先取数据,然后重新编码 eg.补充源码04 【例 3】汉字编码处理,3 request对象 在作用域中管理属性,request.setAttribute(“key“, Object);,request.getAttribute(String name);,【例4-2】 在作用域中管理属性示例,3 request对象 获取Cookie,Cookie cookie = request.getCookies(); Cookie cookie=new Cookie(String cookieName); cookie.setValue(String strValue); response.addCookie(cookie);,【例4-3】 获取Cookie示例,3 request对象 获取客户信息,【例4-4】 获取客户信息示例,eg.补充源码04 【例 4】常用方法,3 request对象 访问安全信息,例如,可以通过使用request对象来确定当前请求是否使用了一个类似HTTP的安全协议: 用户安全信息:,3 request对象 访问国际化信息,request对象中的getLocale()和getLocales()方法允许JSP开发人员获取java.util.Local类型的信息。 java.util.Local类型的对象封装了一个国家和一种国家所使用的语言。,4 response对象重定向网页,response.sendRedirect(“/login_ok.jsp“); 跳转路径中最开始的“/” 表示服务器地址,此行代码相当于: response.sendRedirect(“http:/localhost:8080/login_ok.jsp“); 正确用法是: response.sendRedirect(“/web应用名/login_ok.jsp“); 或者 response.sendRedirect(request.getContextPath()+“/login_ok.jsp“);, 跳转路径中最开始的“/” 表示web应用地址,此行代码相当于: response.sendRedirect (“/web应用名/login_ok.jsp“);,4 response对象重定向网页,response.sendRedirect(“login_ok.jsp“);,【例4-5】 重定向网页示例 eg.补充源码【例 5】重定向和转发的比较。,转发只能在当前应用跳转,重定向可以跳转到任何一个URL 转发地址栏不发生变化,重定向地址栏发生变化 转发会对request对象中的数据再次封装,重定向则是一个全新的请求,注意:跳转路径中最开始的“/” response.sendRedirect(“/myweb/login_ok.jsp“); ,4 response对象 设置HTTP响应报头,4 response对象 设置HTTP响应报头,技巧:通过设置HTTP头可实现禁用缓存功能,具体代码如下: 需要注意的是,上面的代码必须在没有任何输出发送到客户端之前使用。,eg.补充源码04【例 6】动态contentType响应 eg.补充源码04【例 7】自动刷新,4 response对象 缓冲区配置,缓冲可以更加有效地在服务器与客户之间传输内容。HttpServletResponse对象为支持jspWriter对象而启用了缓冲区配置。response对象提供了配置缓冲区的方法,如下表所示。,【例4-7】 缓冲区配置示例 输出缓冲区的大小并测试强制将缓冲区的内容发送给客户。,变量的4种生存周期,函数级变量:定义于函数内部 页面级变量:使用jsp声明 只作用于一个页面,关闭服务器释放 会话级变量:使用session对象创建,会话结束释放,记录的是不同用户的个别信息 应用程序级变量:使用application对象创建,关闭服务器释放,记录不同用户之间共用的数据,5 session对象自定义属性,public void setAttribute( String key, Object obj) public Object getAttibute( String key) public Enumeration getAttributeNames() public void removeAttribute( String name),【例4-8】,【例4-9】,5 session对象生存期限,用户关闭所有访问该应用的网页 调用invalidate()方法 会话闲置超时 Tomacat-conf-web.xml (默认30分钟) 30 Session.setMaxInactiveInterval(30*60),eg.补充源码04【例 8】session超时处理,eg.补充源码04【例 9】使用session变量实现购物程序,6 application对象访问应用程序初始化参数,访问应用程序初始化参数的方法如下表所示。,【例4-10】 访问应用程序初始化参数示例 通过application对象调用web.xml文件的初始化参数。,6 application对象 管理应用程序环境属性,【例4-11】 网站访问计数器。 eg.补充源码 【例 10】网页计数器 eg.补充源码 【例 11】application制作留言板,application对象管理应用程序环境属性的方法如下表所示。,回到课堂案例,在Myeclipse中创建web项目reader2 将“读者信息1-JSP页面构成”中的内容复制到web项目的WebRoot目录下 在index.jsp中创建测试数据并保存到application对象中 在showAllReader.jsp程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论