1. 程式人生 > >淺談B/S客戶端與伺服器端互動資料(一)

淺談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模式分為伺服器端和客戶端,客戶端接受使用者的請求,客戶端嚮應用服務提出請求,應用服務從資料庫服務中獲得資料,應用服務將資料進行計算並將結果提交給客戶端,客戶端將結果呈現給使用者。這樣,我們就看到了資料從客戶到伺服器,經過伺服器的處理再返回到客戶端,由客戶端軟體(如

IE)顯示結果。

(以ASP教本語言為例,其它的語言一樣哈。)

1Form方式

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" />CSDN_Dev_Image_2004-1-32304100.png

<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中的namename的欄位的值。

CSDN_Dev_Image_2004-1-32304102.png

2URL方式

具體的做法就是通過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,不同引數之間通過&連線

CSDN_Dev_Image_2004-1-32304104.png

通過該圖和上圖的比較,我們可以發現通過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> 或

APPAndroid版客戶伺服器時間校準

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的時間精度比較低,經測試一分鐘大概能相差幾秒 (與電腦效能以及執行