在JSP中request对象主要哪些方法?
request这个对象不用事先宣告,就可以在JSP网页中使用,在转译为Servlet之后,它会转换为javax.servlet.http.HttpServletRequest型态的对象,HttpServletRequest对象是有关于客户端所发出的请求之对象,只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请求方法、请求参数、使用者IP等等信息。
request的主要方法:
getParameterNames():取得客户端所发出的请求参数名称.
getParameter():可以让您指定请求参数名称,以取得对应的设定值.
getServerName():请求的服务器.
getProtocol():使用协议.
getMethod():请求方法.
getServerPort():请求端口号.
getContextPath():Context路径.
getServletPath(): Servlet路径.
getRequestURI():URI路径.
getQueryString():查询字符串.
getRemoteAddr():使用者主机IP.
getRemotePort():使用者使用端口号.
例子:
对应的信息为:
请求的服务器: localhost
使用协议: HTTP/1.1
请求方法: GET
请求的端口号: 8080
Context路径: /myjsp
Servlet路径: /requestdemo.jsp
URI路径: /myjsp/requestdemo.jsp
查询字符串: name=john&nick=
使用者主机IP: 127.0.0.1
使用者使用端口号: 1060
ASP中的Request 对象
Request 对象
可以使用 Request 对象访问任何基于 HTTP 请求传递的所有信息,包括从 HTML 表格用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。
Request 对象使您能够访问客户端发送给服务器的二进制数据。
Request 的语法 :
Request[. 集合 | 属性 | 方法 ]( 变量 )
在这里作者将挑选一些常用的对象语法进行分析
1、Form
Form 集合通过使用 POST 方法的表格检索邮送到 HTTP 请求正文中的表格元素的值。
语法
Request.Form(element)[(index)|.Count]
参数
element 指定集合要检索的表格元素的名称。
index 可选参数,使用该参数可以访问某参数中多个值中的一个。
它可以是 1 到 Request.Form(parameter).Count 之间的任意整数。
Count 集合中元素的个数
Form 集合按请求正文中参数的名称来索引。
Request.Form(element) 的值是请求正文中所有 element 值的数组。
通过调用 Request.Form(element).Count 来确定参数中值的个数。
如果参数未关联多个值,则计数为 1。
如果找不到参数,计数为 0。
要引用有多个值的表格元素中的单个值,必须指定 index 值。
index 参数可以是从 1 到 Request.Form(element).Count 中的任意数字。
如果引用多个表格参数中的一个,而未指定 index 值,返回的数据将是以逗号分隔的字符串。
可以使用重述符来显示表格请求中的所有数据值。
例如,用户通过指定几个值填写表格,见下图。
对于 hobby 参数,您可以使用下面的脚本检索这些值。
< html>
< head>< title>< /title>< /head> < body>
< p> 请填写你的爱好 < /p>
< form method="POST" action="form.asp">
< p>< input type="text" name="hobby" size="20">< br>
< input type="checkbox" name="hobby" value=" 足球 "> 足球 < input type="checkbox" name="hobby" value=" 乒乓球 "> 乒乓球 < /p>
< p>< input type="submit" value=" 发送 " name="B1">< input type="reset" value=" 重填 " name="B2">< /p>
< /form>
< % For Each i In Request.Form("hobby") Response.Write i & "< BR>" Next %>
< /body>< /html>
将以上代码剪贴到记事簿中(注意将“< ”后面的空格去掉),保存为 form.asp 文件并运行,request 对象可以根据你在 form 中填入或选择元素内容的不同将元素逐个显示出来。
当然使用 For...Next 循环也可以生成同样的输出,如下所示 :
< %
For i = 1 To Request.Form("hobby").Count<
Response.Write Request.Form("hobby")(i) & "< BR>"Next<
%>
【ASP中,Request 对象获取数据的3种方法:】
1.Request.Form:获取以POST方式提交的数据(接收Form提交来的数据);
2.Request.QueryString:获取地址栏参数(以及以GET方式提交的数据)
3.Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍。
而且有时候也会得到不同的结果。
如果你仅仅是需要Form中的一个数据,但是你使用了Request而不是Request.Form,那么程序将在QueryString、ServerVariable中也搜寻一遍。
如果正好你的QueryString或者ServerVariable里面也有同名的项,你得到的就不是你原本想要的值了。
|
Request对象集合
展开全部
1,Request.ClientCertificate 当客户端访问一个页面或其它资源时,用来向服务器表明身份的客户证书的所有字段或条目的数值集合,每个成员均是只读。
(用于检索存储在发送到HTTP请求中客户端证书中的字段值)
例:
If Len(Request.ClientCertificate("Subject")) = 0
Response.Write("客户段验证不存在")
End if
%>
此例使用Subject关键字测试客户端验证是否存在
2,Request.Cookies
根据用户的请求,用户系统发出的所有Cookier的值的集合,这些Cookie仅对相应的域有效,每个成员均为只读。
(用于检索在HTTP请求中发送的Cookie的值。
)
例:
response.cookies("CookieName").Expires=date+60
Dim CookieStr
CookieStr=request.cookies("CookieName")
response.write CookieStr
%>
第一行:写一个名字为“CookieName”的Cookies,内容为“Cookie Content”
第二行:保留时间为60天
第四行:取得该Cookies的值,下一行打印
3,form
METHOD的属性值为POST时,所有作为请求提交的段中的HTML控件单元的值的集合,每个成员均为只读。
(用于检索HTTP请求正文中表单元素的值。
)
sub.htm:注意方法是POST
demo.asp:
TextCon=request.form("Content")
response.write TextCon %>
4,QueryString 表单信息通过get方式发送时,服务器端或另一个asp页面就使用querystring方法接收。
(用于检索HTTP查询字符串中变量的值。
)
sub.htm:注意方法是GET
demo.asp:
TextCon=request.querystring("Content")
response.write TextCon %>
此例中,你不用sub.HTM,在地址栏中输入demo.asp?content=演示Querystring看看。
request.form可不能这样做。
5,SeverVariables 随同客户端请求发出的HTTP报头值,以Web 服务器的几种环境变量的值的集合,每个成员均为只读。
(用于检索预定的环境变量的值。
)
例:
常见的该对象使用方法可以参考相关ASP书籍,一般都有详细描述。
简单阐述Response对象 Request对象 Session对象和Application对象的功能。
5.2 request对象 request对象是javax.servlet.HttpServletRequest 子类的对象,当客户端请求一个JSP页面时,JSP 容器会将客户端的请求信息包装在这个request对象中请求信息的内容包括请求的头信息(Header)、 系统信息(比如:编码方式)、请求的方式
(比如:GET或POST)、请求的参数名称和 参数值等信息
request对象的方法
getAttribute(String str)
getCookies()
getHeader(String str)
getParameter(String str)
getParameterValues(String str)
实例: requestApp1.jsp
request对象获得表单数据get与post区别 实例:userRegist1.jsp返回页首 5.3 response对象 response对象response对象提供跟多方法和JSP进行交互,主要用到有:addCookie(Cookie cookname)sendError(int errorcode)sendRedirect(String url)实例:sendRedirectExample1.jsp
setContentType(String contentTypestr)
setHeader(String headername,String headervalue)实例:refreshExample1.jsp
Cookie是什么Cookie是服务器上根据用户浏览器识别用户并记录一些相关信息,例如:网站能够精确地知道有多少人浏览过。
测定多少人访问过; 测定访问者有多少是新用户(即第一次来访),多少是老用户; 测定一个用户多久访问一次网站。
网站保存用户的设置,按照用户的喜好定制网页外观。
Cookie同时标注用户和浏览器,有一条极为短小的信息,能够被网站自动地放置在一台电脑
的硬盘中。
通过Cookie,网站可以识别你是第一次访问,或是又一次访问它。
在你浏览某些网站的时,网站的程序会在你不知不自觉中将一个小的 Cookie(作为一个文本文件)存储在你的硬盘中。
使用Cookie
Cookie存放在客户端,首先要建立一个Cookie,然后设置其属性,再通过response对象的addCookie()方法将其 放入客户端,获取Cookie对象可用request对象的getCookies()
方法。
创建CookieCookie(String cookiename,String cookievalue)不能用:空白字符、[]、()、=、,、“、/、?、@、:
设置与读取Cookie属性
getComments()/setComments(String purpose) getDomain()/setDomain(Stringpattern ) getMaxAge()/setMaxAge(intexpiry) getName() getPath()/setPath(Stringuri) getSecure()/setSecure(booleanflag) getValue()/setValue(StringnewValue) getVersion ()/setVersion()
Cookie操作
将Cookie加入HTTP头:Cookie usernameCookie=new Cookie(“username”,”dzycsai”);response.addCookie(usernameCookie);读取Cookie:getCookies() getName() getValue() 返回页首5.4 session对象 session对象概要其主要关键点是:HTTP是无状态(stateless)协议; Web Server 对每一个客户端请求都没有历史记忆; Session用来保存客户端状态信息; 由Web Server 写入;存于客户端; 客户端的每次访问都把上次的session记录传递给Web Server; Web Server读取客户端提交的session来获取客户端的
状态信息; session对象的方法getAttribute (String name) long getCreationTime() int getMaxInactiveInterval() long essedTime() invalidate() removeAttribute (Stringname) setAttribute(Stringname, alue)
如何使用HttpRequest对象
创建httpWebRequest对象HttpWebRequest不能直接通过new来创建,只能通过WebRequest.Create(url)的方式来获得。
WebRequest是获得一些列应用层协议对象的一个统一的入口(工厂模式)