浅谈B/S客户端与服务器端交互数据(一)

原创 2004年01月04日 10:14:00

浅谈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需要进行编码,否则可能得到的是乱码。

 

智能客户端:C/S与B/S的融合

C/S架构与B/S架构都存在不可避免的局限,而智能客户端恰好能克服它们存在的问题,提高用户满意度,降低总体拥有成本。 人们对智能客户端的关注开始于微软。事实上,自微软推出.NET战略以来,其最令...
  • zhujiaxing666666
  • zhujiaxing666666
  • 2013年07月13日 22:09
  • 1201

C/S和B/S交互

最近一直在做C/S的项目,每天都超忙,抽个时间写篇博客,之前一直做C/S项目就是各种窗体,各种控件,拖来拖去,然后点进去写方法,做BS的时候呢,因为一直使用的是mvc,所以就是经常手写代码,或者拖引用...
  • u013036688
  • u013036688
  • 2016年03月19日 11:27
  • 1634

通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分)

经常看到HTTP客户端与服务器端交互原理的各种版本的文章,但是专业术语太多,且流程过于复杂,不容易消化。于是就按照在 Servlet 里面的内容大致做了一些穿插。本来 连 Tomcat 容器 和 Se...
  • lvpin
  • lvpin
  • 2007年06月09日 18:49
  • 6733

Java通信之客户端的创建以及客户端和服务器的简单交互

Java通信之客户端的创建以及客户端和服务器的简单交互 一、客户端的创建 现在所使用的是windows自带telnet客户端,并且只能发送英文,今天我们将自己创建客户端,并让客户端和服务器进行简答...
  • BlueSky_USC
  • BlueSky_USC
  • 2017年01月14日 01:27
  • 3636

Android 客户端与服务器端进行数据交互(一、登录服务器端)

概要安卓APP要实现很多功能(比如登录注册、发表评论等)时都必须要使用到网络数据交互。所以在学习了这部分内容后,就将其以最常见的登录过程为例整理出来,也方便跟我一样的新手能迅速学习上手。 预期效果图如...
  • u012145166
  • u012145166
  • 2016年05月06日 22:48
  • 26114

客户端和服务器数据交互

客户端一次把数据取出,还是分多次来取? 有的人说把数据一次从数据库取到客户端然后在客户端任意处理效率会高。有的人说把一次性把所有数据取到客户端很耗时且数据大多没有用处最好分次处理。其实这两个说法并不矛...
  • hbxtlhx
  • hbxtlhx
  • 2007年11月14日 15:34
  • 2182

简便的B/S数据通信方式增强网页交互能力

本文阐述了在B/S客户端如何使用脚本与ASPX服务网页进行数据通信,此方式简便易行,能直接返回数据、HTML元素或脚本。后台提交页面并获得数据器端数据,可灵活地提高网页的交互能力。 请求示例 Clie...
  • PeterJin
  • PeterJin
  • 2005年03月26日 01:58
  • 678

TCP服务器和客户端交互

一、实验目的 学习和掌握Linux下的TCP服务器基本原理和基本编程方法,体会TCP与UDP编程的不同,UDP编程:http://blog.csdn.net/yueguanghaidao/art...
  • xiongping_
  • xiongping_
  • 2015年08月17日 10:52
  • 2523

【系统设计】B/S 简单商业系统License控制解决方案之一

B/S系统简单License控制 背景:            目前主流商用的系统软件都存在License控制的功能,最主要的目的是为了满足开发商的盈利,作为一种试用、销售的策略。其二 就是为了...
  • sweetyone
  • sweetyone
  • 2014年09月11日 01:19
  • 1538

web前后台数据交互的几种方式

1.利用cookie对象  Cookie是服务器保存在客户端中的一小段数据信息。使用Cookie有一个前提,就是客户端浏览器允许使用Cookie并对此做出相应的设置。一般不赞成使用Cookie。...
  • qq_35729592
  • qq_35729592
  • 2017年08月27日 15:36
  • 313
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浅谈B/S客户端与服务器端交互数据(一)
举报原因:
原因补充:

(最多只允许输入30个字)