Request(计算机专业术语)详细资料大全

Request(计算机专业术语)详细资料大全,第1张

request这个对象不用事先声明,就可以在JSP网页中使用,在编译为Servlet之后,它会转换为javaxservlet> 基本介绍 外文名 :Request 使用协定 :>什么是request对象

Request对象的作用是与客户端交互,收集客户端的Form、Cookies、超链接,或者收集服务器端的环境变量。

request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。

在JS中获取到request,网页地址的方法:

windowlocationhref

这里假设URL完整为:baiducom/indexhtmltest=233333

这里要取request中值的属性,可以使用正则表达式获取

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。

首先使用RegExp构造一个正则正则表达式对象

var reg = new RegExp("(^|/|&)test=([^&])(&|$)", "i");

参数

pattern             一个字符串,指定了正则表达式的模式或其他正则表达式。

attributes          可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

修饰符

i    执行对大小写不敏感的匹配。  

g    执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。  

m    执行多行匹配。  

然后使用match匹配出结果来

var match= windowlocationhrefmatch(reg);

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

参数

searchvalue    规定要检索的字符串值。  

regexp            规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。  

取出结果

match[2]

返回:233333

将它封装为一个函数

function getRequestValue(name) { 
var reg = new RegExp("(^|/|&)" + name + "=([^&])(&|$)", "i"); 
var match= windowlocationhrefmatch(reg); 
return match&&match[2]||null;
}

完整实例代码:

<html>
<head>
<title></title>
</head>
<body>
</body>
<script type="text/javascript">
function getValue(name) { 
var reg = new RegExp("(^|/|&)" + name + "=([^&])(&|$)", "i"); 
var match= windowlocationhrefmatch(reg); 
return match&&match[2]||null;
}
consolelog(getValue('test'));
</script>
</html>

通过name属性来提取,getparameter("控件的name属性");这样是拿到单个name的value值。checkbox这个控件一般是要通过getparametervalue("控件的name属性");来取值的,这个要求必须是name的名字要一样,value可以不同,它返回的是一个数组元素,该数组元素里面装的就是你需要获得的value值

答:setAttribute(Stringname,Object):设置名字为name的request的参数值

getAttribute(Stringname):返回由name指定的属性值

getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例

getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组

getCharacterEncoding():返回请求中的字符编码方式

getContentLength():返回请求的Body的长度

getHeader(Stringname):获得>

getHeaders(Stringname):返回指定名字的requestHeader的所有值,结果是一个枚举的实例

getHeaderNames():返回所以requestHeader的名字,结果是一个枚举的实例

getInputStream():返回请求的输入流,用于获得请求中的数据

getMethod():获得客户端向服务器端传送数据的方法

getParameter(Stringname):获得客户端传送给服务器端的有name指定的参数值

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例

getParameterValues(Stringname):获得有name指定的参数的所有值

getProtocol():获取客户端向服务器端传送数据所依据的协议名称

getQueryString():获得查询字符串

getRequestURI():获取发出请求字符串的客户端地址

getRemoteAddr():获取客户端的IP地址

getRemoteHost():获取客户端的名字

getSession([Booleancreate]):返回和请求相关Session

getServerName():获取服务器的名字

getServletPath():获取客户端所请求的脚本文件的路径

getServerPort():获取服务器的端口号

removeAttribute(Stringname):删除请求中的一个属性

$request = Request::instance();
// 获取当前域名
echo 'domain: ' $request->domain() '<br/>';
// 获取当前入口文件
echo 'file: ' $request->baseFile() '<br/>';
// 获取当前URL地址 不含域名
echo 'url: ' $request->url() '<br/>';
// 获取包含域名的完整URL地址
echo 'url with domain: ' $request->url(true) '<br/>';
// 获取当前URL地址 不含QUERY_STRING
echo 'url without query: ' $request->baseUrl() '<br/>';
// 获取URL访问的ROOT地址
echo 'root:' $request->root() '<br/>';
// 获取URL访问的ROOT地址
echo 'root with domain: ' $request->root(true) '<br/>';
// 获取URL地址中的PATH_INFO信息
echo 'pathinfo: ' $request->pathinfo() '<br/>';
echo 'pathinfo: ' $request->path() '<br/>';// 获取URL地址中的PATH_INFO信息 不含后缀
echo 'ext: ' $request->ext() '<br/>';// 获取URL地址中的后缀信息
echo "当前模块名称是" $request->module();
echo "当前控制器名称是" $request->controller();
echo "当前 *** 作名称是" $request->action();
echo '请求方法:' $request->method() '<br/>';
echo '资源类型:' $request->type() '<br/>';
echo '访问ip地址:' $request->ip() '<br/>';
echo '是否AJax请求:' var_export($request->isAjax(), true) '<br/>';
echo '请求参数:';
dump($request->param());
echo '请求参数:仅包含name';
dump($request->only(['name']));
echo '请求参数:排除name';
dump($request->except(['name']));
echo '路由信息:';
dump($request->route());
echo '调度信息:';
dump($request->dispatch());


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13386673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存