⑴ 如何用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標簽後就可以通過使用${}的方法來獲取值了。