精华内容
下载资源
问答
  • 从http请求中获取参数

    万次阅读 2018-01-19 17:22:02
    springmvc, servlet 和 http 日后认真研究, 先记录下...1. 直接HttpServletRequest获取信息, 多在springmvc的拦截器获取请求的信息, 用于权限校验 public boolean preHandle(HttpServletRequest requ

    springmvc, servlet 和 http 日后认真研究, 先记录下常用获取方式


    post请求有请求体, get请求只有请求行和请求头,没有请求体

    1.  直接从HttpServletRequest获取信息, 多在springmvc的拦截器中获取请求头中的信息, 用于权限校验

    public boolean preHandle(HttpServletRequest request,
                                 HttpServletResponse response, Object handler) throws Exception {
        
            if (!(handler instanceof HandlerMethod)) {
                return true;
            }
            HandlerMethod handlerMethod = (HandlerMethod) handler;
            Method method = handlerMethod.getMethod();
    
            String token = request.getHeader("token");
            String uid = request.getHeader("uid");


    2.  get请求的参数在请求行中, post请求参数在请求体中, 二者普通类型参数的获取都可以通过springmvc的标注@RequestParam直接获得

    public ResponseMap searchPage(@RequestParam(defaultValue = "0", required = false) int page, @RequestParam(defaultValue = "20", required = false) int count,
     @ApiParam(value = "搜索词", required = true) @RequestParam String key) {
            valid(key, count, page);
            return ResponseMap.success(integrateSearchService.search(key, count, page));
        }


    3. post请求, 直接通过@RequestBody获取实体bean参数映射, 详见 http://blog.csdn.net/asdfsadfasdfsa/article/details/79108577

    此处要设置contentType,contentType:"application/json,明确的告诉服务器发送的内容是json,而默认的contentType是application/x-www-form-urlencoded; charset=UTF-8

    即获取实体bean参数提交的信息和接收的信息必须是application/json

    @RequestMapping(value = "add", method = RequestMethod.POST, produces = "application/json", consumes = "application/json")
        
    public ResponseMap add(@RequestBody ShopCartModel baseShopCart) {
            shopCartService.add(UserContext.getUserId(), baseShopCart);
            return getShopCartResponse();
        }



    4. post请求上传文件, 通过@RequestParam获取文件流

     @ApiResponses({@ApiResponse(code = 200, message = "success", response = VoiceSearchResult.class)})
        public Object itemsPageByVoice(@RequestParam(defaultValue = "0", required = false) int page, @RequestParam(defaultValue = "20", required = false) int count,
     @RequestParam("voice") MultipartFile voice) {
            if (voice == null) {
                throw new ParamsError("缺少语音数据流");
            }
            String recognize;
            try {
                recognize = audioRecognizeService.recognize(voice.getBytes());
            } catch (IOException e) {
                throw new ParamsError("语音流获取失败");
            }
            Page<ItemSpecifications> page1 = integrateSearchService.search(recognize, count, page);
            List<ItemSpecifications> itemSpecifications = page1.getObjects();
            VoiceSearchResult result = new VoiceSearchResult(recognize, itemSpecifications);
            result.setHasNext(page1.isHasNext());
            return ResponseMap.success(result);
        }

    5. 获取post请求的请求体中参数

     @RequestMapping(value = "alipay/payCallback", method = RequestMethod.POST)
        public String alipayCallback(HttpServletRequest request) {
            return alipayAsyncNotifyService.payCallBack(request);
        }


    public String payCallBack(HttpServletRequest request) {
            String result = FAIL;
            String content;
            try {
                InputStream inStream = request.getInputStream();
                content = StringUtil.newStringUtf8(IOUtil.toByteArray(inStream));
    .....
    }

    request.getInputStream(); 

    request.getReader();

    和request.getParameter("key");

    这三个函数中任何一个函数执行一次后(可正常读取body数据),之后再执行就无效了




    展开全文
  • 主要介绍了java 获取request请求参数的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
  • 本文给大家介绍Java如何实现URL带请求参数(get/post)及得到get和post请求url和参数列表的方法,涉及到java获取post请求参数的方法,感兴趣的朋友一起看看吧
  • 在JAVA WEB应用,如何获取servlet请求中参数,本文讲解了jsp页面获取servlet请求中参数的办法
  • 后端获取http请求中参数

    千次阅读 2019-11-14 12:34:13
    1.参数请求url上,如:http://{host:port}/mnagement//{ruleId} 方法:在入口方法的参数前面,使用@PathVariable注解,并且变量名与url中大括号变量名一致,即可直接传入该方法 获取其中{ruleId}的示例代码: ...

    1.参数在请求url上,如:http://{host:port}/mnagement//{ruleId}

    方法:在入口方法的参数前面,使用@PathVariable注解,并且变量名与url中大括号中变量名一致,即可直接传入该方法中

    获取其中{ruleId}的示例代码:

    	//对应请求:http://{host:port}/mnagement/10086,获取url中的10086
    
        @RequestMapping(value = "/mnagement/{ruleId}", method = RequestMethod.DELETE)
        public JsonResult fun(@PathVariable long ruleId) {
            return Service.funByRuleId(ruleId );
        }
    

    2.参数在请求url的Paramter中,如http://{host:port}/mnagement/{ruleId}?username={username}

    方法:首先需要获取HttpServletRequest,然后调用request.getParameter("username")方法获取;

    示例代码如下:

    	//对应请求:http://{host:port}/mnagement/10086?username=zjtmeng,获取url中的10086,以及zjtmeng
        @RequestMapping(value = "/mnagement/{ruleId}", method = RequestMethod.DELETE)
        public JsonResult fun(@PathVariable long ruleId,HttpServletRequest request) {
            if (request.getParameter("username") != null)
                effectiveStatus = request.getParameter("username");
            return Service.funByRuleId(ruleId,username );
        }
    

    3.参数在请求url的header中,url同上http://{host:port}/mnagement/{ruleId}?username={username}

    方法:首先需要获取HttpServletRequest,然后调用request.getHeader("user_id")方法获取;

    	//对应请求:http://{host:port}/mnagement/10086?username=zjtmeng,获取url中的10086,以及zjtmeng
        @RequestMapping(value = "/mnagement/{ruleId}", method = RequestMethod.DELETE)
        public JsonResult fun(@PathVariable long ruleId,HttpServletRequest request) {
        	String username = ull;
        	String userId = null;
            //获取url中parameter参数值
            if (request.getParameter("username") != null)
                username= request.getParameter("username");
      
      		//获取header中的参数值
            if (request.getHeader("user_id") != null)
                String userId = request.getHeader("user_id");
            return Service.funByRuleId(ruleId,username,userId );
        }
    
    展开全文
  • https://blog.csdn.net/oncealong/article/details/51383563#commentseditHttp请求GET /firstSample/hello HTTP/1.1 请求行 Host: localhost:8080 请求头 Connection: keep-alive Cache-Control: max-age=0...

    https://blog.csdn.net/oncealong/article/details/51383563#commentsedit

    Http请求

    GET /firstSample/hello HTTP/1.1    请求行
    Host: localhost:8080               请求头
    Connection: keep-alive
    Cache-Control: max-age=0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
    DNT: 1
    Accept-Encoding: gzip, deflate, sdch
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.6
    Cookie:  
                                      空行
    
    name=oncealong&password=123456   (可选)实体内容,在post请求时用于提交
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    一个Http请求可以分为请求行, 请求头, 和可选的实体内容, 我们分别来看下http和HttpServletRequest中的方法如何对应.

    请求行

    GET /firstSample/hello HTTP/1.1

    GET: 请求方式, 其中常见的额有GET 、 POST、 HEAD、 TRACE、 PUT、 CONNECT 、DELETE 
    /firstSample/hello : 可以使用url和uri. url只能用于网络 
    HTTP/1.1: 协议版本. 之前还有http/1.0, 在一次连接中只能发送一次请求. 现在都是使用http1.1, 可以在一次连接中发送多次请求.

    HttpServletRequest中用于获取请求行的方法:

    request.getMethod();     //请求方式
    request.getRequetURI();  //request.getRequetURL()   请求资源
    request.getProtocol();   //请求http协议版本
    • 1
    • 2
    • 3

    请求头

    Host: localhost:8080 (必须的)当前请求访问的目标地址(主机:端口) 
    Connection: keep-alive 浏览器跟服务器连接状态。close: 连接关闭 keep-alive:保存连接。 
    Cache-Control: max-age=0 在0秒内不会重新访问服务器,也就是页面立即失效。 
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8 
    Upgrade-Insecure-Requests: 1 
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36 
    DNT: 1 
    Accept-Encoding: gzip, deflate, sdch 浏览器接受的数据压缩格式 
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.6 浏览器接受的语言 
    Cookie: 浏览器保存的cookie信息

    HttpServletRequest中用于获取请求头的方法:

    request.getHeader("name")   //根据name,获取对应请求头数据
    request.getHeaderNames()    //获取所有的请求头名称
    
    • 1
    • 2
    • 3

    实体内容

    name=oncealong&password=123456 
    实体内容,在post请求时参数放在实体内容中

    HttpServletRequest中用于获取请求实体内容的方法:

    request.getInputStream()   //获取实体内容数据
    • 1

    对于get方式, 要获取提交的参数需要使用request.getQueryString();方法,这样造成API的不一致, 很麻烦. 所以最好使用如下统一方便的获取参数的方式:

    request.getParameter("参数名");  //根据参数名获取参数值(注意,只能获取一个值的参数)
    request.getParameterValue("参数名“); //根据参数名获取参数值(可以获取多个值的参数)
    request.getParameterNames();   //获取所有参数名称列表  


    展开全文
  • 当用户访问网页, 会使用http发送请求, 在服务端需要解析用户的请求. 那么http请求和HttpServletRequest的方法是如何对应的呢?

    当用户访问网页, 会使用http发送请求, 在服务端需要解析用户的请求. 那么http请求和HttpServletRequest的方法是如何对应的呢?

    Http请求

    GET /firstSample/hello HTTP/1.1    请求行
    Host: localhost:8080               请求头
    Connection: keep-alive
    Cache-Control: max-age=0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
    DNT: 1
    Accept-Encoding: gzip, deflate, sdch
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.6
    Cookie:  
                                      空行
    
    name=oncealong&password=123456   (可选)实体内容,在post请求时用于提交

    一个Http请求可以分为请求行, 请求头, 和可选的实体内容, 我们分别来看下http和HttpServletRequest中的方法如何对应.

    请求行

    GET /firstSample/hello HTTP/1.1

    GET: 请求方式, 其中常见的额有GET 、 POST、 HEAD、 TRACE、 PUT、 CONNECT 、DELETE
    /firstSample/hello : 可以使用url和uri. url只能用于网络
    HTTP/1.1: 协议版本. 之前还有http/1.0, 在一次连接中只能发送一次请求. 现在都是使用http1.1, 可以在一次连接中发送多次请求.

    HttpServletRequest中用于获取请求行的方法:

    request.getMethod();     //请求方式
    request.getRequetURI();  //request.getRequetURL()   请求资源
    request.getProtocol();   //请求http协议版本

    请求头

    Host: localhost:8080 (必须的)当前请求访问的目标地址(主机:端口)
    Connection: keep-alive 浏览器跟服务器连接状态。close: 连接关闭 keep-alive:保存连接。
    Cache-Control: max-age=0 在0秒内不会重新访问服务器,也就是页面立即失效。
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
    DNT: 1
    Accept-Encoding: gzip, deflate, sdch 浏览器接受的数据压缩格式
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.6 浏览器接受的语言
    Cookie: 浏览器保存的cookie信息

    HttpServletRequest中用于获取请求头的方法:

    request.getHeader("name")   //根据name,获取对应请求头数据
    request.getHeaderNames()    //获取所有的请求头名称
    

    实体内容

    name=oncealong&password=123456
    实体内容,在post请求时参数放在实体内容中

    HttpServletRequest中用于获取请求实体内容的方法:

    request.getInputStream()   //获取实体内容数据

    对于get方式, 要获取提交的参数需要使用request.getQueryString();方法,这样造成API的不一致, 很麻烦. 所以最好使用如下统一方便的获取参数的方式:

    request.getParameter("参数名");  //根据参数名获取参数值(注意,只能获取一个值的参数)
    request.getParameterValue("参数名“); //根据参数名获取参数值(可以获取多个值的参数)
    request.getParameterNames();   //获取所有参数名称列表  
    展开全文
  • 将获取http请求参数转换成Map集合
  • HTTP 请求头各参数具体含义

    千次阅读 2020-06-09 10:22:19
    HTTP 请求头各参数具体含义 HTTP的头域包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。 通用头部:是客户端和服务器都可以使用的头部,可以在客户端、服务器和其他...
  • Java获取HTTP请求内容内URL的各项参数

    千次阅读 2020-09-08 13:43:10
    今天做了一个后端项目把之前的HTTP请求里边的各项参数如何获得搞混了,这里小记一下 url地址: http://localhost:8084/api/getGoodsByType?typeId=1 通过request来获取封装在对象的信息 1.String getServerName():...
  • java获取http请求参数

    千次阅读 2019-06-05 15:20:25
    参考博客... 主要记一下个人比较常用的: 1. Map<String,Object> requestHeaderMap = DataTransfer.requestHeaderToMap(request); ...这个是打印出整个请求头信息 ...完整的请求体信息{aa=aa...
  • Eggjs 获取http请求参数的基本方式

    千次阅读 2020-10-09 16:22:41
    1.get 通过ctx.query获取参数 async getUser(){ const ctx=this.ctx; const {id} = ctx.query ctx.body =await ctx.service.user.getUser(id) } 2.post 通过ctx.request.body获取参数 async add(){ const ...
  • Http请求带有特殊字符的参数处理

    万次阅读 2017-03-23 15:06:46
    Http请求方法有四种:Get、Post、Put、Delete;我们一般用到的就两种,Get和Post。Get请求参数通过Url进行传递,不安全。如果参数有特殊字符(&、?...Post请求参数一般是通过请求体传递的(可以通过参数传递)
  •  这个能获取到所有前端传过来的参数;其实这篇转来的文字可以深入理解下 servlet 的知识, Http请求 GET /firstSample/hello HTTP/1.1 请求行 Host: localhost:8080 请求头 Connecti
  • Http请求参数编码问题

    千次阅读 2016-11-17 16:21:40
    一、Http请求参数编码问题: 1、问题: 1)页面源码,样式: 2)servlet代码,结果: 3)问题分析: 4)解决问题: 方式一:手动解码: String name = new String(name.getBytes("iso-8859-1"),"utf-8")...
  • 在工作我们有时会遇到需要在request获取请求参数的场景。比如说用来记录追踪日志,排查问题等。 一、当HTTP请求方式为get或delete时,有以下几种方式: 1.获取url所有参数 request.getQueryString(); 2...
  • 获取get请求中参数

    千次阅读 2019-07-18 14:12:33
    需要获取get请求的参数,将参数一一保存到数据库 方法一(只适合参数较少的情况): 使用 String a = request.getParameter(“参数名”);...使用request.getParameterMap()把请求参数封装到Map<String, Str...
  • java模拟Http Post请求参数请求

    千次阅读 2021-03-05 11:49:50
    @Test public void testWs() { HttpPost post = new HttpPost("https://api.toewin.com/toewin/product/save"); content.forEach(x-&... // 封装参数 List<BasicNameValuePair> list = new ArrayList<>
  • filter 拦截器 获取http请求参数

    千次阅读 2019-11-18 13:49:44
    里面一些方法使用了hutool的工具类 可以替换成你自己习惯的...3.怎么获取传入的参数 4.怎么获取返回值 直接上代码=================================================== filter配置 @Configuration public class F...
  • http post请求 参数嵌套的解决方式

    千次阅读 2019-08-08 10:27:01
    * 获得一条数据 * @param requestHead * @return */ @RequestMapping(value = “/getOneComplaint”,method = RequestMethod.POST) @ResponseBody public ResponseHead getOneComplaint(@RequestBody RequestHead ...
  • 通过get请求从请求获取中文参数时用request.RequestParam("请求中参数名") 得到的值为空,后来通过 public void xxx( @RequestParam(value="参数名") String 参数名 ){....} 这种方法就正常获取参数 ...
  • request获取所有请求参数

    千次阅读 2017-09-07 16:48:27
    request 获取请求参数有两种情况 1. get 方法获取请求参数 get 方法的请求参数存放在 getQueryString() 方法,不需要 getInputStream() 获取 2. post 方法获取请求参数 post 方法的参数存...
  • 1. GET传递的参数可以直接通过request.getParameter获取。 2. Post 传递的产生不能过直接request.getInputStream() 读取,必须要进行重新写。(request.getInputStream()只能够读取一次) 方式: 通过重写...
  • HttpServletRequest对象概述 ...由于HTTP请求消息分为请求行、请求消息头和请求消息体三部分,因此,在HttpServletRequest接口定义了获取请求行、请求头和请求消息体的相关方法。 我们在创建Servlet时会覆盖serv...
  • javarequest获取GET和POST请求参数

    千次阅读 2020-11-17 14:52:44
    URL和参数列表 一 、获取请求方式 request.getMethod(); get和post都可用, 二 、获取请求类型 request.getContentType(); get和post都可用,示例值:application/json ,multipart/form-data, application/xml等 ...
  • vue使用axios插件做post请求参数

    千次阅读 2019-07-22 14:58:11
    在vue使用axios发送post请求参数方式 由于后台接收的参数格式为FormData格式, 在axios中参数格式默认为FormData格式 在axios中参数格式默认为 在传参数前,将原先官方提供的格式 改为如下: 复制代码 axios({ ...
  • Request获取请求参数的通用方法

    千次阅读 2020-07-07 15:03:31
    这里Request获取请求数据实例我们可以了解到,get请求和post请求获取请求参数有着不一样的方法,这对我们的封装很不方便,下面就介绍一种获取请求参数的通用方法 String getParameter(String name):根据参数...
  • HttpClient 带参数get请求

    千次阅读 2019-03-08 18:23:52
    1.参数: filename:服务器上存储文件的文件名 2.返回值 输入流,以流的形式返回,不需要保存在本地浪费资源,使用时调用方法传参拿到返回值就可以使用 实例 public static InputStream doGet(String filename) { //...
  • JMeter实现HTTP接口请求参数

    千次阅读 2019-07-19 09:31:23
    JMeter实现HTTP接口请求参数HTTP请求参数化,方法有多种,这里介绍两种方法: 方法一:添加用户自定义变量 ①、选中线程组,鼠标右键选择“添加(Add)—>配置元件(Config Element)—>用户定义的变量...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 909,624
精华内容 363,849
关键字:

从http请求中获得请求参数