JavaWeb request对象常用操作

JavaWeb request对象常用操作

CreateTime--2018年6月1日16点47分

Author:Marydon

一、前提

import javax.servlet.http.HttpServletRequest;

二、具体操作

1.获取网络协议(http,https)

// 网络协议
String networkProtocol = request.getScheme();

2.获取ip(127.0.0.1)

// 网络ip
String ip = request.getServerName();

3.获取发出请求的IP地址

// 返回发出请求的IP地址
String ip = request.getRemoteAddr();// 0:0:0:0:0:0:0:1

4.获取服务器ip

// 取得服务器IP
String adddr = request.getLocalAddr();// 0:0:0:0:0:0:0:1

5.获取端口号(8080)

// 端口号
int port = request.getServerPort();

6.获取项目名

// 项目发布名称
String webApp = request.getContextPath();

7.请求路径

// 返回请求行中的资源名称
String uri = request.getRequestURI();// /test/rz/server/rzxx/at_VaildToken.do

8.获取完整url

// 获得客户端发送请求的完整url
String url = request.getRequestURL().toString();// http://localhost:8070/test/rz/server/rzxx/at_VaildToken.do

10.获取出请求的客户机的主机名

// 返回发出请求的客户机的主机名
String host = request.getRemoteHost();// 0:0:0:0:0:0:0:1

11.获取发出请求的客户机的端口号

// 返回发出请求的客户机的端口号,每次请求返回的端口号都不一致
int port = request.getRemotePort();// 65416

12.获取客户端的用户

// 取得客户端的用户
String user = request.getRemoteUser();// null

13.获取服务器端口

// 取得服务器端口
int localPort = request.getLocalPort();// 8070

17.获取所有cookie

// 获取cookie
Cookie cookies[] = request.getCookies();

18.获取session

  方式一

// 获取session:若不存在就创建
HttpSession session = request.getSession();

  方式二

// 获取session:若不存在返回null
HttpSession session = request.getSession(false);

19.获取项目根路径(磁盘路径)

  方式一:已不推荐使用

request.getRealPath("/");

  方式二

request.getSession().getServletContext().getRealPath(File.separator);  

20.获取请求头信息

String userAgent = request.getHeader("User-Agent");

2018/11/07

21.获取请求方式(POST、GET)

String requestMethod = request.getMethod();  

说明:通过浏览器地址栏进行的请求是get请求。

2018/11/19

获取请求参数的几种方式总结: 

9.获取GET请求的参数

// 返回请求行中的参数部分
String params = request.getQueryString();// un_value=

14.获取唯一参数(一个参数对应一个值)

// 获取唯一参数
String un_value = request.getParameter("un_value");

15.一个参数对应多个值

// 当前台传了多个相同的name时,用这种方式获取参数
String[] un_valueArray = request.getParameterValues("un_value"); 

2018/06/04

16.获取所有参数

// 获取前台的参数名
Enumeration paramters = request.getParameterNames();

22.获取请求内容字节流

InputStream is = request.getInputStream();

23.获取请求内容字符流

// 获取application/json格式数据,返回字符流
BufferedReader reader = request.getReader();

当请求体内容类型为application/x- www-form-urlencoded(即form表单默认的类型)时,用request.getParameter()方法来获取请求参数值;

当请求体内容类型为multipart/form-data(即文件上传类型)时,用request.getInputStream()返回请求内容字节流;

当请求体内容类型为application/json(即JSON数据类型)时,用request.getReader()返回请求内容字符流。

原文地址:https://www.cnblogs.com/Marydon20170307/p/9122676.html