一、 post與get提交方式的區別
1、post隱式提交,get顯示提交
2、post安全,get不安全
3、get提交資料的長度有限(255字元之內),post無限
4、get是通過url方式提交,post是通過http協議提交
什麼情況下是get提交,什麼情況下又是post提交呢?
get提交:
1)、預設的表單提交方法
2)、以""鏈結的方法提交資料
3)、直接在位址列的url中追加資料
post提交:
1)、顯示指定表單的method為post,絕大多數的表單都採用post提交.
二、jsp內建物件
2.1 out物件
out:向客戶端(或ie)輸出(列印)資料。
常用方法:
out.println("伺服器端輸出資訊傳送給客戶端(ie)");
out.write("一樣");
2.2 request物件
request作用:是與客戶端互動,收集客戶端的form、cookies、超連結,或者收集伺服器端的環境變數,程式中想獲得任何有關客戶端的資訊都必須通過request隱式物件.
常用方法:
request.getparameter("name"):獲得乙個表單元素的值,以字串形式返回,如果引數名寫錯或沒有對應的引數則返回null.
request.getparametervalues("name"):獲得多個同名表單元素的值,以字串陣列形式返回,如果引數名寫錯或沒有對應的引數則返回null。
request.setcharacterencoding("gbk"):設定請求編碼格式
request.getscheme():獲得傳輸協議
request.getservername():獲得伺服器名稱
request.getserverport():獲得伺服器端口號
request.getcontextpath():獲得應用上下文路徑
request.setattribute():往請求中提交屬性值
request.getattribute():獲得請求中的屬性值
2.3 response物件
response:封裝了伺服器回應客戶端的資料,程式中伺服器嚮往客戶端響應資料必須通過response隱式物件.
常用方法:
response.sendredirect():重定向
三、 請求處理
3.1 獲得請求引數值
採用request的常用方法:
string s=request.getparament("stu");//獲得乙個
string s=request.getparament("stu");//獲得多個
3.2 請求引數編碼格式轉換
post請求:
request.setcharacterencoding("gbk");
string s=request.getparament("stu");
get請求:
string s=request.getparament("stu");
string str=new string(s.getbytes("iso8859-1"),"gbk");
四、頁面跳轉
4.1 **
request.getrequestdispatcher("").forward(request,response);
4.2 重定向
response.sendredirect()
4.3 區別
1)、**時位址列url不變,重定向會變
2)、**時共享請求和響應,重定向不共享
3)、**時可向請求(request)提交屬性值,在被**的頁面可以訪問到
剛新增的屬性值,重定向不能訪問
4)、**侷限於當前應用中,重定向可定位到任何url
get與post提交方式的區別
在寫 過程中,get與post是兩種不同的提交方式。下面,列舉出兩種方式的不同。1.get是從伺服器上獲取資料,post是向伺服器傳送資料。2.get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過httppost機制,將表...
get與post提交方式的區別
用 curl 測試 post 請求 curl d agentcode rb s tartdate 2017 07 01 enddate 2017 09 01 provincegb 11 推薦 或 使用json格式 報錯 curl 35 ssl connect error 解決方法 yum updat...
get提交方式和post提交方式的區別
最近一次面試被問到這個問題了,自我感覺答得不好,所以整理下來加深下印象 get提交方式和post提交方式的區別?1 get是明文傳參,所有引數都在url位址列裡顯示,較不安全,而post傳參是通過request body實體 提交後位址列裡看不到引數,相對get而言較安全些。2 get傳遞的引數有限...