【RequestContext】关于RequestContext的一些小心得
版权声明:随意转载,注明出处 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的一些小心得的更多相关文章
- ASP.NET MVC Autofac依赖注入的一点小心得(包含特性注入)
前言 IOC的重要性 大家都清楚..便利也都知道..新的ASP.NET Core也大量使用了这种手法.. 一直憋着没写ASP.NET Core的文章..还是怕误导大家.. 今天这篇也不是讲Core的 ...
- Qt使用com组件的一点小心得(使用Qt自带的工具dumpcpp生成.h和.cpp文件)
这几天工作中要用到Qt调用com组件,主要用到的类型有dll和ocx,使用他们的方法很简单:1.将com组件注册到系统中.2.使用Qt自带的工具dumpcpp将com组件生成cpp和头文件.3.然后就 ...
- 拼接Sql语句小心得
在往数据库插入数据时,需要根据数据和数据库中的列信息进行拼接,在本篇文章中,输出小心得.使用语言为 python. 拼接原始列信息 比如待插入数据库列信息为 deptNo,dName, Locate, ...
- BUI Webapp用于项目中的一点小心得
接触BUI也有一段时间,也用在了移动端的项目开发中,总的来说,该框架用起来也挺灵活的,控件可以自由定制,前提是自己能认真地学习该框架的api,因为api里面说的东西比较详细,如果没有仔细看的,可能有些 ...
- RIME-使用小心得
从4月份我才接触到RIME输入法,当时的感觉上相见恨晚的,现在感觉也不错,时至今日,想写点东西,也算是小感触吧. RIME称为中州韵输入法引擎,是开放源代码的输入法软件,其主页是http://rime ...
- Unity仪表盘显示UGUI制作小心得
最近在做设备仪表参数参数显示,由于模型摆放位置经常修改,加之要求不能在模型的下面添加东西,显示界面的位置也不得不跟着修改,一来二去就烦了,想了解决办法,现在总结如下: 1.仍然在模型下面新建Panel ...
- 学习KMP算法的一点小心得
KMP算法应用于 在一篇有n个字母的文档中 查找某个想要查找的长度为m的单词:暴力枚举:从文档的前m个字母和单词对比,然后是第2到m+1个,然后是第3到m+2个:这样算法复杂度最坏就达到了O(m*n) ...
- 关于 angular 小心得
心得1: //控制器里面的代码会晚一些执行 setTimeout(function(){ //获取对象的scope var ele = document.querySelector('[ng-cont ...
- 近日使用Taro框架的一点小心得
1.yarn npm安装的包,跟权限问题有关,与网络也有关 2.Vue框架首先,是解决了view-model的问题,解放开发的双手,使得显示和数据和控制分开 3.当你觉得最近没有技术文章看时,就看收藏 ...
随机推荐
- navicat修改表的主键自增长报错
这周自己在构思一个项目的表的设计,由于是第一次,所以走了很多弯路,也遇到了几个问题,这里暂时贴上来. 我用PowerDesign设计出一部分关联表的ER图之后,导出了sql文件之后用navicat导入 ...
- Codeforces 898 贪心关闭最少闹钟 优先队列最少操作构造N/2squares 讨论情况哈希数字串分割a+b=c
A /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a,b) ...
- No application found. Either work inside a view function or push an application context.
flask报了这个错,字面意思是说没有应用上下文,字面给的解决意见是要么放置在一个视图内,要么提供一个应用(flask)上下文. 查看文档发现文档给了个解决方案: 一个是通过app.app_conte ...
- python 类的成员及继承
1. @staticmethod 静态方法 静态方法不能访问实例变量和类变量,除了身处类里面,所以只能通过类调用以外,它其实和类没有什么关系.如果想要用它访问实例变量或类变量,需要把实例和类传递给函数 ...
- React-Redux 总结
一.定义与功能 React-Redux 将所有组件分成两大类:UI 组件(presentational component)和容器组件(container component) 1.UI 组件特征: ...
- 十一、S3C2440 裸机 — GPIO
11.1 GPIO 介绍 11.1.1 GPIO 管脚 GPIO 即是输入输出端口,S3C2440A 包含了 130 个多功能输入/输出口引脚并且它们为如下显示的八个端口: 端口 A(GPA):25 ...
- javascript之定时器的使用
一:什么是定时器 (一)无限循环定时器 <script> window.onload = function(){ function test(){ alert("test&quo ...
- vs2017 mvc 启动时经常出现调用的目标发生异常
1.vs 2017 调试web 程序时老是出现调用的目标发生异常 本人眼拙,基本上看了网站说的一些方法,设置环境变量是无效的,只有一个办法,卸载重装. 1.0 卸载过程 打开计算机-卸载或更改软件- ...
- mysql 8.0.16 单主 mgr搭建
mysql 8.0.16 单主 mgr搭建 环境介绍: 192.168.142.142 db142192.168.142.143 db143192.168.142.145 db145 1.安装依赖包 ...
- Hibernate实体对象的生命周期(三种状态)
瞬时状态(Transient) 通过new创建对象后,对象并没有立刻持久化,它并未与数据库中的数据有任何关联,此时Java对象的状态为瞬时状态. Session对于瞬时状态的Java对象是一无所知的, ...