淺談B/S客戶端與伺服器端互動資料(一)
淺談Web資料互動(一)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
C/S模式和B/S各有其有點也各有其缺點,B/S模式在開發中需要考慮資料如何從客戶端提交到伺服器端,資料又如何返回到客戶端,這些是B/S模式所特有的,在去年之前,開發B/S模式的程式,我都是利用form來互動資料,當我看到XML之後,發現XML是個好鼕鼕,有很多優點,有好的東西當然不能獨享啦,想當年為了實現XML互動資料,幾乎把網路翻了個遍。咚,一塊磚頭上來了。呵呵,廢話少說,下面我們就進入正題。
B/S模式分為伺服器端和客戶端,客戶端接受使用者的請求,客戶端嚮應用服務提出請求,應用服務從資料庫服務中獲得資料,應用服務將資料進行計算並將結果提交給客戶端,客戶端將結果呈現給使用者。這樣,我們就看到了資料從客戶到伺服器,經過伺服器的處理再返回到客戶端,由客戶端軟體(如
(以ASP教本語言為例,其它的語言一樣哈。)
1.Form方式
Form方式是最基本的向伺服器提交資料的方式。
test.asp檔案程式碼:
<%@ Language=VBScript %>
<%
Response.Expires=-1
Response.CharSet="UTF-8"
Session.CodePage="65001"
%>
<form name="frmTest" id="frmTest" action="test.asp" method="POST">
<input name="name" id=" name" type="text" value="">
<input type="hidden" name="number" id="number" value="10">
<input type="submit" value="Submit" name="B1">
</form>
<%
dim intnumber
dim strname
if IsEmpty(Request("name")) then
strname =""
else
strname =Request("name")
end if
if IsEmpty(Request("number")) then
intnumber =0
else
intnumber =Request("number")
end if
Response.Write("<br>")
Response.Write("You input name is:" & strname)
Response.Write("<br>")
Response.Write("Hidden number value is:" & intnumber)
%>
此段程式碼完成了從客戶端輸入資料,然後通過Form提交到伺服器端,伺服器頁面接收到資料後將資料傳送到客戶端顯示的過程。
下面解釋一下此段程式碼:
<form name=”frmTest” id=”frmTest” action=”test.asp” method=”POST”>
</form>
此程式碼之間的為一個提交域,當這個form提交的時候,其中的資料都提交到伺服器端。其中action為提交資料給的頁面,也就是接受form資料的頁面,這裡為頁面本身,當然也可以為其它頁面。
method為提交的方式
<input name=”name” id=” name” type=”text” value=””>
此程式碼為一個輸入框,<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
<input type="hidden" name="number" id=" number " value="0">
此程式碼為一隱藏value,不會在頁面上顯示,用來儲存一些資料。
當<input type="submit" value="Submit" name="B1">按鈕按下去的時候,form就向伺服器資料。伺服器端的指令碼
if IsEmpty(Request("name ")) then
strname =””
else
strname =Request("name ")
end if
Request("name ")取得提交的form中的name為name的欄位的值。
2.URL方式
具體的做法就是通過URL位址列傳遞資料到伺服器端。
還是命名為test.asp
<%@ Language=VBScript %>
<%
Response.Expires=-1
Response.CharSet="UTF-8"
Session.CodePage="65001"
%>
<a href="./test.asp?name=youname&number=10">Go</a>
<%
dim intnumber
dim strname
if IsEmpty(Request("name")) then
strname =""
else
strname =Request("name")
end if
if IsEmpty(Request("number")) then
intnumber =0
else
intnumber =Request("number")
end if
Response.Write("<br>")
Response.Write("You input name is:" & strname)
Response.Write("<br>")
Response.Write("Hidden number value is:" & intnumber)
%>
<a href="./test.asp?name=youname&number=10">Go</a>
該超連線指向./test.asp,就是本身,當然也可以指向其它檔案,?表示開始傳遞的引數。
引數name賦值yourname,不同引數之間通過&連線
通過該圖和上圖的比較,我們可以發現通過url傳遞資料會在瀏覽器的url中顯示出來,這樣使用者就能看到我們是如何提交資料的,當然也可以直接修改url裡面的值來傳遞引數了。
注意:通過url傳遞引數,url需要進行編碼,否則可能得到的是亂碼。
相關推薦
淺談B/S客戶端與伺服器端互動資料(一)
淺談Web資料互動(一)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 追風 C/S模式和B/S各有其有點也各有其缺點,B/S模式在開發中需要考慮資料如何從客
vue 與 json-server 新增資料 (一)
列表頁server.vue <!-- 按鈕 --> <div class="tj"> <span class="demonstration">ID</span> <el-input class="int-1" v-mode
系統分析與設計 -- 淺談B/S 架構與C/S架構
關於B/S架構與C/S架構之間異同的文章,相信有很多是寫得十分全面的,如這裡。 這篇文章將從純小白的角度,以最快的時間講解其本質與差異。 歸根結底,便是下面這幅圖: C/S架構的特點是在S端有C端的app映象,兩者是意義繫結的。其就是我們移動app的模式
Socket-tcp協議客戶端與伺服器端互聯
客戶端 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.T
zookeeper叢集的客戶端與伺服器端
zookeeper服務端命令: 啟動命令:sh zkServer.sh start 停止命令:sh zkServer.sh stop zookeeper客戶端命令: 啟動命令:sh zkCli.sh 連線其他客戶端:sh zkCli.sh -server ip:port  
php 客戶端與伺服器端安全與破解
一般的加密和授權:轉發伺服器(代理伺服器) 解決方案:hhvm編譯程式碼 放扒取: js類 1:防止滑鼠右鍵事件,在html->body <body oncontextmenu=self.event.returnValue=false> 或
APP(Android版)客戶端與伺服器端時間校準
APP開發人員經常會遇見一個bug就是,APP顯示的時間不準,或者說APP時間與伺服器時間不一致,會導致資料請求、資料顯示等各種問題。這時候我們就需要一種機制來解決時間不一致的問題。 解決方案如下: 1.伺服器端永遠使用UTC時間,包括引數和返回值,不要使用Date格式,而是使用UT
java socket:客戶端與伺服器端通訊
Socket:網路上兩個程式通過一個雙向的通訊連線實現資料交換,連線的一段為一個socket,要實現兩個程式的資料交換一般要一對socket。 這個定義參考自百度百科,我覺得說的還不錯,另外,socket的英文有‘插口’的意思,其實也可以理解為程式的插口等等。
客戶端與伺服器端建立連線的過程
一、概述 學習計算機其實就是在通曉原理的基礎上藉助實踐驗證想法。王陽明的“知行合一”用在計算機上,也是十分的貼切。這裡先說明兩個概念 Socket、TCP。 “交流”讓智人走上食物鏈的頂端。計算機網路的發展讓交流變得更加便利,同時也促進交流技術的發展。如果有兩個網友想送
android客戶端與伺服器端互動 如何保持session
最近在開發專案的過程中,遇到android與web伺服器要在同一session下通訊的問題。 在解決問題前先回顧下Session與Cookie: Cookie和Session都為了用來儲存狀態資訊,都是儲存客戶端狀態的機制,它們都是為了解決HTTP無狀態的問題而所做
通俗易懂客戶端與伺服器端互動原理(HTTP資料請求與HTTP響應,包括Servlet部分)
經常看到HTTP客戶端與伺服器端互動原理的各種版本的文章,但是專業術語太多,且流程過於複雜,不容易消化。於是就按照在 Servlet 裡面的內容大致做了一些穿插。本來 連 Tomcat 容器 和 Servlet 的生命週期也準備在這裡一起寫的,但怕過去龐大,於是就簡單的 引用
客戶端與伺服器端互動原理簡述
Web 瀏覽器(客戶端)中請求一個地址時,通過HTTP協議向伺服器端傳送一個請求(request),伺服器端收到請求後,在Servlet中根據請求時的方法(method) 的設定get/post來響應doGet()/doPost()方法進行處理,由respons
node建立客戶端與伺服器端(HTTP)
Transfer-Encoding: chunked 在我用telnet登入伺服器的時候,伺服器返回資訊如下。 其中,我們看到這樣一條相應–Transfer-Encoding: chunked。Transfer-Encoding頭資訊的預設值是c
Android 客戶端與伺服器端進行資料互動(一、登入伺服器端)
概要 安卓APP要實現很多功能(比如登入註冊、發表評論等)時都必須要使用到網路資料互動。所以在學習了這部分內容後,就將其以最常見的登入過程為例整理出來,也方便跟我一樣的新手能迅速學習上手。 預期效果圖如下,輸入手機號和密碼,點選Login按鈕,上傳資料到伺
Java Socket通訊 客戶端與伺服器端的連線 和資訊傳輸
一.建立客戶端和伺服器端的連線。 方法分2步: 1.在客戶端建立Socket物件,用來發送連線請求 2.在伺服器端穿件ServerSocket物件,用來接收請求。 //客戶端 public clas
Android客戶端與伺服器端的json資料互動(很詳細)
Android客戶端與伺服器端的json資料互動,主要是通過json形式的資料互動,就是json的寫入和解析。 先看效果圖,我最討厭講東西,一個圖沒有的。 算了,看來我不是寫部落格的材料,寫不下去了,要排版之類的麻煩,大家還是直接去下載原始碼,裡面有大量的注
Netty實戰(1)使用Netty搭建一個簡單的客戶端與伺服器的互動Demo
Netty 是一個基於 JAVA NIO 類庫的非同步通訊框架,它的架構特點是:非同步非阻塞、基於事件驅動、高效能、高可靠性和高可定製性。換句話說,Netty是一個NIO框架,使用它可以簡單快速地開發網路應用程式,比如客戶端和服務端的協議。Netty大大簡化了網
配置ntp客戶端與伺服器端時間的同步
1,實驗機器介紹 Ip地址 伺服器1 192.168.245.128 伺服器2 192.168.245.130 客戶端1 192.1
SVN:客戶端與伺服器端安裝、配置與使用
SVN(SUBVERSION) 前言: SVN是Subversion的簡稱,是一個開放原始碼的版本控制系統,說得簡單一點SVN就是用於多個人共同開發同一個專案,共用資源的目的。類似的工具號有git(github是其應用)。 環境:ubuntu 16.4 客戶端:w
客戶端與伺服器端時間保持一致
一、問題描述 需要解決的問題很簡單,就是如何在頁面上比較準確的顯示伺服器時間。目前比較常用的方法就是根據基準時間使用setTimeout或 setInterval來計算最新的時間,這樣的問題在於setTimeout與setInterval的時間精度比較低,經測試一分鐘大概能相差幾秒 (與電腦效能以及執行