您的位置:首页 > 理论基础 > 计算机网络

Java Web 回顾总结(五) - HttpServlet - Request - 开发常用方法总结

2018-04-02 20:03 766 查看

常用获取请求信息方法

// 不论需要与否 为了用户体验良好 请获取正文编码格式,之后根据编码格式解析
// 获取正文编码格式 并指定后面操作 的所有解码格式
request.setCharacterEncoding(request.getCharacterEncoding());


PrintWriter printWriter =response.getWriter();
// 输出 request 的 所有信息
printWriter.write("request:"+ request + "<hr/>");
// 输出请求的 完整 url
printWriter.write("URL:" + request.getRequestURL().toString());
// 输出请求应用 名称
printWriter.write("应用名称:"+request.getContextPath());
// 输出请求的完整 uri
printWriter.write("URI:"+ request.getRequestURI().toString());
// 输出 请求行 的参数信息
printWriter.write("QueryString:" + request.getQueryString());
// 输出 请求的传递方式
printWriter.write("method:"+request.getMethod());

// 输出 请求中 所有web 服务器  的信息
printWriter.write("RemoteInfo:"+request.getLocale());
// 输出 请求的 ip 地址
printWriter.write("remoteAddr:"+request.getRemoteAddr());
//输出 请求中 web 服务器 的ip
printWriter.write("localAddr"+ request.getLocalAddr());
// 输出 请求的 主机名
printWriter.write("HostName:"+request.getRemoteHost());
// 输出 请求的 web服务器名
printWriter.write("localName"+request.getLocalName());
// 输出 请求的 端口
printWriter.write("RemotePort:"+request.getRemotePort());
// 输出 服务器返回 的端口
printWriter.write("LocalPort:"+request.getLocalPort());


通用获取请求信息方法

// 获取 request头 中 具体 某个元素的 值
response.getWriter().append(request.getHeader("method"));

// 将 request 中所有name 信息 合并为 enumerations
Enumeration<String> strNameEnum = request.getHeaderNames();
// 取出第一条 name元素的 名字
response.getWriter().append(strNameEnum.nextElement());

// 将 request 中 指定的name 的所有 value 值 合并为 enumerations
// 一般可用于 多个包含 类型的 name ,例如 Accept-Language,Cookes等
// 当然单个也能用
Enumeration<String> strValueEnum = request.getHeaders(strNameEnum.nextElement());
// 取出该 name 下的 第一个值
response.getWriter().append(strValueEnum.nextElement());

// 获取请求头中数据 并将转换成 int 型
// 若转换不了提交报错 ,不推荐使用,可以在后面函数中转换
request.getIntHeader("status Code");

// 获取请求头中时间 时采用 ,返回长整形
Long long1 = request.getDateHeader("Date");
response.getWriter().append(long1.toString());


文件处理所需的 请求头信息

// 获取 提交文件 或请求 的 长度
Integer integer = request.getContentLength();

// 获取 提交文件的 类型(MIME)
// 类型未知 返回 null
String string = request.getContentType();


获取请求头中传递的参数方法

本质上是获取

get
方式中
?
后面参数的值




例:
https://www.bing.com/search?q=bing&qs=n&form=QBRE&scope=web&sp=-1&pq=bing&sc=9-4&sk=&cvid=F08568E75331414C9367F9309BFFEAB3


&
表示 参数分割

post
方式


用开发工具捕获到可以看到:



具体使用在另一张实际使用中介绍

// 获取指定 参数name 的 value
request.getParameter("username");
// 获取 所有参数 合并成 的 map(字典)类型
Map<String, String[]> map = request.getParameterMap();

// 将所有 参数 的name 合并为Enumeration (枚举类型)
Enumeration<String> enumeration = request.getParameterNames();
enumeration.nextElement();

// 将指定 name 参数的 value 合并为 String 数组
String[] string = request.getParameterValues("locate");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: