JSP request对象功能详解说明
下文笔者讲述request对象的功能简介说明,如下所示:
例
request的功能: request是HttpServletRequest类的实例 request对象中封装了客户端请求的数据信息,通过获取request对象中的信息,我们可获取客户端的请求信息
request对象中的方法
string getProtocol() | 返回请求用的协议类型及版本号 request.getProtocol() 输出:HTTP/1.1 |
getServletConfig().getServletContext().getServerInfo() | 服务器信息 输出:JavaServer Web Dev Kit/1.0 EA (JSP 1.0; Servlet 2.1; Java 1.2; Windows NT 5.0 x86; java.vendor=Sun Microsystems Inc.) |
String getRemoteAddr() | 返回发送此请求的客户端IP地址 request.getRemoteAddr() 输出:192.168.8.8 |
String getRemoteHost() | 返回发送此请求的客户端主机名 |
String getCharacterEncoding() | 返回字符编码方式 request.getCharacterEncoding() 输出:GB2312 |
int getContentLength() | 返回请求体的长度(以字节数) |
String getContentType() | 得到请求体的MIME类型 8. string getAuthType() 获取Authorization头 request.getContentType() 输出:basic或者digest |
string getMethod() | 获取请求类型 输出:通常是GET或者POST。但偶尔也会出现HEAD,PUT, Delete,OPTIONS,或者 TRACE. |
string getPathInfo() | 获取URL中的附加路径信息 输出:URL中Servlet路径之后、查询字符串之前的那部分 |
string getPathTranslated() | 映射到服务器实际路径之后的路径信息 |
string getQueryString() | 这是字符串形式的附加到URL后面的查询字符串,数据仍旧是URL编码的。 |
string getRemoteUser() | 如果提供了Authorization头,则代表其用户部分。它代表发出请求的用户的名字。 |
string getRequestedSessionId() | 输出SessionId |
string getRequestURI() | 请求URL |
string getServletPath() | URL中调用Servlet的那一部分,不包含附加路径信息和查询字符串 |
string getHeader() | 获取请求头部信息 getHeader("Accept") //访问Accept的HTTP头。 getHeader("Host") //输出:192.168.8.8:8080 |
String getServerName() | 返回接受请求的服务器主机名 request.getServerName() 输出:192.168.8.8 |
int getServerPort() | 返回服务器接受此请求所用的端口号 request.getServerPort() 输出:8080 |
ServletInputStream getInputStream() | 得到请求体中一行的二进制流 |
String getScheme() | 返回请求用的计划名,如:http.https及ftp等 |
BufferedReader getReader() | 返回解码过了的请求体 |
void setAttribute(String key,Object obj) | 设置属性的属性值 |
String getRealPath(String path) | 返回一虚拟路径的真实路径 |
String getParameter(String name) | 返回name指定参数的参数值 |
Enumeration getParameterNames() | 返回可用参数名的枚举 |
String[] getParameterValues(String name) | 返回包含参数name的所有值的数组 |
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %> <%@ page import="java.util.*" %> <htm> <head> </head> <body> 客户使用的协议是: <% String strProtocol = request.getProtocol(); out.print(strProtocol); %> <br/> 获取客户提交信息的页面: <% String strPath = request.getServletPath(); out.print(strPath); %> <br/> 接受客户提交信息的长度 <% int intLength = request.getContentLength(); out.print(intLength); %> <br/> 客户提交信息的方式: <% String strMethod = request.getMethod(); out.print(strMethod); %> <br/> 获取HTTP头文件中User-agent的值 <% String strUserAgent = request.getHeader("User-Agent"); out.print(strUserAgent); %> <br/> 获取HTTP头文件中的accept值 <% String strAccept = request.getHeader("accept"); out.print(strAccept); %> <br/> 获取HTTP头的Host的值 <% String strHost = request.getHeader("Host"); out.print(strHost); %> <br/> 获取HTTP头文件中accept-encoding的值 <% String strAcceptEncoding = request.getHeader("accept-encoding"); out.print(strAcceptEncoding); %> <br/> 获取客户的IP地址 <% String strIP = request.getRemoteAddr(); out.print(strIP); %> <br/> 获取客户机的名称 <% String strClientName = request.getRemoteHost(); out.print(strClientName); %> <br/> 获得服务器的名称 <% String strServerName = request.getServerName(); out.print(strServerName); %> <br/> 获得服务器端口号 <% int strServerPort = request.getServerPort(); out.print(strServerPort); %> <br/> 获取客户端提交的所有参数名字:<br/> <% Enumeration<String> enumer = request.getParameterNames(); while(enumer.hasMoreElements()) { String s = (String) enumer.nextElement(); out.print(s); out.print("<br/>"); } %> <br/> 获取头名字的一个枚举:<br/> <% Enumeration<String> enumHead = request.getHeaderNames(); while(enumHead.hasMoreElements()) { String s = (String) enumHead.nextElement(); out.print(s); out.print("<br/>"); } %> <br/> 获取头文件中指定头名字的全部值的一个枚举<br/> <% Enumeration<String> enumCookies = request.getHeaders("cookie"); while(enumCookies.hasMoreElements()) { String s = (String)enumCookies.nextElement(); out.print(s); out.print("<br/>"); } %> <br/> </body> </html>
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。