归东理子末军 SHANDONG UNIVERSITY OF TECIINOLOGY 4.1.10ut对象 口主要用于向客户端输出数据,代表输出流的对象。 口out对象的主要方法: ▣out.print(类型和out.println(类型) 口out.newLine0:输出一个换行符号。 口out.clearBuffer0:清除缓冲区里的数据,并且把数据写到客户端。 口out.clear(0:清除缓冲区里的数据,但不把数据写到客户端去。 口out.getRemaining0:获取缓冲区中没有被占用的空间的大小。 口out.fush0:输出缓冲区里的数据。先将之前缓冲区中的数据输出 至客户端,然后再清除缓冲区中的数据。 口out.getBufferSize0:获得缓冲区的大小,缓冲区的大小可以用 <%@page buffer-="size"%>来设置。 口out.isAutoFlush(0:返回布尔值,如果auto flush,那么返回true, 计 反之返回false。是否auto flush可以用<%@page 算 autoFlush="true/false"%>来设置。 机 口out.close0:关闭输出流,从而可以强制终止当前页面的剩余部分 学 向浏览器输出。 院 J2EE WEB
J2EE WEB 计 算 机 学 院 6 4.1.1 out对象 ❑ 主要用于向客户端输出数据,代表输出流的对象。 ❑ out对象的主要方法: ❑ out.print(类型)和out.println(类型) ❑ out.newLine():输出一个换行符号。 ❑ out.clearBuffer():清除缓冲区里的数据,并且把数据写到客户端。 ❑ out.clear():清除缓冲区里的数据,但不把数据写到客户端去。 ❑ out.getRemaining():获取缓冲区中没有被占用的空间的大小。 ❑ out.flush():输出缓冲区里的数据。先将之前缓冲区中的数据输出 至客户端,然后再清除缓冲区中的数据。 ❑ out.getBufferSize():获得缓冲区的大小,缓冲区的大小可以用 <%@page buffer="size"%>来设置。 ❑ out.isAutoFlush():返回布尔值,如果auto flush,那么返回true, 反之返回false。是否auto flush可以用<% @page autoFlush="true/false"%>来设置。 ❑ out.close():关闭输出流,从而可以强制终止当前页面的剩余部分 向浏览器输出
归本程王太军 SHANDONG UNIVERSITY OF TECIINOLOQY 4.1.2 request对象 口表示客户端对网页的请求 ☐实现javax.servlet.http.HttpServletRequest接口 口使用HTTP协议处理客户端的请求 表示并存储客户端的请求 服子器 JSP页面 请求信息 请求 计 request:对象 算 机 客户端 服务器 学 院 7 J2EE WEB
J2EE WEB 计 算 机 学 院 7 4.1.2 request对象 ❑表示客户端对网页的请求 ❑实现 javax.servlet.http.HttpServletRequest接口 ❑使用 HTTP 协议处理客户端的请求 JSP 页面 request 对象 客户端 请求信息 表示并存储客户端的请求 请求 服务器
归本程2夫军 SHANDONG UNIVERSITY OF TECINOLOGY request对象的方法 一、 与请求行相关的信息 ▣ 请求的提交方法:request.getMethod(0 ▣请求的上下文路径:request.getContextPath() 口客户端向服务器端传送数据的协议名称及版本:request.getProtocol() ▣查询字符串:request.getQueryString0 口请求行中请求资源的名称:request.getRequestURI0 二、获得网络连接信息 口客户端P:request.getRemoteAddr0 ▣客户端的名字:request.getRemoteHost0 口客户端所使用的网络接口的端口号:request.getRemotePort0 口服务器的名字:request.getServerName0 口服务器的端口号:request.getServerPort0 口 服务器接收当前请求的网络接口的P地址:request.getLocalAddr(0 计 口服务器接收当前请求的网络接口的P地址对应的主机 算 名:request.getLocalName0 机 口服务器接收当前请求的网络接口的端口号:request.getLocalPort(0 学 返回请求的协议名:request.getScheme0 院 8 J2EE WEB
J2EE WEB 计 算 机 学 院 8 request对象的方法 ❑ 一、与请求行相关的信息 ❑ 请求的提交方法:request.getMethod() ❑ 请求的上下文路径:request.getContextPath() ❑ 客户端向服务器端传送数据的协议名称及版本:request.getProtocol() ❑ 查询字符串: request.getQueryString() ❑ 请求行中请求资源的名称: request.getRequestURI() ❑ 二、获得网络连接信息 ❑ 客户端IP:request.getRemoteAddr() ❑ 客户端的名字:request.getRemoteHost() ❑ 客户端所使用的网络接口的端口号:request.getRemotePort() ❑ 服务器的名字:request.getServerName() ❑ 服务器的端口号:request.getServerPort() ❑ 服务器接收当前请求的网络接口的IP地址:request.getLocalAddr() ❑ 服务器接收当前请求的网络接口的IP地址对应的主机 名:request.getLocalName() ❑ 服务器接收当前请求的网络接口的端口号:request.getLocalPort() ❑ 返回请求的协议名:request.getScheme()
归本程王太军 HANDONG UNIVERSITY OF TECINOLOQY request对象的方法 口三、获取请求头的信息 口请求的字符编码方式:request.getCharacterEncoding) 口请求页的长度:request.getContentLength() ▣请求页类型:request.getContentType() 口输出请求的头信息:<br心 <% Enumeration e=request.getHeaderNames(); ∥得到各个头部的名称 while(e.hasMoreElements()) String str=(String)e.nextElement(); 计 out.print(str+":"+request.getHeader(str)+"<br/>"); 算 ∥根据名称输出头部的值 } 机 6 学 <br/> 院 9 J2EE WEB
J2EE WEB 计 算 机 学 院 9 request对象的方法 ❑ 三、获取请求头的信息 ❑ 请求的字符编码方式: request.getCharacterEncoding() ❑ 请求页的长度: request.getContentLength() ❑ 请求页类型: request.getContentType() ❑ 输出请求的头信息:<br/> <% Enumeration e=request.getHeaderNames(); //得到各个头部的名称 while(e.hasMoreElements()) { String str=(String)e.nextElement(); out.print(str+": "+request.getHeader(str)+"<br/>"); //根据名称输出头部的值 } %> <br/>
归东置太军 SHANDONG UNIVERSITY OF TECIINOLOGY request对象的方法 四、获取请求参数信息 口得到请求页的传来的数据: <% request.setCharacterEncoding("utf-8"); Enumeration e1=request.getParameterNames();∥得到所有参数名称 while(e1.hasMoreElements()) String str=(String)e1.nextElement(0;/将每个参数名称赋予一个变量 out.print(“名称为”+str+“的属性值为:"+request.getParameter(str)+“<brl>")月 根据参数得到值 } %><brl> 爱好:<br> <% 计 String0 ]strs:=request.getParameterValues(hobby');∥得到一个数组 算 for(String str:strs) 机 学 out.printin(str+""); 院 } 10 6 J2EE WEB
J2EE WEB 计 算 机 学 院 10 request对象的方法 ❑ 四、获取请求参数信息 ❑ 得到请求页的传来的数据: <% request.setCharacterEncoding("utf-8"); Enumeration e1=request.getParameterNames(); //得到所有参数名称 while(e1.hasMoreElements()) { String str=(String)e1.nextElement(); //将每个参数名称赋予一个变量 out.print(“名称为”+str+“的属性值为:”+request.getParameter(str)+“<br/>”); //根据参数得到值 } %><br/> 爱好:<br/> <% String[] strs=request.getParameterValues(“hobby”); //得到一个数组 for(String str:strs) { out.println(str+" "); } %>