HttpServletRequest对象
来源:互联网 发布:清华大学软件学院分数 编辑:程序博客网 时间:2024/06/08 05:37
转自:http://www.cnblogs.com/xdp-gacl/p/3798347.html
获得客户机请求头
getHeader(string name)方法:String
getHeaders(String name)方法:Enumeration
getHeaderNames()方法
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/*
* HttpServletRequest对象代表客户端的请求,父类是ServletRequest,在客户端通过HTTP协议访问服务器时,请求的所有信息都封装在这个对象中,
* 通过该对象的方法可以取到请求的所有信息
* 获取客户端信息的常用方法:
* getRequestURL方法返回客户端发出请求时的完整URL。
getRequestURI方法返回请求行中的资源名部分。
getQueryString 方法返回请求行中的参数部分。
getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。
getRemoteAddr方法返回发出请求的客户机的IP地址。
getRemoteHost方法返回发出请求的客户机的完整主机名。
getRemotePort方法返回客户机所使用的网络端口号。
getLocalAddr方法返回WEB服务器的IP地址。
getLocalName方法返回WEB服务器的主机名。
*
* */
public class HttpServletRequest005 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 1、
/*
* String url = request.getRequestURL().toString(); String uri =
* request.getRequestURI(); String queryStr = request.getQueryString();
* String path = request.getPathInfo(); String add =
* request.getRemoteAddr(); String host = request.getRemoteHost();
* String localAdd = request.getLocalAddr(); String localName =
* request.getLocalName(); String method =
* request.getMethod();//得到请求URL地址时使用的方法 HttpSession
* session=request.getSession(); String
* sessionid=request.getRequestedSessionId();
* response.setHeader("content-type", "text/html;charset=UTF-8"); //
* 使用outputStream流输出 OutputStream os = response.getOutputStream();
* os.write(("输出的url:" + url).getBytes()); os.write("</br>".getBytes());
* os.write(uri.getBytes()); // 使用PriterWriter输出 PrintWriter out =
* response.getWriter(); out.write("获取到的客户机信息如下:"); out.write("<hr/>");
* out.write("请求的URL地址:" + url); out.write("<br/>"); out.write("请求的资源:"
* + uri); out.write("<br/>"); out.write("请求的URL地址中附带的参数:" + queryStr);
* out.write("<br/>"); out.write("来访者的IP地址:" + path);
* out.write("<br/>"); out.write("来访者的主机名:" + host); out.write("<br/>");
* out.write("remoteUser:" + path); out.write("<br/>");
* out.write("请求使用的方法:" + method); out.write("<br/>");
* out.write("pathInfo:" + path); out.write("<br/>");
* out.write("localAddr:" + localAdd); out.write("<br/>");
* out.write("localName:" + localName); out.write("<br/>");
* out.write("请求的sessionId:" + sessionid+"请求的session:"+
* session.getCreationTime()+";"+session.getId()+";"+session.
* getAttributeNames());
*/
// 获取客户端的请求头信息
response.setCharacterEncoding("utf-8");
response.setHeader("content-type", "text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// Enumeration 封装了有关枚举数据集合的方法
Enumeration<String> reqHeaders = request.getHeaderNames(); // 获取所有的请求头
out.write("获取到的客户端所有的请求头信息如下:");
out.write("<hr/>");
while (reqHeaders.hasMoreElements()) {
String headName = reqHeaders.nextElement();
String headValue = request.getHeader(headName);// 根据请求头的名字获取对应的请求头的值
out.write(headName + ":" + headValue);
out.write("<br/>");
}
out.write("<br/>");
out.write("获取到的客户端Accept-Encoding请求头的值:");
out.write("<hr/>");
String value = request.getHeader("Accept-Encoding");// 获取Accept-Encoding请求头对应的值
out.write(value);
Enumeration<String> e = request.getHeaders("Accept-Encoding");
while (e.hasMoreElements()) {
String string = (String) e.nextElement();
System.out.println(string);
}
}
}
- HttpServletRequest 对象
- HttpServletRequest对象
- HttpServletRequest对象
- HttpServletRequest对象
- HttpServletRequest对象
- HttpServletRequest对象
- HttpServletRequest对象
- HttpServletRequest对象
- HttpServletRequest对象
- HttpServletRequest对象
- HttpServletRequest对象
- HttpServletRequest对象
- HttpServletRequest对象使用
- HttpServletRequest(请求)对象
- HttpServletRequest,对象,的详解
- springmvc获取HttpServletRequest对象
- HttpServletRequest对象(一)
- HttpServletRequest对象介绍
- 不忘初心,回到本源
- 打开EventBus3.0的正确姿势
- 2 Activity (修改成功)
- 安卓更新UI的几种方法
- Linux系统调用和库函数调用的区别
- HttpServletRequest对象
- 1、TCP连接
- ctcall 专注邮件应用发送
- 找到数组中最小的K个数
- mysql和jdbc的使用
- SSH项目部署到tomcatx能运行而之前的版本不能运行的原因
- japan eat
- Context.getExternalFilesDir()和Context.getExternalCacheDir()方法
- github desktop 怎么查看克隆到本地的代码