版权声明:随意转载,注明出处 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. 总结下Nginx的功能模块

    nginx-1.10.3]# ./configure  \ --prefix=/usr/local/nginx   \        #指定安装路径 --user=nginx --group=ngin ...

  2. win7抓带tag标记报文

    1. 本地连接 ,右键→属性→高级→属性里选择“优先级和 VLAN” ,看右 边的 “值” 是不是已经启用,  没有启用的话就启用它. (如果没有这个选项, 那你可能要把网卡驱动升个高版本的了. ) ...

  3. 在CentOS 6.4上安装Puppet配置管理工具

    在CentOS 6.4上安装Puppet配置管理工具 linux, puppetAdd comments 五052013 上篇说了下在ubuntu12.04上安装puppet,安装的版本为puppet ...

  4. 【BZOJ3684】大朋友和多叉树(拉格朗日反演)

    题目链接 题意 求满足如下条件的多叉树个数: 1.每一个点的儿子个数在给定的集合 \(S\) 内 2.总的叶子节点树为 \(s\) 儿子之间有顺序关系,但节点是没有标号的. Sol 拉格朗日反演板子题 ...

  5. JAVA笔记27-正则表达式(RegularExpressions)

    正则表达式是字符串的处理利器. 用途:字符串匹配(字符匹配).字符串查找.字符串替换 例如:IP地址是否正确.从网页中揪出email地址(如垃圾邮件).从网页中揪出链接等 涉及到的类:java.lan ...

  6. php四种基础算法:冒泡,选择,插入和快速排序法PHP基础教程

    许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣.作为一个初级phper,虽然很少接触到算法方面的东西.但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要掌 ...

  7. CDOJ 1061 C - 秋实大哥与战争 STL set 迭代器

    题目链接: C - 秋实大哥与战争 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:%lld & %llu Sub ...

  8. Mysql安装及用简单用法

    Mysql安装和初始化 初见: Mysql软件 - 服务端软件 - 服务端程序 - 解析指令 - 对文件的操作 - 客户端软件 - 客户端程序 - 发送指令(sql语句) - 解析指令 其他类似软件: ...

  9. 【C++】关键字struct

    网址连接 https://www.cnblogs.com/zhengfa-af/p/8144786.html 主要内容: 1. C语言中,结构体的3中不同声明和定义方式: 2. struct在C和C+ ...

  10. sqli-labs(33)

    0X01构造闭合 发现‘ 被过滤了 那么 宽字节绕过 ?id=-%df%%20union%20,database(),%