具体方法如下:
请求行相关方法:
请求头相关方法:
getHeader(String name) 返回指定的请求头的值,如request.getHeader("Accept");访问Accept的HTTP头;request.getHeader("Host")输出:192.168.0.1:8080;request.getHeader("Referer");request.getHeader("Accept-Language");request.getHeader("Accept-Encoding");request.getHeader("User-Agent");request.getHeader("Connection");request.getHeader("Cookie")
getHeaderNames() 该方法获得一个Enumeration包含特定请求中接受到的所有请求头的名称
getIntHeader(String name) 获取特定请求头的值,并转化为INT类型
getDateHeader(String name) 获得特定请求头的值,并转化为Date类型
消息体相关方法:
请求转发和请求范围:
请求转发:
getRequestDispatcher(String path) 返回给定路径的RequestDispatcher对象
getNamedDispatcher(String name) 返回某个名称的Servlet的RequestDispatcher 对象
forward(ServletReqeust,ServletResponse) 派发请求和响应对象到RequestDispatcher 对象所确定的新资源
include(ServletReqeust,ServletResponse) 类似forward() 不过有一些限制,该方法包含服务器端得资源,被包含的资源不能改变响应状态代码或设置头信息
请求范围:
请求范围仅仅作用在与一个请求相关的两个资源之间,如果需要继续传递到第三个或者更多的Servlet,应当继续调用HttpServletRequest对象的setAttribute()和getAttribute()方法
附:request方法大全:
协议: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.)
客户端IP: request.getRemoteAddr()
输出:192.168.0.106
客户端主机名:request.getRemoteHost()
输出:abc
编码:request.getCharacterEncoding()
输出:GB2312
所发送的字节数:request.getContentLength()
输出:-1
数据类型:request.getContentType()
输出:null
Authorization头:request.getAuthType()
输出:basic或者digest
请求类型:request.getMethod()
输出:通常是GET或者POST。但偶尔也会出现HEAD,PUT, Delete,OPTIONS,或者 TRACE.
URL中的附加路径信息: request.getPathInfo()
输出:URL中Servlet路径之后、查询字符串之前的那部分。
request.getPathTranslated()
映射到服务器实际路径之后的路径信息。
request.getQueryString()
这是字符串形式的附加到URL后面的查询字符串,数据仍旧是URL编码的。在Servlet中很少需要用到未经解码的数据,一般使用getParameter访问各个参数。
request.getRemoteUser()
如果提供了Authorization头,则代表其用户部分。它代表发出请求的用户的名字。
request.getRequestedSessionId()
输出SessionId
request.getRequestURI()
请求URL
request.getServletPath()
URL中调用Servlet的那一部分,不包含附加路径信息和查询字符串。
request.getHeader("Accept")
访问Accept的HTTP头。
request.getHeader("Host")
输出:192.168.0.1:8080
request.getHeader("Referer")
request.getHeader("Accept-Language")
request.getHeader("Accept-Encoding")
request.getHeader("User-Agent")
request.getHeader("Connection")
request.getHeader("Cookie")
返回协议名称:request.getScheme()
输出:HTTP
Web服务器名字:request.getServerName()
输出:192.168.0.1
服务器监听的端口:request.getServerPort()
输出:8080
原文地址:获取request里的所有参数名及其参数值作者:橡皮擦
request里有两个方法
request.getParameterMap();
request.getParameterNames();
我想用这两种方法获取。
1。用request.getParameterNames();
Enumeration enu=request.getParameterNames();
while(enu.hasMoreElements()){
String paraName=(String)enu.nextElement();
System.out.println(paraName+": "+request.getParameter(paraName));
}
2。request.getParameterMap();
访问URL:http://127.0.0.1:8080/test.jsp?a=1&b=2&c=3
test代码:
Map map=request.getParameterMap();
Set keSet=map.entrySet();
for(Iterator itr=keSet.iterator();itr.hasNext();){
Map.Entry me=(Map.Entry)itr.next();
Object ok=me.getKey();
Object ov=me.getValue();
String[] value=new String[1];
if(ov instanceof String[]){
value=(String[])ov;
}else{
value[0]=ov.toString();
}
for(int k=0;k<value.length;k++){
System.out.println(ok+"="+value[k]);
}
}