第04章JSP内置对象详解课件

上传人:我*** 文档编号:141076778 上传时间:2020-08-04 格式:PPT 页数:70 大小:439KB
返回 下载 相关 举报
第04章JSP内置对象详解课件_第1页
第1页 / 共70页
第04章JSP内置对象详解课件_第2页
第2页 / 共70页
第04章JSP内置对象详解课件_第3页
第3页 / 共70页
第04章JSP内置对象详解课件_第4页
第4页 / 共70页
第04章JSP内置对象详解课件_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《第04章JSP内置对象详解课件》由会员分享,可在线阅读,更多相关《第04章JSP内置对象详解课件(70页珍藏版)》请在金锄头文库上搜索。

1、第4章 JSP内置对象详解,Jsp基础,熟练掌握,为什么叫JSP内置对象,不用声明就可以在jsp页面的脚本部分使用。,第4章 JSP内置对象详解,4.1 请求对象:request,4.2 响应对象:response,4.3 会话对象:session,4.4 多客户端共享对象:application,4.5 页面对象:page,第4章 JSP内置对象详解,4.6 页面上下文对象:pageContext,4.7 输出对象:out,4.8 配置对象:config,4.9 异常对象:exception,http协议的运行过程,WWW协议(World Wide Web) 使用浏览器从网站获取HTTP页面

2、时,使用HTTP(Hypertext Transfer Protocol)协议规定信息在Internet上的传输方法,特别规定了浏览器与服务器的交互方法。 从网站获取页面时,首先浏览器在网站上打开一个对网络服务器的连接,并发出请求,服务器收到请求后响应,返回结果。,HTTP请求的结构,包括请求行、头域和可能的信息体 例: GET/hello.htm HTTP/1.1 Host:,一个典型的请求包含许多HTTP请求头。头提供了关于信息体的附加信息及请求的来源,其中有些头是标准的,有些头和特定的浏览器有关。 请求还可能包含信息体。如表单内容。,Accept:浏览器可接受的MIME类型。 Accep

3、t-Charset:浏览器可接受的字符集。 Accept-Encoding:浏览器能够进行解码的数据编码方式,如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。 Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。 Content-Length:表示请求消息的正文长度。 Cookie:这是最重要的请求头信息之一。 From:请求发送者的email地址,有一些特殊的web客户程序使用,浏览器不会用到它。 Host:初始URL中的主机和端口。 Referer:包含一个URL

4、,用户从该URL代表的页面出发访问当前请求的页面。 User-Agent:浏览器类型,如servlet返回内容与浏览器类型有关则该值非常有用。 UA=Pixel,UA-Color,UA-OS,UA-CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。,HTTP响应的结构,每个响应都由状态行开始,可以包含几个头及可能的信息体,称作响应的HTTP头和响应信息体。 这些头和信息体由服务器发送给客户的浏览器,信息体就是客户请求的网页的运行结果,对于JSP页面,就是网页的静态信息。,4.1 请求对象:request,内置对象request封装了用户提交的信

5、息。该对象调用相应的方法可以获得封装的信息。 客户一般使用HTML表单向服务器的某个JSP页面提交信息。 例: 提交的手段 ,4.1 请求对象:request,4.1.1 获取请求参数,4.1.2 在作用域中管理属性,4.1.3 获取Cookie对象,4.1.4 获取客户端信息,参数“name”与form表单中的name属性对应,或者与提交链接的参数名对应,如果参数值不存在,则返回null值,该方法的返回值类型是String。,request对象通过getParameter()方法可以用来获取用户提交的数据。 获取请求参数的使用格式如下:,获取请求参数,String name=request.

