【RequestContext】关于RequestContext的一些小心得;
2017-08-23 20:22
197 查看
后台传参,一直是一个比较重要的地方,如果涉及Web,我们可以用RequestContext来帮我们传递参数,即使在不同的页面,不用的方法,只要没有新的请求产生,我们都可以用RequestContext;但是,大前提是:
没有新的请求,
没有新的请求,
没有新的请求;
重要的事情说三遍~
info是我们登录需要传递的参数,这里的Info是一个对象,包括账户和密码;你也可以自己写一个方法,把账户和密码分别传进去,然后做模拟登录;这样,登录过的requestContext才能有实质性的东西;
否则:
我们也可以创建一个新的RequestContext,来装载我们的请求参数;
但是,这里的requestContext里面都是null;
①放数据:
通过键值对的方式来存入数据,key-value键值对的形式来存入数据;前面是key,后面是值;
②取数据:
如果别的页面存入了数据,我这个页面要拿过来调用怎么办,这时候就直接通过键(key)来取值;
很方便;(别忘了大前提,没有新的请求产生)
一般情况,如果在requestContext.globalData();附近报null的错,或者对象的size,length不能为null,那么很有可能就是没有存值,取出来的值是null,进而数据类型不匹配;要么就是取值的时候,key跟原来要取值的key对不上,不是单词拼写错误,就是大小写错误,要么就是压根忘了存值,直接取值;这个都要避免;还要注意,取出来的数据是Object类型,取出来之后,还要进行数据类型转换;
①url:请求的地址,到底去哪里获取请求的上下文;
②timeout:超时链接的上限,默认是30000ms;
③method:请求的方法,到底是GET请求,还是POST请求,到底是做自行车,还是做卡车,看具体情况定;
例如:
④requestBody():可以把其它的一些参数以字符串等的形式放入请求体中;
⑤cookies:这个是最重要的参数之一
可以用Jsoup.connect再接下面的代码:
例如:
也可以独立写:
例如:
⑥header:请求头,可以设置上下文的类型,请求携带的其它信息等,可以类比html中的
例如:
⑦globalData():最重要的方法之一,用来传递参数,上面讲了好多,这里参照上面即可;
⑧requestDatas():自己百度下;
没有新的请求,
没有新的请求,
没有新的请求;
重要的事情说三遍~
1、RequestContext;
我们只有通过登录,才能获取从页面拿过来的请求上下文(RequestContext):RequestContext requestContext = securityLogin.login(info);
info是我们登录需要传递的参数,这里的Info是一个对象,包括账户和密码;你也可以自己写一个方法,把账户和密码分别传进去,然后做模拟登录;这样,登录过的requestContext才能有实质性的东西;
否则:
我们也可以创建一个新的RequestContext,来装载我们的请求参数;
RequestContext requestContext = new RequestContext();
但是,这里的requestContext里面都是null;
2、globalData();
requestContext里面有一个非常重要的方法,就是globalData(),这里我们可以通过它来传递参数,这个也是本帖子的核心;顾名思义,globalData,全局数据,就是同一个请求中的数据,都可以互通往来;①放数据:
requestContext.globalData("name",name);
通过键值对的方式来存入数据,key-value键值对的形式来存入数据;前面是key,后面是值;
②取数据:
如果别的页面存入了数据,我这个页面要拿过来调用怎么办,这时候就直接通过键(key)来取值;
requestContext.globalData("name");
很方便;(别忘了大前提,没有新的请求产生)
一般情况,如果在requestContext.globalData();附近报null的错,或者对象的size,length不能为null,那么很有可能就是没有存值,取出来的值是null,进而数据类型不匹配;要么就是取值的时候,key跟原来要取值的key对不上,不是单词拼写错误,就是大小写错误,要么就是压根忘了存值,直接取值;这个都要避免;还要注意,取出来的数据是Object类型,取出来之后,还要进行数据类型转换;
3、基本内容简介
requestContext有8个基本的内容,分别是:①url:请求的地址,到底去哪里获取请求的上下文;
②timeout:超时链接的上限,默认是30000ms;
③method:请求的方法,到底是GET请求,还是POST请求,到底是做自行车,还是做卡车,看具体情况定;
例如:
.method(Connection.Method.POST)
④requestBody():可以把其它的一些参数以字符串等的形式放入请求体中;
⑤cookies:这个是最重要的参数之一
可以用Jsoup.connect再接下面的代码:
例如:
.cookies(requestContext.cookies())
也可以独立写:
例如:
Map<String,String> cookies = response.cookies(); requestContext.cookies(cookies);
⑥header:请求头,可以设置上下文的类型,请求携带的其它信息等,可以类比html中的
<head> <meta charset="utf-8"> <title>标题</title> </head>
例如:
.header("Content-Type","application/x-www-form-urlencoded") .header("X-Requested-With","XMLHttpRequest")
⑦globalData():最重要的方法之一,用来传递参数,上面讲了好多,这里参照上面即可;
⑧requestDatas():自己百度下;
相关文章推荐
- delphi中关于使用CreateOleObject方法控制word的一些心得。将word放入到pannel中
- 关于用java编写生成word文档,动态添加数据到word文档的一些心得
- 关于Javascript的一些心得与记忆
- 关于ArcGlobe动画的一些心得
- 关于学习JavaScript 的 高三编程 一些心得(三)
- 关于微软的OWA服务器搭建的一些心得
- 关于在非托管应用中访问托管代码一些心得
- 关于MSSQL2000导入导出的一些心得
- 关于MVC的一些小心得
- 关于request和response的一些知识
- 关于Ztree的一些使用心得
- 关于比赛的一些心得(别的大牛),谨在此转载
- 关于近来学习linux的一些心得
- 关于 Android 混淆的一些心得
- 关于小改CF协同过滤至MapReducer上的一些心得
- 关于windows句柄机制的一些心得体会
- 关于用户界面和易用性测试的一些心得
- 关于phpcms操作数据库的一些心得
- 关于分布式系统的一些学习心得-笔记
- 关于YunFile网盘的一些使用技巧与心得