Java web 第4章JSP内置对象.ppt
《Java web 第4章JSP内置对象.ppt》由会员分享,可在线阅读,更多相关《Java web 第4章JSP内置对象.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 JSP 内置对象内置对象1/28/20231教学内容:教学内容:request对象对象 response对象对象 out对象对象 session对象对象 application对象对象 exception对象对象 pageContext对象对象 config对象对象 page对象对象 1/28/20232一、request 对象 HTTP通信协议是客户与服务器之间一种提交通信协议是客户与服务器之间一种提交(请求)信息与响应信息(请求)信息与响应信息(request/respone)的通信协议。在)的通信协议。在JSP中,内置对象中,内置对象request封装了用户提交的信息,封装了用户提交的
2、信息,那么该对象调用相应的方法可以获取封装的信那么该对象调用相应的方法可以获取封装的信息。息。示例:示例:Example3_1.jsp tree.jsp1/28/20233HTTP请求中包括一个请求行、头域和可能的信息体,如:GET/hello.html HTTP/1.1 HOST:accept-encoding:gzip,deflate一个典型的请求通常包含许多请求头,有些头是标准的,有些和特定的浏览器有关。包含的信息提可能是表单的内容。1/28/20234Request对象包括很多方法,主要有:ngetCookies():返回客户端的cookie对象,结果是一个cookie数组。ngetS
3、ession(boolean create):返回和当前客户端请求相关联的HttpSession对象,如果当前客户端请求没有和任何HttpSession对象关联,那么当create变量为true,则创建一个HttpSession对象并返回;反之,返回null。ngetHeader(String name):获得http协议定义的传送文件头信息。1/28/20235ngetAttribute(String name):返回name指定的属性值,若不存在指定的属性,就返回null。ngetattributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚
4、举)类的实例。ngetHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例。getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例。ngetMethod():返回客户端向服务器端传送数据的方法,一般方法有GET、POST、PUT等类型。ngetParameter(String name):以字符串的形式返回客户端传来的某一个请求参数的值,该参数名由name指定。当传递给此方法的参数名没有实际参数与之对应时,返回null。1/28/
5、20236ngetparameterNames():返回客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例。当传递给此方法的参数名没有实际参数与之对应时,返回null。ngetParameterValues(String name):以字符串数组的形式返回指定参数所有值。ngetQueryString():返回查询字符串,该字符串由客户端以GET方法向服务器端传送。ngetRequestURI():获得发出请求字符串的客户端地址。ngetServletPath():获得客户端所请求的脚本文件的文件路径。nsetAttribute(String o):设定名字
6、为name的request参数值,该值由Object类型的o指定。ngetServerName():获得服务器的名字,如果没有设定服务器名,则返回服务器IP地址。1/28/20237ngetServerPort():获得服务器的端口号。ngetRemoteAddr():获得客户端的IP地址。ngetRemoteHost():获得客户端主机的名字,若失败,则返回客户端电脑的IP地址。ngetProtocol():获取客户端向服务器端传送数据所依据的协议名称,如http/1.1。ngetContentLength():以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回-1。nget
7、ContentType():获取客户端请求的MIME类型。如果无法得到该请求的MIME类型,那么返回-1。ngetInputStream():以二进制的形式将客户端的请求以一个ServletInputStream的形式返回。使用此方法可以获得客户端的multipart/form-data数据,可以实现文件上传。1/28/20238nisSecure():如果客户机是通过一个安全的访问方式访问的,就返回true;反之,返回false.ngetDateHeader():返回一个long类型的数据,表示客户端发送到服务器的头信息中的时间信息。ngetInitHeader():获取客户端发送到服务器端
8、的头信息中的某一个特定的信息,并转换为int类型。ngetContextPath():返回环境路径。对于JSP来说,一般是当前Web应用程序的根目录。nisRequestedSessionIdValid():返回一个指示客户端请求发送Session ID是否仍然有效的布尔值。nisRequestedSessionIdFromCookie():返回一个指示客户端请求发送Session ID是否存在于Cookie中的布尔值。nisRequestedSessionIdFromURL():返回一个指示客户端请求发送Session ID是否存在于URL中的布尔值。1/28/20239客户通常使用HTML
9、表单向服务器的某个JSP页面提交信息,表单的一般格式:提交手段提交手段请求的方法有get、post、head、delete、trace、put 等.例:request.jsp 1/28/202310 当用request对象获取客户提交的汉字字符时,会出现乱码问题,所以对含有汉字字符的信息必须进行特殊的处理方式。首先,将获取的字符串用ISO-8859-1进行编码,并将编码存放到一个字节数组中,然后再将这个数组转化为字符串对象即可。例:Example3_3.jsp tree1.jspu处理汉字信息处理汉字信息1/28/202311二、二、response response 对象对象u 用respo
10、nse对象对客户的请求作出动态响应,将JSP 处理数据后的结果传回到客户端。u比如,当一个客户请求访问一个JSP页面时,该页面用page指令设置页面的contentType属性的值是text/html,那么JSP引擎将按着这种属性值响应客户对页面的请求,将页面的静态部分返回给客户。u如果想动态地改变contentType的属性值就需要用response对象改变页面的这个属性的值,作出动态的响应。1/28/202312Response对象的常用方法为:naddCookie(Cookie cookie):添加一个Cookie对象,用来保存客户端的用户信息,用request的getCookies()
11、方法可以获得这个Cookie。naddHeader(String name,String value):添加HTTP文件头,该header将会传到客户端去,如果有同名的header存在,那么原来的header将会被覆盖掉。ncontainsHeader(String name):判断指定名字的HTTP文件头是否存在,并返回布尔值。1/28/202313nsendError(int sc):向客户端发送错误信息,例如,505指示服务器内部错误;404指示网页找不到的错误。nsetHeader(String name,String value):设定指定名字的HTTP文件头的值,如果该值存在,那么
12、它会被新的值覆盖。nsetContenType(String type):响应设置内容类型头。nsendRedirect(URL):可以将用户重定向到一个不同的页面(URL)。1/28/202314 response内置对象内置对象使用使用response内置对象刷新页面内置对象刷新页面 显示时间:显示时间:1/28/202315u 动态响应动态响应contentTypecontentType属性属性 如果想动态的改变这个属性的值来响应客户,就需如果想动态的改变这个属性的值来响应客户,就需要使用要使用response对象的对象的setContentType(String s)方法来改方法来改变
13、变contentType的属性值,该方法动态设置响应的的属性值,该方法动态设置响应的MIME类型,参数类型,参数s可取:可取:text/html、application/x-msexcel、application/msword 示例示例:response.jsp1/28/202316u resposerespose重定向重定向 在某些情况下,当响应客户时,需要将客户重在某些情况下,当响应客户时,需要将客户重新引导至另一个页面。例如,如果客户输入的表单新引导至另一个页面。例如,如果客户输入的表单信息不完整,就会再被引导到该表单的输入页面。信息不完整,就会再被引导到该表单的输入页面。可以使用可以使
14、用response的的sendRedirect(URL url)方法方法实现客户的重定向。实现客户的重定向。示例示例:Example3_13.jsp tree4.jsp1/28/202317out对象用来向客户端输出数据,并且管理应用服务器上的输出缓冲区,其基类是JspWriter。通常使用out.println(String name)和out.print(String name),它们两者最大的差别在于println()在输出的数据后面会自动加上换行的符号;反之,print()不会在数据后自动换行。out 对象除了这两种方法最常使用之外,它还有一些方法(见下表),这些方法主要是用来控制管理
15、输出的缓冲区(buffer)和输出流(output stream)。三、三、out 对象对象1/28/202318方法名说明print()输出数据println()按行输出数据newLine()输出一个换行符flush()输出缓冲区里的数据close()关闭输出流clearBuffer()清除缓冲区里的数据,并把数据输出到客户端clear()清除缓冲区里的数据,但不会把数据输出到客户端getBufferSize()获得缓冲区的大小getRemaining()获得缓冲区中没有被占用的空间的大小。1/28/202319out对象示例对象示例%out.println(test out,this is
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java web 第4章JSP内置对象 JSP 内置 对象
限制150内