知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >
若只如初見——WEB/BS開發(fā)必備基礎(chǔ)知識
發(fā)表時間:2012-5-23
發(fā)布人:葵宇科技
瀏覽次數(shù):43
- 疑惑
- 與C/S的不同
- 數(shù)據(jù)傳遞機制
- WEB特有屬性
- 前臺與后臺的定義
- 示例
- 數(shù)據(jù)傳遞機制
- Response和Request
- 服務(wù)端控件
- IsPostBack
- 文尾
疑惑
話說接觸web開發(fā)有一段時間了,習慣于以前的C/S,理解起B(yǎng)/S中一些概念還是有些困難,例如最常用的Ispostback、客戶端與服務(wù)端的交互以及ASP.NET中的一些獨有屬性。
與C/S的不同
B/S(Browser/Server,瀏覽器/服務(wù)器模式),由于瀏覽器是現(xiàn)在最常用的軟件,這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護和使用,瀏覽器通過Web Server同數(shù)據(jù)庫進行數(shù)據(jù)交互。C/S(Client/Server,客戶機/服務(wù)器) ,是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過將任務(wù)合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,需要安裝客戶端才可進行管理操作。
C/S和B/S的不同之處還很多,各有優(yōu)劣,在此不一一介紹。從部署上說,都是服務(wù)端/客戶端組成,只不過是一個是必須和服務(wù)端軟件一一對應(yīng),另外一個的客戶端是瀏覽器而已。但正是這個貌似簡單的不同,讓安百般理解不通。
數(shù)據(jù)傳遞機制
這點也是對web系統(tǒng)中非常重要但是又讓安“迷?!钡囊粋€原因,C/S的容易理解,數(shù)據(jù)在客戶端形成數(shù)據(jù)包通過協(xié)議傳給服務(wù)端,雖然B/S原理也是如此,但是因為前后臺代碼在同一個界面,也讓俺甚是不解。
web特有屬性
這個也不用說,什么session、Request、Response、表單、ispostback等。
這些都是想要跨入web開發(fā)必須掌握的基礎(chǔ)知識,一下用幾個簡單明了的示例結(jié)合圖片對這些疑惑稍作解答。
前臺與后臺的定義
前臺與后臺,這定義在C/S中可木有,因為我們一般做例子都在同一臺機器,理解不出來,在我看來,所謂前臺就是界面,即以后會生成html
示例
數(shù)據(jù)傳遞機制
先看一幅簡單明了的圖片:
其中上面的主機代表服務(wù)器,下面的顯示器代表瀏覽器,箭頭代表傳遞方向,數(shù)字代表傳遞順序。數(shù)據(jù)傳遞流程是這樣的:
1、首先是用瀏覽器發(fā)出訪問請求,就像是你輸入網(wǎng)址(例如http://www.aiting.tk)請求訪問該網(wǎng)址。
2、然后在服務(wù)器處理該命令,生成html頁返回給瀏覽器。
3、瀏覽器收到html頁后,要進行下一步操作,比如說點擊某個按鈕,把操作及數(shù)據(jù)回發(fā)(下面理解ispostback會使用到)給服務(wù)器。
4、如果有必要,服務(wù)器判斷是否是回發(fā)信息選擇不同的處理方法,處理完后再向瀏覽器返回一個html頁。
5、瀏覽器顯示處理后的html頁,至此一個數(shù)據(jù)傳遞流程完成。
需要說明的是,瀏覽器上顯示的信息和服務(wù)端控件,貌似是你一點就會有反饋,其實你看到的只是一個靜態(tài)的html頁,真正的數(shù)據(jù)和處理都需要服務(wù)器來執(zhí)行。
Response和Request
這兩個概念也是像安這樣初學者認為難啃的硬骨頭,我們同樣以一幅簡單易懂的圖片來解釋:
左面這幅圖是瀏覽器顯示的靜態(tài)html頁,右面的是服務(wù)器的aspx頁,細心點從地址欄就能看出來。其實我們"斷章取義"就能看出這兩個概念的大致作用。Request(請求)是將信息從瀏覽器發(fā)送給服務(wù)器;Response(響應(yīng))是將信息由服務(wù)器發(fā)送給給瀏覽器。我們上面的客戶端與服務(wù)端數(shù)據(jù)傳遞流程再解釋一次:
1、首先,瀏覽器輸入想要訪問的地址。
2、服務(wù)器接收到該相應(yīng),處理后發(fā)送給瀏覽器一個含有“姓名”、“國家名稱”和“提交”按鈕的html頁面。
3、瀏覽器出現(xiàn)該html頁面后,用戶輸入“Ritcha”和“USA”,點擊“提交”按鈕。
4、服務(wù)端收到回發(fā)的數(shù)據(jù)后,命令頁面顯示“您好,Ritcha,歡迎使用ASP.NET!”。
IsPostBack
IsPostBack,意為瀏覽器回發(fā)給服務(wù)器。在web開發(fā)中,IsPostBack 的使用比不可少,雖然用起來也非常簡單,但是理解起來卻是有點難度,尤其是對安這用思維邏輯甚是簡單的人。上面提到數(shù)據(jù)在服務(wù)器和瀏覽器之間傳遞時,服務(wù)端會判斷是否是回發(fā)信息,進而選擇處理的方式,這個在很多情況下是必要的,例如Page_Load頁面加載,如果每次刷新頁面都需要重新綁定,會浪費不必要的軟硬件資源,這時可以判定是否是回發(fā)頁面進而決定是否重新綁定。下面用簡單的例子說明IsPostBack 的作用。
不使用IsPostBack時:
前臺界面:
后臺代碼:
protected void Page_Load(object sender, EventArgs e)
{
txtUserName.Text = "";//清空用戶名
txtPWD.Text = ""; //清空密碼
}
protected void Button1_Click(object sender, EventArgs e)
{
if (txtPWD .Text =="a" && txtUserName .Text=="a")
{
//賬號密碼均正確則登錄成功
Response.Write("登錄成功");}
else
{
//否則登錄失敗
Response.Write ("登錄失敗");
}
}
運行結(jié)果:
結(jié)果分析:Page_Load事件會把用戶名和密碼清空,即使按F5刷新,也會登錄失敗,這是因為每次點擊Login按鈕都會執(zhí)行Page_Load時間,所以會一直登錄失敗。
使用 IsPostBack:
前臺界面相同,后臺代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack )//如果不是回發(fā)頁面則執(zhí)行以下代碼
{
txtUserName.Text = "";//清空用戶名
txtPWD.Text = ""; //清空密碼
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (txtPWD .Text =="a" && txtUserName .Text=="a")
{
//賬號密碼均正確則登錄成功
Response.Write("登錄成功");}
else
{
//否則登錄失敗
Response.Write ("登錄失敗");
}
}
運行結(jié)果:
結(jié)果分析:因為在Page_Load里面加入了IsPostBack驗證,首次加載的作用是清空原有的“txtUserName”和“txtPWD”,相當于填寫賬戶密碼的界面是回發(fā)頁面,不需要清空用戶名和密碼,所以登錄成功。我學的時候教程解釋的是是否第一次加載頁面,實際上是一樣的:是回發(fā)則證明不是第一次加載,反之,不是回發(fā)說明這是客戶端第一次加載頁面(結(jié)合上面介紹的瀏覽器與服務(wù)器數(shù)據(jù)傳遞流程)。
服務(wù)端控件
上面我們提到,服務(wù)端的控件,只要用戶操作,不管里面有沒有方法體都會執(zhí)行,還用剛才說明IsPostBack的前臺界面,后臺代碼如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)//如果不是回發(fā)頁面則執(zhí)行以下代碼
{
txtUserName.Text = "";//清空用戶名
txtPWD.Text = ""; //清空密碼
}
else
{
//否則登錄失敗
Response.Write("登錄失敗");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
}
運行結(jié)果:
結(jié)果分析:如代碼所示,即使login按鈕的代碼為空,仍然會執(zhí)行Page_Load中的代碼,說明服務(wù)器端控件,你有動它就動。
文尾
文檔到此就要告一段路,基本上把我當時的基礎(chǔ)概念理解疑問,全部自問自答。如果哪里表達有誤,歡迎指正共同進步!
相關(guān)案例查看更多
相關(guān)閱讀
- web
- 云南電商網(wǎng)站建設(shè)
- APP
- 網(wǎng)站建設(shè)哪家強
- 百度排名
- 云南衛(wèi)視小程序
- 云南網(wǎng)站開發(fā)
- 網(wǎng)絡(luò)公司
- 云南網(wǎng)站建設(shè)首選公司
- 云南小程序開發(fā)公司推薦
- web教程
- 云南小程序開發(fā)哪家好
- 人人商城
- 汽車報廢回收管理系統(tǒng)
- 云南網(wǎng)站建設(shè) 網(wǎng)絡(luò)服務(wù)
- 小程序開發(fā)公司
- 昆明軟件定制公司
- 制作一個小程序
- 商標
- 報廢車
- 云南小程序哪家好
- 定制小程序開發(fā)
- 汽車報廢軟件
- 云南省建設(shè)廳網(wǎng)站官網(wǎng)
- 政府網(wǎng)站建設(shè)服務(wù)
- typescript
- 網(wǎng)站搭建
- 云南網(wǎng)站制作哪家好
- 文山小程序開發(fā)
- 云南小程序代建