【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.当你觉得最近没有技术文章看时,就看收藏 ...
随机推荐
- 005-使用smtp发送邮件报警
创建监控项: 如果有两个触发条件则中间用 and 连接,or等 此上 触发器已经创建好了,但是触发器的动作还需要去定义: 默认动作是停用的需要手动打开:
- 三台mysql5.7服务器互作主从配置案例
一.架构 三台msyql服务器221,222,223,每台服务器开两个实例,3306作为主库,3307作为另外一台服务器的从库 二.每台服务器安装双实例 参照:https://www.cnblogs. ...
- ul列表li元素横排显示的IE兼容性问题
目标: 使ul列表横排显示 现象: 谷歌OK,火狐竖排,IE竖排. 原因: ul原css代码: 首先,去除点号,list-style:none;为了使其横排,使用了display:contents;该 ...
- CSS3参数matrix(n,n,n,n,n,n)定义 2D 转换,使用六个值的矩阵。那这六个值分别代表了什么参数?
matrix( a, b, c, d, e, f );a 水平缩放b 水平倾斜c 垂直倾斜d 垂直缩放e 水平移动f 垂直移动
- C语言实现栈代码
/* 栈的特性:先进后出. 栈在计算语言处理和将递归算法改为非递归算法等方面起着非常重要的作用. */ #define INITSIZE 100 //储存空间的初始分配量 typedef int El ...
- Python 分页和shell命令行模式
前言 除了手动添加你的文章后外,你还可以用命令行来添加,python 自带了一种命令行 就是 shell 快速添加博文:Shell命令行模式 在你的目录下:mysite python manage.p ...
- autogen.sh 的使用
在linux下面的大型工程很多都是makefile管理的,但是随着工程越来越大,makefile编写又成了一个大工程,这个时候出现了两个比较流行的工具,cmake和configure,configur ...
- 浅谈Mybatis通用Mapper使用方法_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 对单表进行增删改查是项目中不可避免的需求,Mybatis的通用Mapper插件使这些操作变得简单 添加maven依赖 在 ...
- 伸展树splay之求区间极值
前言 这篇博客是根据我在打这道题的时候遇到的问题,来打的,有些细节可能考虑不到. 题目 在N(1<=N<=100000)个数A1-An组成的序列上进行M(1<=M<=10000 ...
- VUEX报错 [vuex] Do not mutate vuex store state outside mutation handlers
数组 错误的写法:let listData= state.playList; // 数组深拷贝,VUEX就报错 正确的写法:let listDate= state.playList.slice(); ...