JSP内置对象详解.ppt
《JSP内置对象详解.ppt》由会员分享,可在线阅读,更多相关《JSP内置对象详解.ppt(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,一个典型的请求包含许多HTTP请求头。头提供了关于信息体的附加信息及请求的来源,其中有些头是标准的,有些头和特定的浏览器有关。请求还可能包含信息体。如表单内容。,Accept:浏览器可接受的MIME类型。Accept-Charset:浏览
3、器可接受的字符集。Accept-Encoding:浏览器能够进行解码的数据编码方式,如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。Content-Length:表示请求消息的正文长度。Cookie:这是最重要的请求头信息之一。From:请求发送者的email地址,有一些特殊的web客户程序使用,浏览器不会用到它。Host:初始URL中的主机和端口。Referer:包含一个URL,用户从该URL代表的页面出发访问当前
4、请求的页面。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.getParameter(“name”),例:requ
6、est.getParameter(“boy”),例:,tree.jsp,获取文本框提交的信息:获取按钮的名字:,例:,trynumber=Double.parseDouble(textContent);if(number=0)r=Math.sqrt(number);out.print(“”+String.valueOf(number)+”的平方根:”);out.print(“”+String.valueOf(r);elseout.print(“”+”请输入一个正数”);catch(NumberFormatException e)out.print(“”+”请输入数字字符”);,使用对象前确定客
7、户是否已提交数据,如客户还没有提交表单数据,那调用该对象就会出现空对象错误。即NullPointException异常。为了避免使用空对象,可以添加如下代码:,String textContent=request.getParameter(“girl”);double number=0,r=0;if(textContent=null)textContent=“”;,处理汉字对象,当用request对象获取客户提交的汉字字符时,会出现乱码问题,所以对含有汉字字符的信息必须进行特殊处理。首先,将获取的字符串用ISO-8859-1进行编码,并将编码存放到一个字节数组中,然后再将这个数组转化成字符串对
8、象,例:,String textContent=request.getParameter(“boy”);Byte b=textContent.getBytes(“ISO-8859-1”);textContent=new String(b);,例:,tree.jsp,获取文本框提交的信息:获取按钮的名字:,在作用域中管理属性,在进行请求转发操作时,把一些数据带到转发后的页面处理。这时,就可以使用request对象的setAttribute()方法将数据设置在request范围内存取。在request作用域中,设置转发数据的方法使用格式如下:,request.setAttribute(“key”,
9、value);,参数key为String类型的键名。在转发后的页面取数据时,通过这个键名来获取数据;参数value为Object类型的键值,代表需要保存在request范围内的数据。在requet作用域中,获取转发数据的方法使用格式如下:,Object object=request.getAttribute(“name”);,在requet作用域中,获取所有属性的名称集的方法使用格式如下:,request.getAttributeNames();,该方法返回值是枚举类型(Enumeration)数据。,示例:详见教材及源代码,index.jsp,用户注册信息 账号:密码:真实姓名:Email地
10、址:性别:男 女,dealwith.jsp,showUser.jsp,Email地址:性别:,获取Cookie对象,Cookie是Web应用程序保存用户相关信息提供的一种有效的方法,它是一段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。在JSP页面中,可以通过requet对象中的getCookie()方法获取Cookie中的数据,格式如下:,Cookie cookie=request.getCookie();,该方法返回值是Cookie数组。,.);if(cookie_response!=null)out.pr
11、intln(上一次访问的时间:+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(cookie_response);%,获取客户端信息,request对象的一些方法可以用于确定组成JSP页面的客户端的信息,request对象用于访问请求行元素的方法如表所示。
12、,session和cookie,session是保存在服务端的内存里面,而cookie保存于浏览器或客户端文件里面;session是基于访问的进程,记录了一个访问的开始到结束,当浏览器或进程关闭之后,session也就“消失”了,而cookie更多地被用于标识用户,它可以是长久的,用于用户跟踪和识别唯一用户(Unique Visitor)。,其他常用方法,getRemoteAddr()获取客户端的IP地址。getRemoteHost()获取客户端的名字。getServerName()获取服务器的名字getServerPort()获取服务器的端口号。getHeader()获取客户端的浏览器类型。
13、,4.2 响应对象:response,Response的http文件头:http请求和http响应;典型的http请求:post/tree.jsp/http/1.1host:localhost:8080accept_encoding:gzip,deflate,Response的状态行,当服务器对客户请求进行响应时,它发送的首行称作状态行。状态行包括3位数字的状态行代码和对状态代码的描述。,5类状态代码的简单描述,1yy:(1开头的3位数)主要是实验性质的。2yy:用来表明请求成功。3yy:用来表明在请求满足之前应采取进一步的行动。4yy:当浏览器做出无法满足的请求时,返回该代码。5yy:用来表
14、示服务器出现问题。,4.2 响应对象:response,4.2.1 客户端与服务器端的交互,4.2.2 页面重定向,4.2.3 缓冲区的输出,4.2.4 response对象常用方法,客户端与服务器端的交互,request对象和response对象的结合可以使JSP更好地实现客户端与服务器的信息交互。用户在客户端浏览器中发出的请求信息被保存在request对象中并发送给Web服务器,JSP引擎根据JSP文件的指示处理request对象,或者根据实际需要将request对象转发给由JSP文件所指定的其他服务器端组件,如Servlet组件、JavaBean组件或EJB组件等。处理结果则以respo
15、nse对象的方式返回给JSP引擎,JSP引擎和Web服务器根据response对象最终生成JSP页面,返回给客户端浏览器,这也是用户最终看到的内容。客户端与服务器端信息交互的流程如图所示。,页面重定向,JSP页面可以使用response对象中的setRedirect()方法将客户请求重定向到一个不同的页面资源。例如:,response.sendRedirect(“sanyang,jsp”),JSP页面还可以使用response对象中的sendError()方法指明一个错误状态,该方法接受一个错误及一条可选的错误信息。该信息将在内容主体上返回给客户。例如:,response.sendError(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 内置 对象 详解
链接地址:https://www.31ppt.com/p-6510419.html