温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
第十
JSP
内置
对象
application
教学
课件
第十讲第十讲 JSP内置对象内置对象application 第第7章章 JSP内置对象内置对象application xxx知识回忆知识回忆xxx 知识回忆知识回忆 什么是什么是Cookie?如何创立如何创立Cookie对象?对象?如何获取如何获取Cookie对象中的信息?对象中的信息?作业中的问题作业中的问题%String style=request.getParameter(style);if(style=null)style=style0.css;Cookie cooks=request.getCookies();if(cooks!=null)for(int i=0;i link rel=stylesheet href=type=text/css xxx本讲要点本讲要点xxx application对象的根本特性对象的根本特性 application对象本质对象本质 application对象的应用举例对象的应用举例 网页计数器网页计数器 网站日志网站日志 网络聊天室网络聊天室 application 对象根本特性对象根本特性 表示表示 JSP 页面所属的应用程序页面所属的应用程序 application对象在整个效劳器生命期中都存在,它是对象在整个效劳器生命期中都存在,它是一个全局对象。一个全局对象。application对象可以设置多个对象可以设置多个key-value值对形式值对形式的属性,这些属性对整个的属性,这些属性对整个Web应用中的所有程序都能应用中的所有程序都能访问。访问。application对象的属性操作:对象的属性操作:void setAttribute(String name,Object value)以键以键/值的方式,将一个对象的值存放到值的方式,将一个对象的值存放到application中,它是一个全局属性中,它是一个全局属性 Object getAttribute(String name)根据名称去获取根据名称去获取application中存放对象的值中存放对象的值 返回值类型是返回值类型是Object,在实际应用时要视其真正类型,在实际应用时要视其真正类型进行转换。进行转换。例例1属性设置与获取属性设置与获取 index.jsp网页,提交并处理用户提交的表单网页,提交并处理用户提交的表单 如果用户提交数据不为空,那么将其写入如果用户提交数据不为空,那么将其写入application,并将网页定向到并将网页定向到showapp.jsp showapp.jsp网页,从网页,从application中获取信息,并中获取信息,并输出输出 例例1index.jsp 用户名:用户名:E-mail:处理表单数据处理表单数据 置于标记前 表单表单 置于标记内 获取表单数据获取表单数据 表单数据不为空时将数据表单数据不为空时将数据 写入写入application对象对象 最后,网页重定向最后,网页重定向 例例1showapp.jsp%String uname=(String)application.getAttribute(uname);String email=(String)application.getAttribute(email);if(uname!=null&email!=null)out.print(用户名:用户名:+uname+);out.print(E-mail:+email+);else out.println(application中尚无用户信息!中尚无用户信息!);%置于标记内 获取获取application数据数据 一个一个application对象对应一个对象对应一个Web应用程序,它提应用程序,它提供了一个供了一个Web应用内各程序之间的数据交流渠道应用内各程序之间的数据交流渠道 一个一个Web应用程序对应于一个应用程序对应于一个Web应用的文件夹结构应用的文件夹结构 Web应用文件夹结构应用文件夹结构 Web应用的压缩包文件应用的压缩包文件war文件文件,war文件是一文件是一种种Web应用的发布形式,可以方便地进行应用部署。应用的发布形式,可以方便地进行应用部署。application对象本质对象本质 Web应用application对象 JSP应用1 JSP应用2 Servlet应用1 Servlet应用2 Web应用文件夹结构应用文件夹结构 一个一个Web应用是由很多类型的文件按一定结构组成的一应用是由很多类型的文件按一定结构组成的一个应用实体个应用实体 Web应用文件夹对应于网站中的一个虚拟目录应用文件夹对应于网站中的一个虚拟目录 每个每个Web应用文件夹都具备两局部应用文件夹都具备两局部 私有局部:私有局部:WEB-INF文件夹,在文件夹,在Web应用根目录中应用根目录中 资源局部:资源局部:Web应用根目录中除了应用根目录中除了WEB-INF文件夹之文件夹之外的文件或文件夹外的文件或文件夹 :/localhost:8084/exam7/index.jsp Web应用文件夹应用文件夹 私有文件夹私有文件夹(WEB-INF),一般包含以下内容:,一般包含以下内容:classes文件夹用来存放应用中用到的类文件夹用来存放应用中用到的类 lib文件夹用来存放应用中用到的库文件夹用来存放应用中用到的库(.jar包包)tlb文件夹用来存放应用中用到的自定义标记库文件夹用来存放应用中用到的自定义标记库 web.xml文件网站初始化配置文件文件网站初始化配置文件 WEB-INF文件夹的特点文件夹的特点 私有的,不能被浏览器直接访问,只能通过私有的,不能被浏览器直接访问,只能通过Web应用程序引用。应用程序引用。资源文件及文件夹资源文件及文件夹(WEB-INF之外的文件夹之外的文件夹)可以存放网站中其它资源文件,如:可以存放网站中其它资源文件,如:JSP文件、文件、Html文件、文件、图片文件、图片文件、Css样式表文件等样式表文件等 这些文件通常以文件夹的形式来组织和管理,主页放在根目录这些文件通常以文件夹的形式来组织和管理,主页放在根目录下,其它文件分类放在不同文件夹中下,其它文件分类放在不同文件夹中 application的根本属性的根本属性 application对象作用范围是整个对象作用范围是整个Web应用,所以应用,所以application中所携带的数据是整个中所携带的数据是整个Web应用所共享应用所共享的。的。application是一个实现了是一个实现了ServletContext接口的接口的类的对象,提供了一些方法用来与类的对象,提供了一些方法用来与Web效劳器进行信效劳器进行信息传递。息传递。利用利用application对象的这些特性和它提供的这些方法对象的这些特性和它提供的这些方法可以实现一些特殊的功能,如可以实现一些特殊的功能,如 网页计数器网页计数器 网站日志网站日志 网络聊天室网络聊天室 application对象的常用方法对象的常用方法(P152表表7-1)String getRealPath(String path)获取虚拟路径对应的真实路径获取虚拟路径对应的真实路径 参数参数path:虚拟路径虚拟路径 用途:用途:JSP文件上传或操作文件文件上传或操作文件 例:例:%=application.getRealPath(/images/)%NetBeans中运行时:中运行时:E:JSPExample_06E10exam10buildwebimage 部署到部署到Tomcat6.0中运行时:中运行时:d:Tomcat 6.0webappsexam10image 网页计数器网页计数器 统计网页访问量统计网页访问量 void setAttribute(String name,Object value)Object getAttribute(String name)%=你是第+count+位到访者%网站日志网站日志 void log(String msg)以“域名以“域名 日期日期 log形式的文件名保存在形式的文件名保存在Tomcat效效劳器的劳器的logs文件夹下,例:文件夹下,例:NetBeans环境下,日志文件存于环境下,日志文件存于C盘盘 运行环境中,存于运行环境中,存于Tomcat的的logs文件夹文件夹 application.log(第+count+位访问者n);C:Documents and SettingsAbeans5.5.1apache-tomcat-5.5.17_baselogs 网络聊天室网络聊天室 需求说明需求说明 聊天室分上下两局部内容,上面显示最新聊天内容,下聊天室分上下两局部内容,上面显示最新聊天内容,下面是聊天室发言局部,允许用户将自己的言论发添加到面是聊天室发言局部,允许用户将自己的言论发添加到聊天室中。聊天室中。设计思路设计思路 使用窗口分割,将两个网页显示在同一个窗口中。使用窗口分割,将两个网页显示在同一个窗口中。chatframeset.html 上面的网页显示聊天信息,聊天信息从上面的网页显示聊天信息,聊天信息从application对对象中获取。象中获取。messgae.jsp 下面的网页提供表单,用于发送信息,当用户提交信息下面的网页提供表单,用于发送信息,当用户提交信息后,将对用户提交的信息进行验证,然后写到后,将对用户提交的信息进行验证,然后写到application对象中。对象中。talk.jsp 窗口分割窗口分割chatframeset.html 发送信息网页发送信息网页talk.jsp%request.setCharacterEncoding(utf-8);String words=request.getParameter(msg);int flag=1;if(words!=null)for(int i=0;iwords.length();i+)if(words.charAt(i)=+words+;else old=request.getRemoteAddr()+words+;application.setAttribute(chatwords,old);%验证发送信息中是否包含标记验证发送信息中是否包含标记 验证发送信息中是否包含验证发送信息中是否包含HTML标记标记 表单文本框的名字表单文本框的名字 接收信息的网页接收信息的网页message.jsp 刷新网页刷新网页 显示聊天信息显示聊天信息 application的局限性的局限性 application中设置的属性是全局的,破坏程序的结构中设置的属性是全局的,破坏程序的结构性性 常期驻留内存,占用系统资源,因此不能大量使用常期驻留内存,占用系统资源,因此不能大量使用 小结与作业小结与作业 小结小结 application对象的根本特性对象的根本特性 application对象本质对象本质 application对象的应用举例对象的应用举例 作业作业 1、调试网页计数器,并思考问题:如何使计数器清零?、调试网页计数器,并思考问题:如何使计数器清零?2、修改聊天室程序、修改聊天室程序 添加用户页面添加用户页面 当用户后才能发送信息,并且在接收信息的网页中显示当用户后才能发送信息,并且在接收信息的网页中显示用户名用户名 提示:提示:框架下面的网页设置为窗口框架下面的网页设置为窗口 窗口提交数据给窗口提交数据给talk.jsp talk.jsp中声明一个成员变量,在中声明一个成员变量,在talk.jsp用获取用户用获取用户名,如果获取的用户名不为空,那么给这个变量赋值,名,如果获取的用户名不为空,那么给这个变量赋值,否那么不赋值否那么不赋值 获取聊天发送信息后,将用户名连接到信息的前面获取聊天发送信息后,将用户名连接到信息的前面 实训十实训十 application对象应用对象应用 训练目的训练目的 通过本次技能训练,使学生理解通过本次技能训练,使学生理解application对象特性对象特性与本质,掌握与本质,掌握appli