⑴ 如何用request获得a标签中的数据
request只能过去表单里的数据,你可以在<a>标签外建立个<form>标签,然后在<form>标签里设置个<input type="hide" value="xxx">把<a>标签的值赋给<input>标签,然后提交就可以了。如果你在用Ajax框架,那么这个问题就更好解决了。如果没学,建议你先看看Ajax技术。
⑵ C #里的request如何获取数据库中表中的记录
首先需要说明,在C#中REQUST有两种.
1. 位于System.Web.HttpRequest是封装浏览器对服务器的请求的,主要用在ASP.NET中,其中包括浏览器请求的网址,查询字符串数据或表单数据等等.
所以一般将System.Web.HttpReques中的Request通常都简称为request,即:"请求",有"请求"就有"响应(response)".
在实际开发中,最常见的使用方法就是在ASP.NET中利用request对像用于获取FORM中各种控种的值,或者用于接收URL传参时的值.无法用来获取数据库或虚拟表中的记录.
注:FORM中各种控件的值可以是用户输入,或者从数据库中取出来的数据绑定.
例如:
Request.Params["string型参数名"],Request.QueryString["string型参数名"]用于获取URL传参时某个参数的值.
Request.Form["控件名称"]用于获取服务端控件FORM中的各种控件的值.
2.位于System.Net.HttpWebRequest则是用来简化网络请求的过程,从服务器上获取文件/结果的,譬如你可以在代码中用这个类冒充浏览器(设置一个UserAgent)来发请求,处理回应
这里的Rquest通常用于请求获取服务端的各种文件数据流,例如在程序中点里某个按扭将服务器上的某个地址的文件下载到本地硬盘.这个request在使用时由先创建一个对像实例.
例如:
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("下载地址,比如说某个网址") 首先创建REQUEST对像,
request.GetResponse().GetResponseStream()创建完成后就可以通过它来获取流中的数据了,然后将获取的数据交给System.IO.Stream的实例对像,就可以对需要下载的数据流进行处理了.
同样,它也有一个与之相匹配的RESPONSE响应对像.这里就不再说明了...
这种问概念性的问题记着多看看书就能找到明确的答案.
以后不要再问这么没水平的问题了.会闹出笑话的...
至于System.Web.HttpRequest与System.Net.HttpWebRequest具体的区别,以后从书上给抄了一段内容:
HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。
不要使用 HttpWebRequest 构造函数。使用 WebRequest.Create 方法初始化新的 HttpWebRequest 对象。如果统一资源标识符 (URI) 的方案是 http:// 或 https://,则 WebRequest.Create 返回 HttpWebRequest 对象。
可以使用 BeginGetResponse 和 EndGetResponse 方法对资源发出异步请求。BeginGetRequestStream 和 EndGetRequestStream 方法提供对发送数据流的异步访问。
如果在访问资源时发生错误,则 HttpWebRequest 类将引发 WebException。WebException.Status 属性包含指示错误源的 WebExceptionStatus 值。
HttpWebRequest 将发送到 Internet 资源的公共 HTTP 标头值公开为属性,由方法或系统设置;下表包含完整列表。可以将 Headers 属性中的其他标头设置为名称/值对。注意,服务器和缓存在请求期间可能会更改或添加标头。
下表列出了由属性或方法设置或由系统设置的 HTTP 标头。
System.Web.HttpRequest是封装浏览器对服务器的请求的,主要用在ASP.NET中,其中包括浏览器请求的网址,查询字符串数据或表单数据等等
而System.Net.HttpWebRequest则是用来简化网络请求的过程,从服务器上获取文件/结果的,譬如你可以在代码中用这个类冒充浏览器(设置一个UserAgent)来发请求,处理回应
第一:他们不是父子关系。
第二:Syste.Net.HttpWebRequest类是System.Net.WebRequest抽象类的一个子类,它是.NET Framework的用于访问Internet数据的请求/响应模型的抽象基类。使用该请求/响应模型的应用程序可以用协议不可知的方式从Internet请求数据。在这种方式下,应用程序处理 WebRequest类的实例,而协议特定的子类则执行请求的具体细节。
System.Net.HttpWebRequest类和System.Net.FileWebRequest都继承了WebRequest
1、FileWebRequest类为使用file:// 方案来请求本地文件的URI实现WebRequest抽象基类。
2、HttpWebRequest类对WebRequest中定义的属性和方法提供支持,也对使用户能够直接与使用HTTP的服务器交互的附加属性和方法提供支持。
第三:System.Web.HttpRequest类使ASP.NET能够读取客户端在Web 请求期间发送的 HTTP值,HttpRequest类的方法和属性通过HttpApplication、HttpContext、Page 和 UserControl类的Request属性公开。
所以使用System.Web.HttpRequest类的时候其实都是利用HttpApplication、HttpContext、Page和UserControl类的Request属性。而使用System.Net.HttpWebRequest类时是为了获得一个Uri资源。自己创建。
System.Web 命名空间提供使得可以进行浏览器与服务器通信的类和接口。此命名空间包括 HttpRequest 类(用于提供有关当前 HTTP 请求的广泛信息)、HttpResponse 类(用于管理对客户端的 HTTP 输出)以及 HttpServerUtility 类(用于提供对服务器端实用工具与进程的访问)。System.Web 还包括用于 Cookie 操作、文件传输、异常信息和输出缓存控制的类。
System.Net 命名空间为当前网络上使用的多种协议提供了简单的编程接口。WebRequest 和 WebResponse 类形成了所谓的可插接式协议的基础,可插接式协议是网络服务的一种实现,它使您能够开发出使用 Internet 资源的应用程序,而不必考虑各种不同协议的具体细节。
⑶ 使用request对象获取数据的方法
在表单中form 下的action提交到什么地方(一般是到一个servlet里面),在那个.Java文件里用request.getParameter() 方法来得到表单中输入的数据。例如:
<form action="servlet/Login" method="get">
用户名:<input type="text" name="username" /><br>
密码:<input type="password" name="password"><br></form>
那么在Login.java中得需要String username=request.getParameter("username");和
String password = request.getParameter("password")来得到输入的用户名和密码
注意:getParameter()方法括号中要和表单中这两个的name相对应才行
⑷ 如何获得request中的全部参数
三个方法:
1、request.QueryString("参数")//获取指定参数,返回字符串;
2、request.QueryStrings();//获取全部参数,并返回数组;
3、request.setQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。
例如:
当前地址栏参数字符串为:?name=a&site=never_online
alert(request.setQuery("name","blueDestiny"))
如果地址栏参数中有"name",那么返回?name=blueDestiny&site=never_online
setQuery方法有自动追加参数的功能。如:
当前地址栏参数字符串为:?site=never_online
alert(request.setQuery("name","blueDestiny"))
则返回?site=never_online&name=blueDestiny
同理,如果地址栏没有参数,也会自动追加参数
alert(request.setQuery("name","blueDestiny"))
返回?name=blueDestiny
<SCRIPT LANGUAGE="JavaScript">
<!--
// author: never-online
// web: never-online.net
var request = {
QueryString : function(val) {
var uri = window.location.search;
var re = new RegExp("" +val+ "\=([^\&\?]*)", "ig");
return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
},
QueryStrings : function() {
var uri = window.location.search;
var re = /\w*\=([^\&\?]*)/ig;
var retval=[];
while ((arr = re.exec(uri)) != null)
retval.push(arr[0]);
return retval;
},
setQuery : function(val1, val2) {
var a = this.QueryStrings();
var retval = "";
var seted = false;
var re = new RegExp("^" +val1+ "\=([^\&\?]*)$", "ig");
for(var i=0; i<a.length; i++) {
if (re.test(a[i])) {
seted = true;
a[i] = val1 +"="+ val2;
}
}
retval = a.join("&");
return "?" +retval+ (seted ? "" : (retval ? "&" : "") +val1+ "=" +val2);
}
}
alert(request.setQuery("e","b"))
//-->
</SCRIPT>
⑸ 怎么从request中取到数据
用request.getAttribute获取,而不是getParameter。
(1)HttpServletRequest接口有setAttribute()方法,而没有setParameter()方法
(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,
String datetime1 = (String)request.getAttribute("datetime");
⑹ java中如何用request获得一个列表传来的值
步骤如下:
1、在web工程里面创建一个Servlet类,继承HttpServlet,重写doPost,doGet方法,在doPost方法中调用doGet方法;
2、在doGet方法中把要设置到jsp页面的值存到request中;
3、在doGet方法中添加转发到jsp页面的代码;
4、在jsp页面中使用jstl标签获取存入的值。
事例代码如下:
Servlet类:
public class DemoServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("name", "nameValue");
request.getRequestDispatcher("/demo.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Demo</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
${name }
</body>
</html>
其中,<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>表示导入jstl标签库,没导入的话无法使用jstl标签,使用jstl标签可以减少很多代码量,导入jstl标签后就可以通过使用${}的方法来获取值了。