版权声明:随意转载,注明出处 https://blog.csdn.net/River_Continent/article/details/77511389
后台传参,一直是一个比较重要的地方,如果涉及Web,我们可以用RequestContext来帮我们传递参数,即使在不同的页面,不用的方法,只要没有新的请求产生,我们都可以用RequestContext;但是,大前提是:
没有新的请求,
没有新的请求,
没有新的请求;
重要的事情说三遍~

1、RequestContext;
我们只有通过登录,才能获取从页面拿过来的请求上下文(RequestContext):

RequestContext requestContext = securityLogin.login(info);
1
info是我们登录需要传递的参数,这里的Info是一个对象,包括账户和密码;你也可以自己写一个方法,把账户和密码分别传进去,然后做模拟登录;这样,登录过的requestContext才能有实质性的东西;
否则:
我们也可以创建一个新的RequestContext,来装载我们的请求参数;

RequestContext requestContext = new RequestContext();
1
但是,这里的requestContext里面都是null;

2、globalData();
requestContext里面有一个非常重要的方法,就是globalData(),这里我们可以通过它来传递参数,这个也是本帖子的核心;顾名思义,globalData,全局数据,就是同一个请求中的数据,都可以互通往来;

①放数据:

requestContext.globalData("name",name);
1
通过键值对的方式来存入数据,key-value键值对的形式来存入数据;前面是key,后面是值;
②取数据:
如果别的页面存入了数据,我这个页面要拿过来调用怎么办,这时候就直接通过键(key)来取值;

requestContext.globalData("name");
1
很方便;(别忘了大前提,没有新的请求产生)
一般情况,如果在requestContext.globalData();附近报null的错,或者对象的size,length不能为null,那么很有可能就是没有存值,取出来的值是null,进而数据类型不匹配;要么就是取值的时候,key跟原来要取值的key对不上,不是单词拼写错误,就是大小写错误,要么就是压根忘了存值,直接取值;这个都要避免;还要注意,取出来的数据是Object类型,取出来之后,还要进行数据类型转换;

3、基本内容简介
requestContext有8个基本的内容,分别是:
①url:请求的地址,到底去哪里获取请求的上下文;
②timeout:超时链接的上限,默认是30000ms;
③method:请求的方法,到底是GET请求,还是POST请求,到底是做自行车,还是做卡车,看具体情况定;
例如:

.method(Connection.Method.POST)
1
④requestBody():可以把其它的一些参数以字符串等的形式放入请求体中;
⑤cookies:这个是最重要的参数之一
可以用Jsoup.connect再接下面的代码:
例如:

.cookies(requestContext.cookies())
1
也可以独立写:
例如:

Map<String,String> cookies = response.cookies();
requestContext.cookies(cookies);
1
2
⑥header:请求头,可以设置上下文的类型,请求携带的其它信息等,可以类比html中的

<head>
<meta charset="utf-8">
<title>标题</title>
</head>
1
2
3
4
例如:

.header("Content-Type","application/x-www-form-urlencoded")
.header("X-Requested-With","XMLHttpRequest")
1
2
⑦globalData():最重要的方法之一,用来传递参数,上面讲了好多,这里参照上面即可;
⑧requestDatas():自己百度下;
---------------------
作者:陶洲川
来源:CSDN
原文:https://blog.csdn.net/River_Continent/article/details/77511389
版权声明:本文为博主原创文章,转载请附上博文链接!

