首页 jsp 教学课件 jsp_ljq_03

jsp 教学课件 jsp_ljq_03

举报
开通vip

jsp 教学课件 jsp_ljq_03nullnull主讲:李俊青第3章 JSP内置对象详解 第3章 JSP内置对象详解 理论 介绍JSP的内置对象 技能 能灵活应用JSP的内置对象来开发程序 要求 掌握JSP的内置对象的用法,基本掌握JSP的开发技巧 3.1 对象与内置对象3.1 对象与内置对象对象是典型的具有方法、属性和集合的事物 对象的属性反映了对象的状态,可以读取或设置。对象的集合是由很多不同的与对象有关系的属性和值的配对组成的。 对于一般的对象,要想使用它,必须先声明一个类,再将它实例化,就会得到一个可以使用的对象。 例子:useobje...

jsp 教学课件 jsp_ljq_03
nullnull主讲:李俊青第3章 JSP内置对象详解 第3章 JSP内置对象详解 理论 介绍JSP的内置对象 技能 能灵活应用JSP的内置对象来开发程序 要求 掌握JSP的内置对象的用法,基本掌握JSP的开发技巧 3.1 对象与内置对象3.1 对象与内置对象对象是典型的具有方法、属性和集合的事物 对象的属性反映了对象的状态,可以读取或设置。对象的集合是由很多不同的与对象有关系的属性和值的配对组成的。 对于一般的对象,要想使用它,必须先声明一个类,再将它实例化,就会得到一个可以使用的对象。 例子:useobject.jsp  3.1 对象与内置对象3.1 对象与内置对象JSP程序中8个默认的内置对象 request、response、pageContext、session、application、out、config 、page。 3.1 对象与内置对象3.1 对象与内置对象JSP程序中8个默认的内置对象 3.2 request对象 3.2 request对象  request对象是ServletRequest的一个实例。当客户端请求一个JSP网页时,JSP引擎会将客户端的请求信息包装在这个request对象中,请求信息的内容包括请求的标 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 头(Header)、信息(如浏览器的版本信息、语言和编码方式等),请求的方式(如HTTP方法:GET、POST、PUT等),请求的参数名称、参数值和客户端的主机名称等,然后将request对象当作jspService方法的HttpServletRequest参数值,所以我们可以通过这个对象来取得有关客户端的请求信息。 3.2.1 request对象的方法3.2.1 request对象的方法getAttribute 返回请求的给出名字的属性的值 getCharacterEncoding 返回为请求的输入进行编码的字符集合 getContentLength 返回请求实体数据的大小 getContenType 返回请求实体数据的InternetMedia 类型 getlnputStream 返回在请求体中读取二进制数据的输入流 getParameter 返回包含指定参数的单独值的字符串 getParameterName 返回本次请求的参数名字 getParameterValues 返回作为字符串列举的指定参数的值 getProtocol 返回请求的 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 和版本号 getReader 返回从请求体中读取的文本的缓存数据 getRealPath 返回运用替换规则从虚拟地址中获得的实际地址 getRemoteAddr 返回发送请求的接口程序的 IP 地址 getRemoteHost 返回发送请求的接口程序的完全限定的主机名 getScheme 返回发出请求的 URL 的机制 getServerName 返回接收请求的服务器的主机名 getServerPort 返回接收请求的端口 3.2.2 request对象使用示例 3.2.2 request对象使用示例 request对象获取服务器及客户端的信息     例子: request1.jsp 解决获取表单中文问题:request.setCharacterEncoding("gb2312");3.3 response对象 3.3 response对象 response对象的类型是javax.servlet.ServletResponse类的实例,JSP引擎会根据客户端的请求信息建立一个默认的response对象。它用于将浏览器参考信息,如回应的Header、回应本体(HTML的内容)以及服务器端的状态码等信息提供给客户端。 3.3.1 response对象的方法 3.3.1 response对象的方法 getCharacterEncoding返回用于MIME编码的字符集合 getOutputStream 返回用于书写二进制应答数据的输出流 getWriter返回用于格式化文本应答的打印程序 setContentLength为应答设置内容长度 setContentType为应答设置内容类型 addCookie添加一个Cookie对象,用来保存客户端的用户信息 addHeader添加HTTP文件头(Header),将会传送到客户端 containsHeader判断指定的HTTP文件头是否存在 sendError向客户端发送错误信息 setHeader设定指定名字的HTTP文件头的值 sendRedirect重定向客户端的地址3.3.2 response对象使用示例 3.3.2 response对象使用示例 示例程序实现了定时刷新页面的功能   文件refresh.jsp   这个程序指定页面每隔5秒钟自动刷新一遍,服务器重新执行这个程序,产生新的当前时间,然后输出到客户端。所以,页面上显示的时间每隔5秒钟就增加5秒钟,实现了类似时钟的功能。3.4 session对象 3.4 session对象  session对象是JSP中一个很重要的内部对象,我们使用它来保存某个特定客户端(访问者)一次访问的一些特定信息。   在JSP网络编程中,有多种方法可以保存客户信息,但是最常用、最实用的还是session对象。 3.4.1 session对象介绍 3.4.1 session对象介绍 session对象,实际上就是服务器与客户端之间的“会话”  (1) session可以用来储存访问者的一些特定信息。主机服务器就是根据session来跟踪这些信息的。  (2) session可以创建访问者信息容器。  (3) session可以用来跟踪访问者的访问路径,从中挖掘有用的信息,如访问者的兴趣爱好、访问目的。   用户在Web应用程序中访问同一页面时,session变量始终存在,当用户在应用程序的页之间跳转时,存储在session对象中的变量也不会清除,当然也可以使用session方法显式地结束一个会话和设置空闲会话的超时期限。 session在JSP程序中是一个内置的对象   每一个客户端都有一个session对象用来存放于这个客户端相关的数据。   在JSP的程序中,通常不用任何代码,就可以直接使用session对象。不过为了确认,可以加入以下代码,以表示需要启动session功能。   <%@page session="true"%>   如果设置上述的session值为false,则说明禁用session功能。   session对象的类为HttpSession,它提供了很多使用的方法。 3.4.2 session对象的方法 3.4.2 session对象的方法 session对象的类是HttpSession。HttpSession由服务器的程序实现,提供HTTP服务器和HTTP客户端之间的会话。会话,就是在给定时间段内持续进行多路连接和请求。会话被用来在多页面请求中保持状态和用户认证。 3.4.2 session对象的方法 3.4.2 session对象的方法 getCreationTime返回会话创建的时间 getId返回会话标识符 getLastAccessTime返回客户端上一次发送携带会话账号的时间 getSessionContext返回会话相连的上下文 getValue返回和应用层数据中指定名字相联系的对象 getValueNames返回和会话相连的应用层数据对象的名字 invalidate使会话无效,并将其从上下文中移出 isNew检查是否客户端参加了会话 putValue将指定的对象和使用指定名字的会话应用层数据相连 removeValue移去和会话应用层数据中指定名字相连的对象3.4.3 session对象使用示例 3.4.3 session对象使用示例 为说明session对象的具体应用,以用三个页面模拟一个多页面的Web应用为例   (1) 第一个页面(q1.html)仅包含一个要求输入用户名字的HTML表单 。     文件q1.htm   (2)第二个页面是一个JSP页面(q2.jsp),它通过request对象提取q1.html表单中的thename值,将它存储为name变量,然后将这个name值保存到session对象中。q2.jsp的另外一个任务是询问第二个问题。   (3) 第三个页面也是一个JSP页面(q3.jsp),主要任务是显示问答结果,另外一个任务是提取在第二个页面中的用户输入并显示它。 通常会话管理是通过服务器将SessionID作为一个cookie存储在用户的Web浏览器中来唯一标识每个用户会话  如果浏览器不支持cookie,或者将浏览器设置为不接受cookie,我们可通过URL重写来实现会话管理。     文件hello1.jsp 使用session对象在3个不同的JSP文件中保存信息     文件example0.htm(在accountBalance中必须输入数字) 3.5 application对象 3.5 application对象 application对象保存了一个应用系统中一些公用的数据。与session对象相比,application对象是所有客户共享的,而session对象则是每个客户专用的。application对象可以是javax.servlet.ServletContext类型的。ServletContext接口让servlet访问关于其环境的信息。application对象的范围是application。 3.5.1 application对象的方法 3.5.1 application对象的方法 getAttribute以Object对象的形式返回对应名称的application对象的属性值 getAttributeNames以Enumeration数据形式返回所有application对象的属性名称 getInitParameter返回application某个属性的值 getServerInfo获得当前版本的Servlet编译器的信息 setAttribute设置某个application对象的某个属性值3.5.2 application对象的使用示例3.5.2 application对象的使用示例一个使用了application对象的计数器     文件 appcount.jsp 应用application内建对象,将上面的session例子改为application的例子。     文件 application1.htm 3.6 out对象 3.6 out对象 out对象用于输出数据,它可以是javax.servlet.jsp.JspWriter的一个实例。out对象的范围是page。   从java.io.Writer拓展而来的公共抽象类JspWriter效仿了java.io.BufferedWriter和java.Io.PrintWriter中的某些功能。但是,不同之处在于它会在打印方法中抛出(throw) java.Io.IOException异常,而PrintWriter不这样做。   JSP中的out对象就是这种类型的。如果page指令选择了autoflush="true",那么当出现由于当前的操作不清空缓存而造成缓冲区溢出的情况时,这个类的所有I/O操作会自动清空缓冲区的内容。如果autoflush="false",那么当操作造成了缓冲区溢出时,这个类的所有的I/O操作将抛出一个IOException。 3.6.1 out对象的变量 3.6.1 out对象的变量 autoFlush   类型为protected boolean autoflush   如果变量值为真,则当当前的操作造成缓冲区溢出时,缓冲区会被清空。   如果变量值为假,则如果当前操作造成缓冲区溢出就会抛出一个IOException。 bufferSize   类型为protectedintbufferSize   表示缓冲区目前的大小。初始值根据不同的设备而不同,但是不少于8KB。 DEFAULT_BUFFER   类型为publicstaticfinalintDEFAULT_BUFFER   表示Writer正使用的缺省的缓冲区大小设置。 No_BUFFER   类型为Public static final int NO_BUFFER   表示Writer是否处于缓存输出状态。3.6.2 Out对象的方法 3.6.2 Out对象的方法 Close 关闭流,并输出 flush 输出流 Clear Clear 清除缓冲区内容 clearBuffer 清除缓冲区的流 getBufferSize 获得缓冲区的大小 getRemaining 获得缓冲区中未使用的字节数 isAutoFlush 获得autoFlush的当前值 newLine 写一行分隔符3.6.2 Out对象的方法 3.6.2 Out对象的方法 Print boolean 打印一个布尔值 Print char 打印一个字符 Print char[] 打印一个字符数组 Print double 打印一个双精度浮点数 Print float 打印一个浮点数 Print int 打印一个整数 Print long 打印一个长整数 Print Object 打印一个对象 Print String 打印一个字符串3.6.2 Out对象的方法 3.6.2 Out对象的方法 println 通过写一个行分隔符来结束当前行 Println boolean 打印一个布尔值,然后结束行 Prinfln char 打印一个字符,然后结束行 Println char[] 打印一个字符数组,然后结束行 Println double 打印一个双精度浮点数,然后结束行 Println float 打印一个浮点数,然后结束行 println int 打印一个整数,然后结束行 Println long 打印一个长整数,然后结束行 Println Object 打印一个对象,然后结束行 Println String 打印一个字符串,然后结束行3.6.3 Out对象的使用示例 3.6.3 Out对象的使用示例 用out对象输出多种不同类型的数据,包括输出中文 例子文件out.jsp 3.7 其他对象 3.7 其他对象 pageContext对象 pageContext对象是javax.servlet.jsp.PageContext类的一个实例。pageContext对象提供了存取所有关于JSP程序执行时所需要用到的属性和方法,如session、application、config、out等对象属性。对于pageContext对象,它的范围是page。    page对象 page对象是java.lang.Object类型的,它是处理当前请求的JSP页的实现类的实例。page对象在页的正文中可以被看作“this”的同义词。page对象的范围是page。 config对象 config对象是javax.servlet.ServletConfig类型的。它提供存取servlet class初始参数及有关Server环境信息的ServletContext对象。config对象的范围是page。
本文档为【jsp 教学课件 jsp_ljq_03】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_365624
暂无简介~
格式:ppt
大小:587KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2012-08-24
浏览量:11