6、getParameter(“name”),例:request.getParameter(“boy”),例: ,tree.jsp, 获取文本框提交的信息: 获取按钮的名字: ,例: ,try number=Double.parseDouble(textContent); if(number=0) r=Math.sqrt(number); out.print(“”+String.valueOf(number)+”的平方根:”); out.print(“”+String.valueOf(r); else out.print(“”+”请输入一个正数”); catch(NumberFormatExcep

7、tion e) out.print(“”+”请输入数字字符”); ,使用对象前确定客户是否已提交数据,如客户还没有提交表单数据,那调用该对象就会出现空对象错误。即NullPointException异常。为了避免使用空对象,可以添加如下代码:,String textContent=request.getParameter(“girl”); double number=0,r=0; if(textContent=null) textContent=“”; ,处理汉字对象,当用request对象获取客户提交的汉字字符时,会出现乱码问题,所以对含有汉字字符的信息必须进行特殊处理。 首先,将获取的字符

8、串用ISO-8859-1进行编码,并将编码存放到一个字节数组中,然后再将这个数组转化成字符串对象,例:,String textContent=request.getParameter(“boy”); Byte b=textContent.getBytes(“ISO-8859-1”); textContent=new String(b);,例: ,tree.jsp, 获取文本框提交的信息: 获取按钮的名字: ,在作用域中管理属性,在进行请求转发操作时,把一些数据带到转发后的页面处理。这时, 就可以使用request对象的setAttribute()方法将数据设置在request范围内 存取。在r

9、equest作用域中,设置转发数据的方法使用格式如下:,request.setAttribute(“key”,value);,参数key为String类型的键名。在转发后的页面取数据时,通过这个键名来获取数据;参数value为Object类型的键值,代表需要保存在request范围内的数据。在requet作用域中,获取转发数据的方法使用格式如下:,Object object=request.getAttribute(“name”);,在requet作用域中,获取所有属性的名称集的方法使用格式如下:,request.getAttributeNames();,该方法返回值是枚举类型(Enumera

10、tion)数据。,示例:详见教材及源代码,index.jsp, 用户注册信息 账号: 密码: 真实姓名: Email地址: 性别: 男 女 ,dealwith.jsp, ,showUser.jsp, Email地址: 性别: ,获取Cookie对象,Cookie是Web应用程序保存用户相关信息提供的一种有效的方法,它是一段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。在JSP页面中,可以通过requet对象中的getCookie()方法获取Cookie中的数据,格式如下:,Cookie cookie= requ

11、est.getCookie();,该方法返回值是Cookie数组。, . ); if (cookie_response != null) out.println(上一次访问的时间: + cookie_response.getValue(); cookie_response.setValue(new Date().toString(); if (cookies = null) cookie_response = new Cookie(AccessTime, ); cookie_response.setValue(new Date().toString(); response.addCookie(

12、cookie_response); % ,获取客户端信息,request对象的一些方法可以用于确定组成JSP页面的客户端的信息,request对象用于访问请求行元素的方法如表所示。,session和cookie,session是保存在服务端的内存里面,而cookie保存于浏览器或客户端文件里面; session是基于访问的进程,记录了一个访问的开始到结束,当浏览器或进程关闭之后,session也就“消失”了,而cookie更多地被用于标识用户,它可以是长久的,用于用户跟踪和识别唯一用户(Unique Visitor)。,其他常用方法,getRemoteAddr()获取客户端的IP地址。 get

13、RemoteHost()获取客户端的名字。 getServerName()获取服务器的名字 getServerPort()获取服务器的端口号。 getHeader()获取客户端的浏览器类型。,4.2 响应对象:response,Response的http文件头: http请求和http响应; 典型的http请求: post/tree.jsp/http/1.1 host:localhost:8080 accept_encoding:gzip,deflate,Response的状态行,当服务器对客户请求进行响应时,它发送的首行称作状态行。 状态行包括3位数字的状态行代码和对状态代码的描述。,5类状

14、态代码的简单描述,1yy: (1开头的3位数)主要是实验性质的。 2yy:用来表明请求成功。 3yy:用来表明在请求满足之前应采取进一步的行动。 4yy:当浏览器做出无法满足的请求时,返回该代码。 5yy:用来表示服务器出现问题。,4.2 响应对象:response,4.2.1 客户端与服务器端的交互,4.2.2 页面重定向,4.2.3 缓冲区的输出,4.2.4 response对象常用方法,客户端与服务器端的交互,request对象和response对象的结合可以使JSP更好地实现客户端与服务器的信息交互。用户在客户端浏览器中发出的请求信息被保存在request对象中并发送给Web服务器,J

15、SP引擎根据JSP文件的指示处理request对象,或者根据实际需要将request对象转发给由JSP文件所指定的其他服务器端组件,如Servlet组件、JavaBean组件或EJB组件等。处理结果则以response对象的方式返回给JSP引擎,JSP引擎和Web服务器根据response对象最终生成JSP页面,返回给客户端浏览器,这也是用户最终看到的内容。客户端与服务器端信息交互的流程如图所示。,页面重定向,JSP页面可以使用response对象中的setRedirect()方法将客户请求重定向到一个不同的页面资源。例如:,response.sendRedirect(“sanyang,jsp

16、”),JSP页面还可以使用response对象中的sendError()方法指明一个错误状态,该方法接受一个错误及一条可选的错误信息。该信息将在内容主体上返回给客户。例如:,response.sendError(500,”请求页面存在错误”);,上述两个方法都会中止当前的请求和响应。response对象中用于重定向的方法如下:,sendError(int number)方法:使用指定的状态码向客户发送错误响应。 sendError(int number,String msg)方法:使用指定的状态码和描述性消息向 客户发送错误响应。 sendRedirect(String location)方法:指定的重定向位置URL并向客户发送 重定向响应,可以使用相对URL。,缓冲区的输出,缓冲可以有效地在服务器与客户之间传输内容。 Http

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号