【RequestContext】关于RequestContext的一些小心得的更多相关文章

  1. ASP.NET MVC Autofac依赖注入的一点小心得(包含特性注入)

    前言 IOC的重要性 大家都清楚..便利也都知道..新的ASP.NET Core也大量使用了这种手法.. 一直憋着没写ASP.NET Core的文章..还是怕误导大家.. 今天这篇也不是讲Core的 ...

  2. Qt使用com组件的一点小心得(使用Qt自带的工具dumpcpp生成.h和.cpp文件)

    这几天工作中要用到Qt调用com组件,主要用到的类型有dll和ocx,使用他们的方法很简单:1.将com组件注册到系统中.2.使用Qt自带的工具dumpcpp将com组件生成cpp和头文件.3.然后就 ...

  3. 拼接Sql语句小心得

    在往数据库插入数据时,需要根据数据和数据库中的列信息进行拼接,在本篇文章中,输出小心得.使用语言为 python. 拼接原始列信息 比如待插入数据库列信息为 deptNo,dName, Locate, ...

  4. BUI Webapp用于项目中的一点小心得

    接触BUI也有一段时间,也用在了移动端的项目开发中,总的来说,该框架用起来也挺灵活的,控件可以自由定制,前提是自己能认真地学习该框架的api,因为api里面说的东西比较详细,如果没有仔细看的,可能有些 ...

  5. RIME-使用小心得

    从4月份我才接触到RIME输入法,当时的感觉上相见恨晚的,现在感觉也不错,时至今日,想写点东西,也算是小感触吧. RIME称为中州韵输入法引擎,是开放源代码的输入法软件,其主页是http://rime ...

  6. Unity仪表盘显示UGUI制作小心得

    最近在做设备仪表参数参数显示,由于模型摆放位置经常修改,加之要求不能在模型的下面添加东西,显示界面的位置也不得不跟着修改,一来二去就烦了,想了解决办法,现在总结如下: 1.仍然在模型下面新建Panel ...

  7. 学习KMP算法的一点小心得

    KMP算法应用于 在一篇有n个字母的文档中 查找某个想要查找的长度为m的单词:暴力枚举:从文档的前m个字母和单词对比,然后是第2到m+1个,然后是第3到m+2个:这样算法复杂度最坏就达到了O(m*n) ...

  8. 关于 angular 小心得

    心得1: //控制器里面的代码会晚一些执行 setTimeout(function(){ //获取对象的scope var ele = document.querySelector('[ng-cont ...

  9. 近日使用Taro框架的一点小心得

    1.yarn npm安装的包,跟权限问题有关,与网络也有关 2.Vue框架首先,是解决了view-model的问题,解放开发的双手,使得显示和数据和控制分开 3.当你觉得最近没有技术文章看时,就看收藏 ...

随机推荐

  1. inux下:热插拔和模块是什么

    一.何为模块? 文件系统.设备驱动程序.网络协议都可以理解为模块.模块本质也是普通的软件系统. 二.热插拔 硬件层面:只在不断电.不关闭系统的情况下增加或者删除对应部件,比如电源.硬盘.一些高端设备硬 ...

  2. CentOS 基础命令

    命令格式: 命令字  选项   参数1 参数2 ..... CentOS 7 主目录介绍 [xbb@localhost ~]$ ls -l /total 16lrwxrwxrwx. 1 root ro ...

  3. P5200 [USACO19JAN]Sleepy Cow Sorting 牛客假日团队赛6 D 迷路的牛 (贪心)

    链接:https://ac.nowcoder.com/acm/contest/993/E 来源:牛客网 对牛排序 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...

  4. Oracal数据库安装配置教程

    官网注册账号登录 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-windows- ...

  5. 解决SonarQube启动时直接挂掉问题

    症状:启动SonarQube时,系统启动,但是马上关闭 查看日志,提示ElasticSearch启动有问题ClusterBlockException[blocked by: [FORBIDDEN/12 ...

  6. 小小程序员的生产力工具——2017款MacBook pro 13.3(附使用技巧和常用链接)

    新买的2017款 MacBook pro 13.3 九号到了,第一次用苹果笔记本,用了两天基本熟悉了,各种软件也安装的差不多,把一些小技巧分享给大家.先放几张图   使用小常识,希望可以帮到您一:尽量 ...

  7. git的用法的总结

    git的基本用法(一) 1).git的初始化 --配置用户名和邮箱 不然后面无法提交 git config --global user.name "myname"; git con ...

  8. 详解GSM的基带跳频和射频跳频

    跳频技术源于军事通信,目的是为了获得较好的保密性和抗干扰能力.跳频分为快速和慢速两种,GSM中的跳频属于慢跳频. 跳频方式从时域概念上分为帧跳频和时隙跳频,从载频实现方式上分为射频跳频和基带跳频. 帧 ...

  9. Buffer转成字符串

    如果data为buffer格式,则: data.toString()

  10. @ENABLECACHING 基于注解的缓存

    @EnableCaching• @Cacheable指定一个或多个Cache名字,同属性cacheNamesSpring Cache 使用 ---@EnableCaching @Cacheable 注 ...