ASP.NET网页设计ASP.NET数据库编程疾速进门之手艺慨述
既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。asp.net|编程|疾速进门|数据|数据库 约莫有快要一百万名开辟职员利用了.NETFramework的第一个版原本开辟网站。以是在2003年的炎天,当从Microsoft传出将有新版本公布的传说风闻时,很多人的耳朵都竖了起来,这个新的版本将使得创立ASP.NET页面所需的代码行数削减70%。像如许年夜范围的进步临盆效力在程序计划中是未几见的。当ASP.NET2.0的代码样例在2003年秋的Microsoft专业开辟职员年夜会(MicrosoftProfessionalDeveloper’sConference)演出示时,了局比估计的还要好。之前利用ASP.NET的第一个版本程序员必要消费几个小时才干做出的页面,如今利用ASP.NET2.0只必要几分钟就完成了。复杂来讲,在.NETFramework2.0终极版本公布以后,任何持续利用第一个版本创立ASP.NET页面的程序职员都将消费大批的分外工夫才干到达不异的了局。大概就像其他任何范畴一样,ASP.NET2.0所供应的上风是可以便利地将数据集成进页面。程序员不再必要晓得具体的毗连、命令和数据浏览器和数据适配器工具,就可以实行一般数据义务了。关于初学者把握才能,ASP.NET2.0使得基础数据的利用复杂易学,而且有才能举行更庞大的数据使用。
.NETFramework
Microsoft开辟出了作为基础道理的.NET和一系列手艺,用于在互联网中让盘算机配合事情。总的方针就是让信息和历程在年夜局限的体系和设备之间顺畅地交换。.NET不是一种言语,也不是一个出格的产物。更切实地说,它是一套尺度和标准,并已使用于自2002年以来Microsoft公布的一切产物中。
.NET包括了一种利用开放尺度的XML格局互换信息的尺度化格局。可扩大标志言语(ExtensibleMarkupLanguage,XML)不必要哀求者具有任何有关数据存储怎样保留信息的专门常识――数据都以自形貌的XML格局掏出。一样地,今朝几近一切的数据存储都能够用XML来供应信息,这关于一切.NET数据客户都具有吸引力。
.NET撑持软件的WebServices尺度,可哀求在利用了开放平台尺度的复杂工具会见协定(SimpleObjectAccessProtocol,SOAP)和XML的远程软件上运转代码。.NET网站能够从别的一个网站上找到该网站所供应的服务,并利用这些服务。如许可使得网站从其他的网站上取得HTML、盘算后的了局大概数据集。
作为.NET初步的一部分,Microsoft公布了一套运转时编程工具和使用编程接口(API),称为.NETFramework,闪开发团队可以创立.NET使用程序和XMLWebServices。.NETFramework由大众言语运转库(CommonLanguageRuntime,CLR)和一套一致的类库构成。
CLR为运转的使用程序供应了一个完整办理的实行情况,个中包含几个服务,比方程序集装载和卸载、历程和内存的办理、平安实行和立即编译等。CLR称号的意义就是指可以用多种言语编写使用程序,而且将源代码编译成CLR可以读懂并运转的两头言语,而无需思索本来所利用的言语。这类“言语自力性”就是CLR的关头特征(也是ASP.NET的特征),它同意开辟职员利用本人喜好的言语事情,好比C#、VB大概Cobol,都可以取得.NETFramework的经常使用特征。
.NETFramework还包含了一套类库,这套类库供应了每个使用程序所需的经常使用功效。可使用.NETFramework撑持的任何言语来会见这些类库。由这些类库供应的服务(和响应的定名空间)以下:
・基础范例(System)
・输出/输入(System.IO)
・数据会见(System.Data)
・平安(System.Security)
・数据布局(System.Collections)
・设置(System.Configuration)
・连网(System.Net)
・反射(System.Reflection)
・环球化(System.Globalization)
・绘画和制图(System.Drawing)
・跟踪和诊断(System.Diagnostics)
・窗口(客户端)使用程序模子(System.Windows.Forms)
・Web使用程序模子(System.Web)
注重,.NETFramework包括了两个使用程序编程模子,一个用于客户端使用程序(System.Windows.Forms),另外一个用于基于Web的使用程序(System.Web)。本书侧重解说后一个模子。.NETFramework中的System.Web定名空间是.NETFramework的一部分,它供应了ASP.NET功效。换句话说,ASP.NET就是构建使用程序的一切.NETFramework的一部分。
ASP.NET
ASP.NET是一种用于创立基于Web的使用程序的编程模子。从实质下去说,运转时和.NETFramework类库集能够用于创立静态Web页。它必要在Web服务器的情况中运转,比方MicrosoftInternetInformationServer(Microsoft互联网信息服务器,IIS),而且依据服务扫瞄器哀求唆使在服务器上实行程序。与间接由Web服务器供应的静态HTML分歧的是,ASP.NET页面实践上是在服务器上实行今后再发生了局的。页面的最初天生大概是由很多分歧的指令和/或数据源机关的。
ASP.NET页面以.aspx扩大名存储。页面由程序员将文本、标志(比方HTML)和ASP.NET特定服务器标志和剧本组合在一同,然后存储在Web服务器上。能够将存储后的ASP.NET页面当作是一套形貌怎样创立一个HTML页面的指令。当该页面被哀求扫瞄时,服务器端程序将会用纯标志来创立一个客户端扫瞄器能够读懂并能出现(render)的页面。由于出现后的输入是纯标志,以是任何扫瞄器都可以读懂;一切的静态历程都产生在Web服务器端。ASP.NET特定服务器标志十分壮大,比方,它能够对用户的举措作出反响,毗连至数据存储和主动创立十分庞大的HTML布局。
正像后面提到的那样,ASP.NET只是.NETFramework的一部分,以是ASP.NET页面能够使用这个框架供应的一切服务,包含连网、数据会见、平安和更多其他服务。由于ASP.NET可使用一切这些服务,以是比拟之前,可以创立加倍丰厚的Web使用程序。只需花大批的工夫来构建一切使用程序所需的构建块,而将年夜多半工夫用在使用程序独占的特别逻辑上。
ASP.NET还在Web编程中引进了一些共同的新手艺,能够在典范的静态服务器页面(ActiveServerPages,ASP)上极年夜地改良开辟形式:
・言语自力性――由于ASP.NET是.NETFramework的一部分,以是可使用您本人选择的言语来构建ASP.NET使用程序,比方C#、VB或J#。而典范的ASP则仅限于JScript大概VBScript页面。
・编译而不是注释――与典范的ASP在每次页面哀求时都注释编程布局分歧,ASP.NET在服务器端静态地将页面编译成能够运转得十分快的本机编程指令。能够很分明地看到典范的ASP页面的功能与不异ASP.NET页面的功能之间相差的数目级别。
・事务驱动编程形式――在典范的ASP中,页面老是以自顶向下的线性体例实行,而且HTML标志经常与程序指令夹杂在一同。任何一个有必定ASP履历的人都晓得如许会使得页面难以浏览,乃至加倍难以保护。ASP.NET引进了事务驱动模子,这个模子同意您将代码与标志内容分别,将代码并进处置专门义务的成心义的单位中,比方呼应客户真个按钮单击举措。这个相似VB的事务模子极年夜地进步了页面的可读性和可保护性。
・服务器控件――典范的ASP必要静态地将HTML片段代码接合在一同出现,如许做的了局就是在使用程序中一遍又一各处编写不异的代码(您必要几次才干从数据库查询中构建一张表格)。ASP.NET带给Web编程的一个最年夜的优点就是可以将大众的出现和举动封装成服务器控件(servercontrol),能够在使用程序中很便利地反复利用。就像HTML标志一样,服务器控件以声明的情势创立,可是体现为一个位于服务器真个可编程工具,它能够与代码举行交互并输入定制的静态HTML出现。ASP.NET包括了约莫80多个服务器控件,这些控件封装了从尺度表单位素到庞大控件(如网格和菜单)的一切内容。
・控件计划工夫的改良(当利用VisualWebDeveloper时)――开辟职员经由过程利用计划工夫界面能够削减消费在开辟庞大页面上的工夫,这些界面包含急迅义务面板、标签级导航栏和能够设置控件属性的导游。ASP.NET2.0
ASP.NET的第一个版本(1.0和1.1)在2001年至2003年间敏捷风行了Microsoft的开辟阵营。程序职员很快便感到到他们经由过程利用壮大和天真的.NETFramework能够年夜年夜削减编码工夫,并且CIO们也看到当程序员花在办理客户代码的疑问成绩上的工夫削减时,他们就能够将更多的资本投进到更初级的IT布局的改良上。ASP.NET的确是一个里程碑式的版本,它简化了开辟职员的事情。
可是,就在第一个版本公布之前,Microsoft的ASP.NET小组就已在为开辟ASP.NET2.0而事情了。他们以上面野心勃勃的方针来入手下手他们的事情:
・使创立一个典范的Web使用程序所需代码行数削减70%。
・供应一套可扩大的使用程序服务,用来为通用使用程序义务供应构建块,比方成员、脚色、团体化和导航等。
・创立一系列基于义务的服务器控件,这些控件能够调治上述服务,托付完整、可定制的用户接口(UI),以最小的代码量来展现这些服务。
・当与.NETFramework协同事情供应页面服务时,改良IIS的功能。
・供应办理功效,以便增强ASP.NET服务器的部署、办理和运转。
・改良宿主公司所用的工具,以即可以撑持多站点并可以将开辟职员的项目迁徙大公共部署情况。
・让ASP.NET的几近一切特征都可以便利地扩大大概用定制的初级义务的实行交换。在这里,我们有需要再来细细地回忆一下第一个方针,也就是使编写一个静态Web使用程序所需的代码量削减70%。这有大概吗?Microsoft的ASP.NET小组已细心思索过各类以定制代码实行的通用义务,而且专门制订了将这些义务封装进构建块(出格是服务器控件)的体例,如许就可以够主动地完成这些义务了。比方,年夜多半Web使用程序都必要平安大概导航大概本性化服务来为用户供应定制的体验。在ASP.NET2.0中,这些义务是经由过程一系列可设置的使用程序服务,和与这些使用程序服务举行对话的服务器控件来完成的,如许能够极年夜地削减实行这些通用服务所需的使用程序的代码量。可是,在一切这些通用义务傍边,有一个义务是相对自力于其他使用程序的,这就是数据会见服务。数据是驱动一切静态Web使用程序的公用线程,以是绝不奇异,ASP.NET小组为了削减代码量和在ASP.NET2.0的使用程序中实行数据会见所需的观点,而制定了一些勇敢的方针:
・在ASP.NET中能够经由过程声明的(无代码)体例来界说一个数据源。
・能够经由过程声明的(无代码)体例用UI控件显现数据,无需在页面的实行保存期中的特准时间举行显式的数据绑定。
・能够经由过程声明的(无代码)体例实行通用数据义务,比方排序、分页、过滤、更新、拔出和删除数据。
・可使用多种UI控件来显现数据,包含天真的网格/具体控件,该控件既能够显现又能够操纵数据。
・为创立定制的数据源,启用可扩大的模子来撑持新的数据范例。
ASP.NET2.0具有一些程序员可使用的特定的服务器控件,用于在页面上增加数据交互。这些专门的数据控件分为两组:数据源控件和数据绑定控件。数据源控件创立与数据库的链接。数据绑定控件则从数据源控件猎取信息,并在页面上创立出现。这类复杂的双控件形式可用于多种情形。关于多种数据库范例,乃至长短干系型数据源,都有响应的数据源控件。一样地,有多种数据绑定控件可用来在页面上天生表格、树型、列表和其他数据格局。在后面我们已对ASP.NET举行了先容,同时报告了ASP.NET的一些实际,如今入手下手先容本书残剩部分的细节内容:数据源控件和数据绑定控件的利用。数据源控件和附带产物包含以下条目:
・SqlDataSource控件,用于与MicrosoftSQLServer和其他数据库举行毗连
・AccessDataSource控件,用于与MDB文件毗连
・ObjectDataSource控件,用于与两头层工具毗连
・XMLDataSource控件,用于XML文件大概数据流
・SiteMapDataSource控件,用于以ASP.NET2.0站点舆图格局存储的XML文件分外的控件已由第三方开辟。
在数据绑定控件中,有良多与ASP.NET1.x中的类似,有一些则是ASP.NET2.0全新开辟的:
・ListBox、DropDownList和BulletedList、CheckBoxList、RadioButtonList
・AdRotator是完成旧功效的数据绑定控件
・DataList和Repeater以天真的结构体例供应数据
・DataGrid(与ASP.NET1.x中的不异)和GridView(第2个版本中的新控件)用于表格数据
・DetailsView和FormView以轻松的导航供应纪录的信息
・TreeView用于显现分级数据
总之,数据源控件和数据绑定控件将会是本书重点先容的工具。
在.NETFramework2.0公然beta版本公布之前,多数的几个程序组就已被同意检察事情代码,并但愿尽快取得他们的反应。了局,一切的反响只要一个,那就是强烈热闹,“太好了!”然后就是“甚么时分我才干用ASP.NET2.0交换我的ASP.NET1.x使用程序?”。如今beta公布版本已在手边,我们无需再守候了。
<P> ADO.NET
ADO.NET是.NETFramework中的一套类库,它将会让您加倍便利地在使用程序中利用数据。Microsoft搜集了已往几十年中最好的数据毗连的理论操纵,并编写代码完成这些理论。这些代码被包装进了一些工具中,以便其他软件能够便利地利用。
ADO.NET中的代码处置了大批的数据库独有的庞大情形,以是当ASP.NET页面计划职员想读取大概写进数据时,他们只需编写大批的代码,而且这些代码都是尺度化的。就像ASP.NET一样,ADO.NET不是一种言语。它是工具(类)的汇合,在工具(类)中包括了由Microsoft编写的代码。可使用诸如VisualBasic大概C#等编程言语来在工具内部运转这些代码。
能够将ADO.NET看做是一个介于数据源和数据利用者之间的十分乖巧的转换层。ADO.NET能够承受数据利用者言语中的命令,然后将这些命令转换成在数据源中能够准确实行义务的命令。可是,就像您将会看到的那样,ASP.NET2.0供应了服务器端数据控件,能够更便利地与ADO.NET交互事情,以是有的时分这基础上削减了间接利用ADO.NET工具的需求。
良多读者已有利用ASP.NET初期版本的履历了。这一大节将回忆一下这类形式,目标是演示您必要经由过程ADO.NET工具将数据引进Web页中的这一历程。对那些历来都没有利用过初期版本的读者来讲,能够将本大节作为一个别致的故事,相似于在发明乙醚之行进行的内科手艺研讨。在之前,创立一个复杂典范的ASP.NET1.x版本的页面必要以下代码:
<scriptrunat="server">
SubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)
BulletedList1.DataSource=GetAuthorsByState("CA")
BulletedList1.DataBind()
EndSub
SharedFunctionGetAuthorsByState(ByValstateAsString)AsSystem.Data.DataSet
DimconnectionStringAsString=
"server=(local);database=pubs;trusted_connection=true"
DimdbConnectionAsSystem.Data.IDbConnection=NewSystem.Data.SqlClient.SqlConnection(connectionString)
DimqueryStringAsString="SELECT.,.,.,.
FROMWHERE(.=@state)"
DimdbCommandAsSystem.Data.IDbCommand=NewSystem.Data.SqlClient.SqlCommand
dbCommand.CommandText=queryString
dbCommand.Connection=dbConnection
DimdbParam_stateAsSystem.Data.IDataParameter=NewSystem.Data.SqlClient.SqlParameter
dbParam_state.ParameterName="@state"
dbParam_state.Value=state
dbParam_state.DbType=System.Data.DbType.StringFixedLength
dbCommand.Parameters.Add(dbParam_state)
DimdataAdapterAsSystem.Data.IDbDataAdapter=NewSystem.Data.SqlClient.SqlDataAdapter
dataAdapter.SelectCommand=dbCommand
DimdataSetAsSystem.Data.DataSet=NewSystem.Data.DataSet
dataAdapter.Fill(dataSet)
ReturndataSet
EndFunction
</script>
<html><headrunat="server"><title>UntitledPage/title></head>
<body>
<formid="form1"runat="server"><div>
<asp:BulletedListID="BulletedList1"DataTextField="au_lname"Runat="server"/>
</div></form>
</body></html>
以上示例对数据库实行了一条复杂的SQLSELECT语句,并将了局与一个BulletedList控件绑定。页面中有一个名为GetAuthorsByState的办法,该办法创立了用来完成这个义务的几个ADO.NET工具:
・SqlConnection工具暗示与数据库服务器举行毗连
・SqlCommand工具暗示要实行的SQLSELECT命令
・SqlParameter工具代表了一个将被命令中的标志取代的值
・SqlDataAdapter暗示添补命令中的DataSet工具的才能
・DataSet暗示命令了局,能够与BulletedList举行绑定
在Page_Load事务中,挪用GetAuthorsByState办法并天生DateSet了局,然后将这个了局赋给BulletedList的DataSource属性。接着,挪用DataBind()使得BulletedList用这个数据了局将本人同步。我们在页面实行保存期中的得当的时分挪用DataBind(),如许的做法是ASP.NET2.0在一样平常情形下寻觅并打消的一个关头步骤。实践上,在年夜多半情形下,ASP.NET2.0基本不必要与ADO.NET举行交互操纵。可是,了解上述ADO.NET工具之间的干系长短常有效的,如许我们就能够会商ASP.NET2.0是怎样改善这个形式的。
<P> ASP.NET2.0和数据会见
ASP.NET2.0给我们供应了一个改进的数据会见形式,这个形式削减了在ASP.NET1.x中实行数据绑定所需的代码量。起首,无需编程完成实例化、设置属性和挪用前述列表中的ADO工具的办法。您必要做的就是在页面上复杂地增加服务器端控件并设置属性。当出现页面时,ASP.NET2.0将会主动地实行一切的工具实例化,并挪用办法创立并显现数据。请将以下ASP.NET2.0代码与下面的代码举行对照:
<html>
<headrunat="server"><title>Demo</title></head>
<body>
<formid="form1"runat="server">
<asp:SqlDataSourceID="SqlDataSource1"Runat="server"SelectCommand="SELECTau_lnameFROMauthorsWHERE(state=@state)"
ConnectionString="Server=HPSERV;IntegratedSecurity=True;Database=pubs">
<SelectParameters>
<asp:ParameterType="String"DefaultValue="CA"Name="state"/>
</SelectParameters>
</asp:SqlDataSource>
<asp:BulletedListID="BulletedList1"runat="server"DataSourceID="SqlDataSource1"
DataTextField="Au_lname">
</asp:BulletedList>
</form>
</body></html>
第二个改善来自于对在页面熟存期中的事务敏感的服务器端控件。ASP.NET2.0服务器端控件可以在准确的工夫做出准确的举措。请注重在ASP.NET2.0页面中对页面熟存期中的事务的任何援用。ASP初期版本的先生一样平常城市对在页面熟存期中实行多种义务感应利诱,出格是数据绑定。因而,良多ASP.NET1.x页面城市有如许的让程序员编写代码的遭受,即在毛病的事务下挪用DataBind,大概在多个事务中屡次挪用DataBind。这些准时操纵如今都能够经由过程ASP.NET2.0的服务器端数据控件来主动完成。
请注重在后面的ASP.NET2.0的代码中利用了两个服务器端控件。第一个是数据源控件,本例中是SqlDataSource控件。该控件在背景创建了一切显现数据所需的ADO毗连工具,包含Connection、Command和DataReader大概Dataset工具。然后,利用了一个名为BulletedList的数据绑定控件,用来猎取数据源控件的数据,并在页面上出现。
术语
在完成先容性内容之前,我将供应一个到今朝为止所用到的术语表。
・静态Web页――作为代码存储在Web服务器上的文件,当被哀求时,可转换为HTML。当页面被转换时,他们能够依据用户和网站具有者的及时情形而依照分歧的哀求来猎取分歧的表单。
・IIS――在Windows中内置的Web服务器,用于经由过程TCP/IP向哀求者供应Web页。运转于Windows2000大概WindowsXPProfessional上的IIS可使用.NETFramework类来供应ASP.NETWeb页。
・.NETFramework――一组包括Microsoft编写的代码的类,可使得开辟使用程序加倍便利和快速,而且更容易于在互联网上运转。良多类都已被封装进可以启用.NET的约莫十多个Microsoft产物傍边了。
・CLR(大众言语运转库)――.NETFramework的一项特征,可让编程职员用多种言语编写代码,然后将代码编译成可用来部署的独自、一致的言语。
・ASP.NET――.NETFramework中的运转时和类库集,用来创立静态Web使用程序。
・数据存储――数据被寄存和办理的中央。一切的RDBMS都可用于数据存储,可是有些数据存储就不是RDBMS,由于它们不是干系型的。
・数据库或干系型数据库办理体系(RDMS)――一种能够读取和利用数据的软件。年夜多半体系包括了用来计划和测试数据库的工具,和优化历程的工具。一个RDBMS必需依照尺度化情势(干系型格局)存储数据。
・DataBase形式(或数据库元数据)――数据库布局,包含表和干系的计划。该形式不包含实践的数据值。
・MicrosoftTMAccess――一种基于MDB文件格局、JET引擎和一系列用于创立和利用数据库的工具的RDMS。Access代价廉价,简单进修,能被普遍承受而且已被部署到良多呆板上。可是,它不撑持太多的并发用户。
・JET――运转在背景并利用MDB(Access)文件的数据库引擎。JET能够间接从其他软件(比方.NET或Access)承受命令来读取大概修正MDB文件。
・布局化查询言语(StructuredQueryLanguage,SQL)――一种被数据利用者用来从数据供应程序那边哀求读取大概写进数据的言语。经由近十年的开展,SQL已成为与RDBMS通讯的尺度。
・MicrosoftTMSQLServer――一种企业级的RDBMS,能够撑持大批的数据和大批的并发用户。
・MicrosoftTMSQLServerExpress(SSE)――基于MicrosoftSQLServer数据库引擎的可收费取得的数据库引擎。与SQLServer分歧的是,SSE能供应的同时数据毗连数目无限,而且只要多数几个功效。本书将在年夜多半示例中利用SSE。
・MicrosoftTMDataEngine(MSDE)――与SSE相似,可是基于SQLServer引擎的初期版本。MSDE将在本书的实习中利用。
・XML――一种尺度的数据格局,每一个值都被存储并形貌。XML不长短常无效率(用于形貌的空间一般会凌驾数据的巨细),可是却能被良多分歧的数据办理体系便利地读取。
・Web页编纂器――一种同意翻开和修正页面的软件。最经常使用的编纂器是记事本。VisualStudio、VisualWebDeveloper和ASP.NETWebMatrix与其他工具打包成一个编纂器,用以进步效力。・集成开辟情况(IntegratedDevelopmentEnvironment,IDE)――一套用来匡助编程职员开辟代码的工具。VisualStudio就是一个十分壮大的IDE;WebASP.NETWebMatrix也供应了良多工具。典范的IDE应该包括一个Web页编纂器。
・ADO.NET――由Microsoft编写的类(代码)的汇合,作为数据存储(比方Access大概XML文件)和数据利用者(比方ASP页面)之间的两头件。
・毗连――一个ADO工具,暗示数据利用者和数据供应程序之间的唯一路径。
・命令――一个ADO工具,暗示一条能够被传送给数据库的SQL语句。
・参数――一个ADO工具,暗示在语句进进数据库之前能够被拔出CommonObject(SQL语句)中的多个数据。
・DataSet――一个ADO工具,暗示集成至纪录或字段中的一组数据。
・服务器控件――一组自力的代码(一个工具),用于在服务器上实行义务,天生兼容HTML的而且发送至扫瞄器的页面。经由过程ViewState,服务器端控件能够保持其形态。
・数据源控件――一种服务器端控件,能够创立专门的、唯一的数据库毗连。它供应了ADO工具的一种笼统而且使得编写ASP.NET2.0页面加倍疾速和简单。数据源控件可用于MicrosoftSQLServer、Access、XML和其他数据源。
・数据绑定控件――一种服务器端控件,能够从数据源控件中取得数据并在页面上出现它。数据绑定控件将程序员从编写诸如<table>的HTML标志中摆脱出来。数据绑定控件可用于出现表格、列表、树型和其他布局。什么叫数据库怎么样?什么意思?你想单学数据库。(其实变成是我问的) 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。 能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。 在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
页:
[1]