第6章JSP的内置对象.ppt
《第6章JSP的内置对象.ppt》由会员分享,可在线阅读,更多相关《第6章JSP的内置对象.ppt(130页珍藏版)》请在三一办公上搜索。
1、2023年8月5日,1,|海 有|壁 无|一切为了学生。|纳 容|立 欲|为了学生一切。|百 乃|千 则|岂能事事如意,但求无愧于心。|川 大|仞 刚|把微笑留给世界,让世界因你微笑!,2023年8月5日,2,温故而知新!,2023年8月5日,3,第5章 JSP基础知识,5.1 JSP的基本页面结构5.2 JSP中的基本元素5.3 JSP中的注释5.4 JSP的指令5.5 JSP中的常用动作,2023年8月5日,4,5.2 JSP中的脚本元素,5.2.1 变量、方法的声明5.2.2 表达式5.2.3 脚本,2023年8月5日,5,5.3 JSP中的注释,5.3.1 隐藏注释5.3.2 HTML
2、注释5.3.3 Java注释,2023年8月5日,6,5.4 JSP的指令,5.4.1 page指令5.4.2 include指令5.4.3 taglib指令,2023年8月5日,7,5.5 JSP中的常用动作,5.5.1 动作5.5.2 动作5.5.3 动作5.5.4 动作5.5.5 动作5.5.6 动作5.5.7 动作,2023年8月5日,8,第6章JSP的内置对象,6.1 out对象6.2page对象6.3 request对象6.4 response对象6.5 session对象6.6 PageContext对象6.7 config对象6.8 exception对象6.9 applica
3、tion对象,2023年8月5日,9,在JSP页面中不需要预先声明和创建这些对象就能直接使用。编写JSP的人员不需要对这些内部对象进行实例化,只要调用其中的方法就能实现特定的功能,这给Java Web编程带来很大的方便。,2023年8月5日,10,6.1 out对象,6.1.1 out对象的方法6.1.2 out对象实例,2023年8月5日,11,6.1.1 out对象的方法,out对象主要用来向客户输出各种数据类型的内容,并管理应用服务器上的输出缓冲区(buffer)。缓冲区默认值是8KB,可以通过page指令来改变缓冲区的大小。Out对象被封装成javax.servlet.jsp.JspW
4、riter 接口。它表示为客户打开的输出流(output stream),PrintWriter使用它向客户端发送输出流。,2023年8月5日,12,out对象能把结果输出到网页上,用来控制管理输出缓冲区和输出流。out对象的主要方法如下:,2023年8月5日,13,print()/println():用于输出数据。Out对象是JSP中使用最为频繁的对象,它的print()和println()方法最常用。print()方法把Java对象原始数据类型输入到客户端的缓冲区,而println()方法除了把内容输出到客户端,还在后面添加一个空行。newLine()方法:用于输出一个换行字符。,2023
5、年8月5日,14,flush():用于输出缓冲区里的数据。此方法会先将之前缓冲区中的数据输出至客户端,然后再清除缓冲区中的数据。clearBuffer():用于清除缓冲区里的数据,并把数据输出到客户端。clear():用于清除缓冲区里的数据,但不会把数据输出到客户端。getBufferSize():用于获得缓冲区的大小。getRemaining():用于获得缓冲区中没有被占用的空间的大小。isAutoFlush():返回布尔值,如果AutoFlush为真,则返回true,反之,返回false。close():关闭输出流.可以强制终止当前页面的剩余部分向浏览器输出。,2023年8月5日,15,6
6、.1 out对象,6.1.1 out对象的方法6.1.2 out对象实例,2023年8月5日,16,【例6-1】out对象实例1,out对象实例演示 中国欢迎你!);%,2023年8月5日,17,2023年8月5日,18,运行效果,2023年8月5日,19,【例6-2】out对象实例2,JSP Page 缓存大小:剩余缓存大小:自动刷新:,2023年8月5日,20,);out.print(当前可用缓冲区空间:+out.getRemaining()+);out.print(接着调用out.flush()方法);out.flush();/注释掉是另一个效果 out.print(当前可用缓冲区空间:
7、+out.getRemaining()+);out.clearBuffer();out.print(当前可用缓冲区空间:+out.getRemaining()+);out.flush();%,2023年8月5日,21,运行效果,2023年8月5日,22,第6章JSP的内置对象,6.1 out对象6.2page对象6.3 request对象6.4 response对象6.5 session对象6.6 PageContext对象6.7 config对象6.8 exception对象6.9 application对象,2023年8月5日,23,6.2 page对象,6.2.1 page对象的方法6.
8、2.2 page对象实例,2023年8月5日,24,6.2.1 page对象的方法,page对象代表JSP本身,更准确地说它代表JSP被转译后的Servlet,它可以调用Servlet类所定义的方法。page对象指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例。目前,page对象很少使用,它是为了指定其它的脚本语言而保留的,Java是唯一的JSP脚本语言。,2023年8月5日,25,page对象的主要方法如下:getClass():用于返回此Object的类。hashCode():用于返回此Object的hash码。equals(Object ob
9、j):用于判断此Object是否与指定的Object对象相等。copy(Object obj):用于把此Object拷贝到指定的Object对象中。clone():用于克隆此Object对象。,2023年8月5日,26,toString():用于把此Object对象转换成String类的对象。notify():用于唤醒一个等待的线程。notifyAll():用于唤醒所有等待的线程。wait(int timeout):用于使一个线程处于等待直到timeout结束或被唤醒。wait():用于使一个线程处于等待直到被唤醒。enterMonitor():用于对Object加锁。exitMonitor(
10、):用于对Object开锁。,2023年8月5日,27,6.2 page对象,6.2.1 page对象的方法6.2.2 page对象实例,2023年8月5日,28,【例6-3】page对象实例,page对象实例演示 的哈希码:,2023年8月5日,29,运行效果,2023年8月5日,30,第6章JSP的内置对象,6.1 out对象6.2page对象6.3 request对象6.4 response对象6.5 session对象6.6 PageContext对象6.7 config对象6.8 exception对象6.9 application对象,2023年8月5日,31,6.3 reques
11、t对象,6.3.1 request对象的方法6.3.2 request对象实例,2023年8月5日,32,6.3.1 request对象的方法,当用户请求一个JSP页面时,JSP页面所在的Tomcat服务器将用户的请求封装在内置对象request中。request内置对象代表了客户端的请求信息,主要用于接收客户端通过HTTP协议传送给服务器端的数据。在客户端的请求中如果有参数,则该对象就有一个参数列表。它通常是HttpServletRequest的子类,其作用域就是一次request请求。Servlet容器将客户端信息封装在一个代表客户端的request对象中,该对象是 javax.servl
12、et.ServletRequest的子类型。封装了HttpServletRequest对象中的客户端信息包括请求头(Header)、系统信息(比如编码方式、请求方式(比如get或post)、请求参数信息、Cookie和其它信息。该对象调用相应的方法可以获取封装的信息,也就是说,使用该对象可以获取用户浏览器提交的请求信息,以便做出相应的响应。,2023年8月5日,33,request对象的主要方法如下:getAttribute(String name):用于返回name指定的属性值,若不存在指定的属性,就返回null。getAttributes():用于返回request对象的所有属性的名字集合
13、,结果集是一个Enumeration(枚举)类的实例。getCookies():用于返回客户端的所有Cookie对象,结果是一个Cookie数组。getCharacterEncoding():返回请求中的字符编码方式。getContentLength():以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回-1。getHeader(String name):用于获得HTTP协议定义的文件头信息。getHeaders(String name):用于返回指定名字的request Header的所有值,其结果是一个Enumeration类的实例。getHeaderNames():用于返
14、回所有request Header的名字,其结果是一个Enumeration类的实例。,2023年8月5日,34,getInputStream():用于返回请求的输入流,获得请求中的数据。getMethod():用于获得客户端向服务器端传送数据的方法,如GET,POST,HEADER,TRACE等。getParameter(String name):用于获得客户端传送给服务器端的参数值。获取表单提交的信息,以字符串形式返回客户端传来的某一个请求参数的值,该参数名由name指定。当传递给此方法的参数名没有实际参数与之对应时,返回null。getParameterNames():用于获得客户端传送
15、给服务器端的所有参数名字,其结果是一个Enumeration类的实例。getParameterValues(String name):用于获得指定参数的所有值。返回客户端传送给服务器端的所有参数名,结果集是一个Enumeration类的实例。当传递给此方法的参数名没有实际参数与之对应时,返回null。getProtocol():用于获取客户端向服务器端传送数据所依据的协议名称。getQueryString():用于获得查询字符串,该字符串是由客户端以GET方式向服务器端传送的。getRequestURI():用于获取发出请求字符串的客户端地址。,2023年8月5日,35,getRemoteAd
16、dr():用于获取客户端IP地址。getRemoteHost():用于获取客户端名字。getSession(Boolean create):用于返回和请求相关的session。create参数是可选的。当有参数create且这个参数值为true时,如果客户端还没有创建session,那么将创建一个新的session。getServerName():用于获取服务器的名字。getServletPath():用于获取客户端所请求的脚本文件的文件路径。getServerPort():用于获取服务器的端口号。removeAttribute(String name):用于删除请求中的一个属性。setAtt
17、ribute(String name,java.lang.Object obj):用于设置request的参数值。,2023年8月5日,36,6.3 request对象,6.3.1 request对象的方法6.3.2 request对象实例,2023年8月5日,37,【例6-4】request对象实例1,request对象实例演示,2023年8月5日,38,);%,2023年8月5日,39,运行效果,2023年8月5日,40,【例6-5】request对象实例2,本例包括两个文件:requestExamples2.jsp(主界面)和requestExamples.jsp(处理页面)。在requ
18、estExamples2.jsp页面中输入数据并单击“提交”按钮后,requestExamples.jsp页面将进行数据处理,并将数据输出到浏览器中。,2023年8月5日,41,requestExamples2.jsp,request对象实例演示 数据1 数据2 数据3,2023年8月5日,42,数据4 数据5 数据6,2023年8月5日,43,requestExamples.jsp,request对象实例演示 刚才输入的6个数据是:,2023年8月5日,44,);out.print(参数内容:+parameterValue+);%,2023年8月5日,45,运行效果,2023年8月5日,46
19、,【例6-6】request对象实例3,本例包括两个文件:requestExamples3.jsp(主界面)和requestExamples31.jsp(处理页面)。在requestExamples3.jsp页面中输入数据后单击“提交”按钮,requestExamples31.jsp页面将进行数据处理,并将数据输出到浏览器中。,2023年8月5日,47,requestExamples3.jsp,request对象实例演示 文本内容 整数类型 复选框:1.2.,2023年8月5日,48,单选按钮:,2023年8月5日,49,下拉列表:1 2 3 4 5 6,2023年8月5日,50,reques
20、tExamples3.jsp效果,2023年8月5日,51,requestExamples31.jsp,request对象实例演示%String strText,strInteger,strCheckbox1,strCheckbox2;String strRadiobutton,strSelect,strOut,errOut;Integer intInteger;int errsCount;Vector errs=new Vector();strText=request.getParameter(text);,2023年8月5日,52,/得到并处理名为text的文本输入 if(strText.
21、length()=0)/向错误信息库中添加信息 errs.addElement(new String(文本内容域没有值输入);strInteger=request.getParameter(integer);/得到名为Integer的输入并转化为Integer,同时检查是否为数值 try intInteger=Integer.valueOf(strInteger);catch(NumberFormatException e)errs.addElement(new String(整数类型需要输入数字!);/向错误信息库中添加信息 intInteger=new Integer(0);/设为缺省值,
22、2023年8月5日,53,strCheckbox1=request.getParameter(checkbox1);strCheckbox2=request.getParameter(checkbox2);/得到CheckBox的输入 if(strCheckbox1=null)strCheckbox1=没有被选中;else strCheckbox1=被选中;if(strCheckbox2=null)strCheckbox2=没有被选中;else strCheckbox2=被选中;,2023年8月5日,54,strRadiobutton=request.getParameter(radionbu
23、tton);/得到radiobutton的输入 if(strRadiobutton=null)errs.addElement(new String(单选按钮没有输入!);strRadiobutton=没有输入;/得到select的输入:strSelect=request.getParameter(select);strOut=文本内容的值是:+strText;strOut+=整数类型的值是:+intInteger;strOut+=复选框1+strCheckbox1;strOut+=复选框2+strCheckbox2;strOut+=单选按钮的值是:+strRadiobutton;strOut+
24、=下拉列表的值是:+strSelect+;,2023年8月5日,55,/输出结果 errsCount=errs.size();errOut=new String();/输出错误 for(int i=0;i;out.println(结果);out.println(strOut);/输出结果 if(errsCount!=0)out.println(错误);out.println(errOut);%,2023年8月5日,56,运行效果,2023年8月5日,57,【例6-7】request对象实例4,request对象实例演示,2023年8月5日,58,);request.setCharacterEn
25、coding(ISO-8859-1);%,2023年8月5日,59,Content Length:Content Type:服务器地址:服务器名称:客户端地址:客户端名称:客户端端口:验证用户名:,2023年8月5日,60,获取SessionId 请求URI:请求URL:服务器名字:服务器端口:,2023年8月5日,61,请求的会话ID是否通过Cookie传入:请求的会话ID是否通过URL传入:请求的会话ID是否仍然有效:,2023年8月5日,62,运行效果,2023年8月5日,63,第6章JSP的内置对象,6.1 out对象6.2page对象6.3 request对象6.4 response
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 内置 对象
链接地址:https://www.31ppt.com/p-5644140.html