![jsp36物流配貨系統(tǒng)(ssh)-qkp_第1頁](http://file4.renrendoc.com/view14/M00/06/2F/wKhkGWYGXiqAUSGsAAGGHvXcRA0163.jpg)
![jsp36物流配貨系統(tǒng)(ssh)-qkp_第2頁](http://file4.renrendoc.com/view14/M00/06/2F/wKhkGWYGXiqAUSGsAAGGHvXcRA01632.jpg)
![jsp36物流配貨系統(tǒng)(ssh)-qkp_第3頁](http://file4.renrendoc.com/view14/M00/06/2F/wKhkGWYGXiqAUSGsAAGGHvXcRA01633.jpg)
![jsp36物流配貨系統(tǒng)(ssh)-qkp_第4頁](http://file4.renrendoc.com/view14/M00/06/2F/wKhkGWYGXiqAUSGsAAGGHvXcRA01634.jpg)
![jsp36物流配貨系統(tǒng)(ssh)-qkp_第5頁](http://file4.renrendoc.com/view14/M00/06/2F/wKhkGWYGXiqAUSGsAAGGHvXcRA01635.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
物流管理系統(tǒng)登陸網(wǎng)站物流管理系統(tǒng)登陸網(wǎng)站管理員信息查詢車輛信息管理管理貨物信息管理用戶管理公告信息發(fā)布公告信息車輛信息各類信息查詢貨物信息用戶信息游客查詢信息2.5本章小結(jié)本章主要介紹了系統(tǒng)的核心模塊的業(yè)務(wù)流程,并給出相應(yīng)的業(yè)務(wù)流程圖做以說明。并且分別從經(jīng)濟(jì)可行性、技術(shù)可行性和運(yùn)行可行性對物流管理系統(tǒng)的可行性進(jìn)行了分析。同時(shí),對其可行性進(jìn)行了分析,主要從經(jīng)濟(jì)、技術(shù)和運(yùn)行三方面進(jìn)行的分析。分析結(jié)果是該系統(tǒng)技術(shù)成熟,設(shè)計(jì)合理。
第3章需求分析需求分析的主要任務(wù)是確定系統(tǒng)必須完成哪些工作內(nèi)容,在用戶的參與下提出目標(biāo)系統(tǒng)的完整、清晰、準(zhǔn)確、具體的實(shí)際要求,軟件應(yīng)完成的具體功能和性能。通過對軟件的需求分析,為軟件開發(fā)提供了一種可以抽象數(shù)據(jù)設(shè)計(jì)、軟件結(jié)構(gòu)設(shè)計(jì)和過程詳細(xì)設(shè)計(jì)的具體軟件元素的表示。3.1系統(tǒng)功能劃分物流行業(yè)的人工管理早已不能適應(yīng)企業(yè)發(fā)展的要求,利用計(jì)算機(jī)網(wǎng)絡(luò)對企業(yè)運(yùn)營流程進(jìn)行全方位的管理迫在眉睫。通過計(jì)算機(jī)網(wǎng)絡(luò)對企業(yè)進(jìn)行管理,不僅能為企業(yè)的運(yùn)營過程節(jié)省大量的人力、物力、財(cái)力、時(shí)間,提高企業(yè)的效率,還可以幫助企業(yè)在客戶群中樹立一個全新的信箱,為企業(yè)日后的發(fā)展奠定良好的基礎(chǔ)。該物流信息管理系統(tǒng)其使用者有企業(yè)內(nèi)部物流管理人員和普通用戶,共分為以下幾個部分,用戶信息管理、貨物信息管理、車輛信息管理、公告信息管理、物流信息模塊、后臺管理模塊。3.2系統(tǒng)功能描述1.用戶信息管理模塊該子系統(tǒng)功能主要包括管理登錄用戶的基本信息。2.貨物信息管理模塊該子系統(tǒng)功能是整個物流管理系統(tǒng)的核心,主要是實(shí)現(xiàn)查詢、修改或刪除貨物信息。3.車輛信息管理子系統(tǒng)該子系統(tǒng)功能主要包括查詢、修改或刪除車輛信息。4.公告信息管理子系統(tǒng)該子系統(tǒng)功能主要包括公告信息的查詢、添加、修改及刪除4個部分。5.物流信息模塊該模塊為了方便用戶查看最新的物流信息。6.后臺管理模塊實(shí)現(xiàn)管理員方式進(jìn)入后臺,進(jìn)行各個方便的修改,增加操作。更進(jìn)一步的方便的網(wǎng)站管理。對于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們。Eclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任意的一個模塊進(jìn)行單獨(dú)的擴(kuò)展和升級。3.3本章小結(jié)本章簡要地說明了該系統(tǒng)的需求分析。并且從開發(fā)環(huán)境等多方面得出結(jié)論,本系統(tǒng)無論在技術(shù)上的、經(jīng)濟(jì)上還是在運(yùn)行上都是可行的,因此本系統(tǒng)具有一定的開發(fā)前景。
第4章總體設(shè)計(jì)4.1系統(tǒng)物理結(jié)構(gòu)設(shè)計(jì)系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)是否合理決定了整個系統(tǒng)設(shè)計(jì)的合理性,正因?yàn)槿绱耍侠淼南到y(tǒng)結(jié)構(gòu)就成為在對系統(tǒng)進(jìn)行整體設(shè)計(jì)之前首要考慮的對象。對于典型的數(shù)據(jù)庫管理系統(tǒng),尤其是像物流信息官系統(tǒng)這樣數(shù)據(jù)流量較大的網(wǎng)絡(luò)管理系統(tǒng),必修要滿足使用方便。操作靈活等設(shè)計(jì)需求。物流管理系統(tǒng)的系統(tǒng)目標(biāo)如下:1.網(wǎng)站整體結(jié)構(gòu)和操作流程合理順暢,實(shí)現(xiàn)人性化設(shè)計(jì)。2.向客戶全面展示公司各項(xiàng)業(yè)務(wù)。3.讓客戶了解公司公告信息。4.為會員提供貨運(yùn)單信息查看功能。5.為管理員提供后臺登錄入口。6.通過后臺,管理員可以對運(yùn)單信息進(jìn)行全面管理。7.通過后臺,管理員可以對公司公告信息進(jìn)行全面管理。8.通過后臺,管理員可以對公司各項(xiàng)業(yè)務(wù)信息進(jìn)行全面管理。9.通過后臺,管理員可以對會員信息進(jìn)行全面管理。10.系統(tǒng)運(yùn)行穩(wěn)定,安全可靠?;谝陨弦蛩?,為便于開發(fā)和用戶的使用決定采用了B/S三層體系結(jié)構(gòu),同時(shí)由于物流管理系統(tǒng)需要對物流的信息進(jìn)行集中管理與統(tǒng)一處理,而且采用了以Web數(shù)據(jù)庫技術(shù)為核心的動態(tài)網(wǎng)頁技術(shù)來實(shí)現(xiàn),因此采用B/S的三層結(jié)構(gòu),它的Web的平臺無關(guān)性,使得網(wǎng)站的系統(tǒng)結(jié)構(gòu)可以任意擴(kuò)展,同時(shí)也具有很強(qiáng)的開放性和信息系統(tǒng)集成性,也更方便提供靈活的信息交流和信息發(fā)布服務(wù)。4.2系統(tǒng)功能模塊設(shè)計(jì)整個系統(tǒng)大體由六個關(guān)鍵模塊組成,分別為用戶模塊、車輛信息模塊、貨物信息模塊、公告信息模塊、物流信息。1.用戶模塊詳細(xì)設(shè)計(jì)用戶信息管理模塊是管理本系統(tǒng)的用戶信息,包括用戶登錄信息和注冊功能,確保了系統(tǒng)的安全性。功能圖如下圖4-2所示用戶信息用戶信息用戶前臺注冊用戶前臺登錄圖4-2用戶信息功能圖2.貨物信息管理模塊詳細(xì)設(shè)計(jì)該模塊是本系統(tǒng)的核心模塊,由四個子模塊組成,它們是添加貨物信息模塊、修改貨物信息模塊、刪除貨物信息模塊、查詢貨物信息模塊。本模塊具有四項(xiàng)功能:(1)添加貨物信息(2)修改貨物信息(3)刪除貨物信息(4)查詢貨物信息貨物信息管理功能模塊圖如下圖4-3所示貨物信息管理貨物信息管理貨物信息查詢貨物信息修改貨物信息添加貨物信息刪除圖4-3貨物信息管理功能圖3.車輛管理模塊詳細(xì)設(shè)計(jì)該模塊由四個子模塊組成,這四個子模塊分別是:車輛信息查詢子模塊、車輛信息修改子模塊、車輛信息添加子模塊和車輛信息刪除子模塊。物流管理系統(tǒng)功能模塊圖如下圖4-4所示。車輛信息管理車輛信息管理車輛信息查詢車輛信息修改車輛信息添加車輛信息刪除圖4-4車輛信息管理功能模塊圖4.公告信息管理模塊詳細(xì)設(shè)計(jì)該模塊實(shí)現(xiàn)對公告維護(hù)和管理,其中包括:公告信息的查詢,公告信息的添加,公告信息的刪除,公告信息的修改。公告信息管理功能圖如下圖4-5所示圖4-5公告信息管理功能模塊圖5.物流信息管理模塊詳細(xì)設(shè)計(jì)該模塊實(shí)現(xiàn)對物流信息維護(hù)和管理,物流信息管理功能圖如下圖4-6所示圖4-6物流信息管理功能模塊圖4.4數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是對保存網(wǎng)站數(shù)據(jù)的數(shù)據(jù)庫結(jié)構(gòu)進(jìn)行設(shè)計(jì),主要是設(shè)計(jì)出數(shù)據(jù)表的結(jié)構(gòu),包括數(shù)據(jù)表中各字段的數(shù)據(jù)類型以及字段類型的長度等。合理的設(shè)計(jì)出數(shù)據(jù)庫的結(jié)構(gòu)對整個網(wǎng)站的開發(fā)具有非常重要的作用。4.4.1數(shù)據(jù)庫的E-R圖根據(jù)以上對系統(tǒng)所做的需求分析和系統(tǒng)設(shè)計(jì),規(guī)劃本系統(tǒng)中使用的數(shù)據(jù)庫實(shí)體分別為會員實(shí)體、公告信息實(shí)體、車輛信息實(shí)體、貨物信息實(shí)體、管理員信息實(shí)體及物流信息實(shí)體。下面分別介紹幾個關(guān)鍵實(shí)體的E-R圖。1.貨物信息管理E-R圖,貨物信息由6個主要屬性,分別為貨物編號、貨物名稱、運(yùn)輸類型、貨物單位、貨物數(shù)量、貨物類型,如下圖4-7所示。貨物編號貨物編號運(yùn)輸類型貨物單位貨物數(shù)量貨物名稱貨物類型貨物信息圖4-7貨物信息E-R圖2.車輛信息管理E-R圖,車輛信息由6個主要屬性,分別是車牌號碼、車輛類型、駕駛員姓名、車輛載重、車牌品名、使用時(shí)間。如下圖4-8所示。車牌號碼車牌號碼車牌品名駕駛員姓名車輛載重使用時(shí)間車輛類型車輛信息圖4-8車輛信息E-R圖3.用戶信息管理E-R圖,用戶有9個屬性,分別為性別、電子郵箱、密碼、找回密碼提示問題、找回密碼提示問題、注冊時(shí)間、聯(lián)系電話、會員編號、賬號。如下圖4-9所示。性別性別會員編號聯(lián)系電話電子郵箱找回密碼提示問題找回密碼提示答案注冊時(shí)間帳號密碼用戶圖4-9用戶信息E-R圖4.公告信息管理E-R圖,公告信息有5個屬性,分別為公告內(nèi)容、公告標(biāo)題、公告發(fā)布時(shí)間、公告編號、公告發(fā)布人,如下圖4-10所示。公告內(nèi)容公告內(nèi)容公告標(biāo)題公告編號公告發(fā)布人公告發(fā)布時(shí)間公告信息圖4-10公告信息E-R圖4.4.2數(shù)據(jù)庫表設(shè)計(jì)本項(xiàng)目的數(shù)據(jù)庫命名為:db_WuLiu,db_WuLiu數(shù)據(jù)庫中有6張表如下。物流信息表存放了物流的相關(guān)信息,包括物流編號,標(biāo)題,內(nèi)容,表中各個字段的說明如下表4-1所示。表4-1tb_WuLiuxx(物流信息表)序號字段名是否為主鍵類型長度(字符)1ID√int2Titlevarchar503NeiRongvarchar5004Authorvarchar505IssueDatedatetime貨物信息表存放了貨物的相關(guān)信息,包括貨物編號,貨物類型,貨物名稱等相關(guān)信息,表中各個字段的說明如下表4-2所示。表4-2TB_HUOWUXX(貨物信息表)序號字段名是否為主鍵類型長度(字符)1ID√int2GoodsStylevarchar503GoodsNamevarchar1004GoodsNumbervarchar505GoodsUnitvarchar506StartProvincevarchar1007StartCityvarchar208EndProvincevarchar309EndCityvarchar3010Stylevarchar5011TransportTimevarchar5012Phonevarchar5013Linkvarchar20014IssueDatevarchar5015Remarkvarchar10016Requestvarchar5017UserNamevarchar50會員表存放了注冊成為會員的相關(guān)信息,包括會員編號,用戶名,密碼,電子郵件性別等相關(guān)信息,表中各個字段的說明如下表4-3所示。表4-3TB_HUIYUANXX(會員表)序號字段名是否為主鍵類型長度(字符)1ID√int2Namevarchar203Passwordvarchar164Emailvarchar305Sexvarchar106Phonevarchar507Questionvarchar50續(xù)表4-38Resultvarchar509IssueDatevarchar50管理員表存放了后臺管理員的相關(guān)信息,包括管理員編號,姓名,密碼,電子郵件相關(guān)信息,表中各個字段的說明如下表4-4所示。表4-4TB_GUANLIYUAN(管理員表)序號字段名是否為主鍵類型長度(字符)1ID√int2Namevarchar503Passwordvarchar504Phonevarchar505Emailvarchar50公告信息表存放了公告的相關(guān)信息,包括編號,標(biāo)題,內(nèi)容,作者相關(guān)信息,表中各個字段的說明如下表4-5所示。表4-5TB_GONGGAO(公告信息表)序號字段名是否為主鍵類型長度(字符)1ID√int2Titlevarchar503Neirongvarchar2004Authorvarchar205IssueDatedatetime車輛信息表存放了車輛的相關(guān)信息,包括編號,車號等相關(guān)信息,表中各個字段的說明如下表4-6所示。表4-6tb_CarMessage(車輛信息表)序號字段名是否為主鍵類型長度(字符)1Code√int2TradeMarknvarchar203Brandnvarchar504Stylenvarchar305CarLoadnvarchar10續(xù)表4-66UsedTimevarchar507DriverNamenvarchar308DriverTimevarchar509LicenceNumbernvarchar5010LicenceStylenvarchar2011TranspotStylenvarchar2012LinkMannvarchar2013LinkPhonenvarchar5014Remarknvarchar10015IssueDatedatetime16UserNamevarchar204.5數(shù)據(jù)庫的完整性和安全性1.數(shù)據(jù)庫的完整性數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫管理系統(tǒng)(DBMS)用一定的機(jī)制來檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿足規(guī)定的條件——完整性約束條件,數(shù)據(jù)的約束條件是語義的體現(xiàn),將作為模式的一部分存入數(shù)據(jù)庫中。本系統(tǒng)中定義了表與表之間的聯(lián)系有助于實(shí)現(xiàn)完整性規(guī)則,一般在程序中實(shí)現(xiàn)具體的完整性控制。2.數(shù)據(jù)庫的安全性數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄漏、更改或破壞。在數(shù)據(jù)庫系統(tǒng)中,大量的數(shù)據(jù)集中存放,而且為許多用戶直接共享,是寶貴的信息資源,系統(tǒng)的安全保護(hù)措施就顯得更為重要,它保護(hù)數(shù)據(jù)庫防止惡意的破壞和非法的存取[12]。本系統(tǒng)包括數(shù)據(jù)庫的安全和服務(wù)器的安全。采用管理員表示和鑒定的方法實(shí)現(xiàn)數(shù)據(jù)庫的安全,此安全管理措施并不在前臺開發(fā)工具中實(shí)現(xiàn),而是在后臺數(shù)據(jù)庫中實(shí)現(xiàn)。在登錄數(shù)據(jù)庫時(shí),系統(tǒng)讓管理員戶表示自己的身份,不同的管理員權(quán)限不同,系統(tǒng)進(jìn)行核實(shí),鑒別此管理員是否為合法用戶,若是,系統(tǒng)進(jìn)一步核實(shí)用戶,通常要求用戶輸入口令,系統(tǒng)和對用戶口令以鑒別用戶身份。服務(wù)器的安全也是通過用戶在登錄服務(wù)器時(shí)輸入合法的用戶名和密碼來實(shí)現(xiàn)的。這是一種簡單可行的方法,實(shí)現(xiàn)起來比較方便。沒有采用更加復(fù)雜的系統(tǒng)安全管理措施是因?yàn)楸竟芾硐到y(tǒng)一般是應(yīng)用在企業(yè)內(nèi)部網(wǎng)中,采用安全管理措施主要是為了防止沒有修改權(quán)限的用戶無意間修改了數(shù)據(jù),因此采用用戶標(biāo)識和鑒定的安全管理措施就能夠保障數(shù)據(jù)庫的安全性4.6本章小結(jié)本章的主要內(nèi)容是介紹了物流管理網(wǎng)站總體設(shè)計(jì)思路,首先分別對系統(tǒng)的物理結(jié)構(gòu)和邏輯結(jié)構(gòu)進(jìn)行說明。然后又說明了系統(tǒng)功能模塊的設(shè)計(jì)以及數(shù)據(jù)庫的完整性與安全性,使用戶對網(wǎng)站有更深入的了解。
第5章詳細(xì)設(shè)計(jì)5.1系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)本物流信息網(wǎng)分為前臺和后臺。其中,根據(jù)物流信息前臺的特點(diǎn),可以將其分為用戶登陸、物流信息、貨物信息、車輛信息、公告信息5個部分。物流信息網(wǎng)后臺的特點(diǎn),可以將其分為管理物流信息、管理公告信息、管理貨物信息、管理車輛信息、管理會員信息5個部分。5.2系統(tǒng)功能的設(shè)計(jì)與實(shí)現(xiàn)5.2.1用戶登陸頁面的實(shí)現(xiàn)用戶登錄模塊具有用戶登錄功能。用戶在左側(cè)“用戶登錄”區(qū)域中的用戶名和密碼文本框中輸入用戶名和密碼,單機(jī)登錄按鈕,系統(tǒng)驗(yàn)證成功后,用戶將以會員的身份進(jìn)入物流信息網(wǎng)首頁,之后再網(wǎng)站中進(jìn)行相關(guān)操作。用戶注冊模塊可以進(jìn)行新用戶的注冊。系統(tǒng)登錄界面設(shè)計(jì)和用戶登錄成功如下圖5-1所示。圖5-1用戶登錄界面和登錄成功圖5-2用戶注冊界面5.2.2貨物信息管理界面的實(shí)現(xiàn)在本系統(tǒng)中,單擊導(dǎo)航區(qū)中的“貨物信息”,將進(jìn)入貨物信息查詢頁面,查詢當(dāng)前全部貨物信息。如圖5-3所示。在該頁面登陸后的會員可以發(fā)布最新的貨物信息,貨物信息發(fā)布如下圖5-4所示。圖5-3貨物信息查詢界面實(shí)現(xiàn)貨物信息查詢執(zhí)行語句<ahref="<%=request.getContextPath()%>/qiantai/hwxx?method=query">跳轉(zhuǎn)至HuoWuXXServlet中執(zhí)行查詢query(request,response)方法具體方法如下: privatevoidquery(HttpServletRequestrequest,HttpServletResponseresponse)throwsClassNotFoundException,SQLException,ServletException,IOException{ Listlist=service.query(); request.setAttribute("list",list); request.getRequestDispatcher("/qiantai/houwuxx/list.jsp").forward(request,response);}圖5-4貨物信息發(fā)布界面實(shí)現(xiàn)貨物信息的添加執(zhí)行語句<ahref="<%=request.getContextPath()%>/qiantai/hwxx?method=add">跳轉(zhuǎn)至HuoWuXXServlet中執(zhí)行add(request,response)轉(zhuǎn)至發(fā)布貨物頁面,方法具體方法如下:privatevoidadd(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.getRequestDispatcher("/qiantai/houwuxx/add.jsp").forward(request,response);}貨物信息發(fā)布后執(zhí)行的添加保存方法如下: privatevoidsaveadd(HttpServletRequestrequest,HttpServletResponseresponse)throwsClassNotFoundException,SQLException,IOException{ DateFormatformat1=newSimpleDateFormat("yyyy-MM-dd"); DateFormatformat2=newSimpleDateFormat("yyyy/MM/dd/HH:mm:ss"); Datedate=null; Stringstr=null; date=newDate(); str=format1.format(date); str=format2.format(date); Stringhwlx=request.getParameter("hwlx"); Stringhwmc=request.getParameter("hwmc"); Stringhwsl=request.getParameter("hwsl"); Stringsldw=request.getParameter("sldw"); Stringqssf=request.getParameter("qssf"); Stringqscs=request.getParameter("qscs"); Stringddsf=request.getParameter("ddsf"); Stringddcs=request.getParameter("ddcs"); Stringyslx=request.getParameter("yslx"); Stringyssj=request.getParameter("yssj"); Stringlxdh=request.getParameter("lxdh"); Stringlxr=request.getParameter("lxr"); Stringbz=request.getParameter("bz"); Stringclyq=request.getParameter("clyq"); Hwxxhwxx=newHwxx(); hwxx.setGoodsstyle(hwlx); hwxx.setGoodsname(hwmc); hwxx.setGoodsnumber(hwsl); hwxx.setGoodsunit(sldw); hwxx.setStartprovince(qssf); hwxx.setStartcity(qscs); hwxx.setEndprovince(ddsf); hwxx.setEndcity(ddcs); hwxx.setStyle(yslx); hwxx.setTransporttime(yssj); hwxx.setPhone(lxdh); hwxx.setLink(lxr); hwxx.setIssuedate(str); hwxx.setRemark(bz); hwxx.setReques(clyq); hwxx.setUsername("312"); service.saveadd(hwxx); response.sendRedirect(request.getContextPath()+"/qiantai/hwxx?method=query"); }5.2.3車輛信息管理界面的實(shí)現(xiàn)在本系統(tǒng)中,單擊導(dǎo)航區(qū)中的“車輛信息”超鏈接,將進(jìn)入車輛信息查詢頁面,顯示所有車輛的信息,如圖5-5所示。圖5-5車輛信息查詢界面實(shí)現(xiàn)車輛信息的查詢語句<ahref="<%=request.getContextPath()%>/qiantai/clxx?method=query">跳轉(zhuǎn)至CheLiangXXServlet中執(zhí)行query(request,response)方法,具體方法如下: privatevoidquery(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException,ClassNotFoundException,SQLException{ Listlist=service.query(""); request.setAttribute("list",list); request.getRequestDispatcher("/qiantai/cheliangxx/list.jsp").forward(request,response); }車輛信息添加的實(shí)現(xiàn)過程,在車輛信息查詢頁面中,如果會員想發(fā)布車輛信息,可單擊發(fā)布信息超鏈接,進(jìn)入車輛信息添加頁面如圖5-6所示。圖5-6車輛信息添加界面實(shí)現(xiàn)車輛信息的添加執(zhí)行語句<ahref="<%=request.getContextPath()%>/qiantai/clxx?method=add">跳轉(zhuǎn)至CheLiangXXServlet中執(zhí)行add(request,response)轉(zhuǎn)至發(fā)布車輛信息頁面,方法具體方法如下: privatevoidadd(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.getRequestDispatcher("/qiantai/cheliangxx/add.jsp").forward(request,response); }當(dāng)用戶添加完車輛信息時(shí),執(zhí)行saveadd(request,response)方法保存,方法如下。 privatevoidsaveadd(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ClassNotFoundException,SQLException{ DateFormatformat1=newSimpleDateFormat("yyyy-MM-dd"); DateFormatformat2=newSimpleDateFormat("yyyy/MM/dd/HH:mm:ss"); Datedate=null; Stringstr=null; date=newDate(); str=format1.format(date); str=format2.format(date); Stringcphm=request.getParameter("cphm"); Stringcllx=request.getParameter("cllx"); Stringclpm=request.getParameter("clpm"); Stringclxl=request.getParameter("clxl"); Stringysynx=request.getParameter("ysynx"); Stringyslx=request.getParameter("yslx"); Stringjsyxm=request.getParameter("jsyxm"); Stringjszhm=request.getParameter("jszhm"); Stringjsyjl=request.getParameter("jsyjl"); Stringjslx=request.getParameter("jslx"); Stringlxdh=request.getParameter("lxdh"); Stringlxr=request.getParameter("lxr"); Stringbz=request.getParameter("bz"); clxxcl=newclxx(); cl.setTrademark(cphm); cl.setStyle(cllx); cl.setBrand(clpm); cl.setCarload(clxl); cl.setUsedtime(ysynx); cl.setTranspotstyle(yslx); cl.setDrivername(jsyxm); cl.setLicencenumber(jszhm); cl.setDrivertime(jsyjl); cl.setLicencestyle(jslx); cl.setLinkphone(lxdh); cl.setLinkman(lxr); cl.setRemark(bz); cl.setIssuedate(str); service.saveadd(cl); response.sendRedirect(request.getContextPath()+"/qiantai/clxx?method=query"); }5.3本章小結(jié)本章的內(nèi)容主要是通過圖文并茂的形式描述了本網(wǎng)站的主要結(jié)構(gòu),同時(shí)也對其用途和設(shè)計(jì)做了詳細(xì)介紹。通過本章的介紹,可以對本系統(tǒng)的設(shè)計(jì)有一個全面的了解。
結(jié)論經(jīng)過三個多月的設(shè)計(jì)和開發(fā),物流系統(tǒng)基本開發(fā)完畢,其功能已經(jīng)基本實(shí)現(xiàn),基本滿足了企業(yè)和用戶的要求,實(shí)現(xiàn)了用戶信息管理、貨物信息管理和車輛信息管理等功能,目標(biāo)是使物流系統(tǒng)在管理上做到數(shù)據(jù)的信息化、科學(xué)化和網(wǎng)絡(luò)化。本系統(tǒng)主要包括用戶信息管理、貨物信息管理、車輛信息管理管理、公告信息管理等模塊。本系統(tǒng)基本實(shí)現(xiàn)了物流公司人員所要求的功能,方便了物流管理人員對物流信息的管理和掌握。因?yàn)閷W(xué)習(xí)能力和條件的限制,目前本系統(tǒng)還不是太完善,功能還不是很強(qiáng)大,系統(tǒng)功能趨于簡單,而且系統(tǒng)中對數(shù)據(jù)的添加、刪除和修改都沒有圖形快捷鍵操作,而且整個系統(tǒng)的界面顯得過于單調(diào),缺乏動態(tài)圖形顯示效果。針對以上分析,對物流管理系統(tǒng)作如下改進(jìn):1.應(yīng)該將系統(tǒng)功能集現(xiàn)代運(yùn)輸、倉存、配送、搬運(yùn)、包裝、產(chǎn)品流通及信息管理于一體,實(shí)現(xiàn)商品從原料供應(yīng)商、制造商、分銷商、零售商到消費(fèi)者的各個環(huán)節(jié)有機(jī)結(jié)合的系統(tǒng)才是真正意義上的物流管理系統(tǒng)。2.加強(qiáng)系統(tǒng)圖形顯示功能。如果能結(jié)合其它界面美化工具,界面就能更加人性化。
致謝首先,要特別感謝的是我的指導(dǎo)老師,從論文的選題,搜集資料到論文撰寫及修改都傾注了導(dǎo)師大量的心血。老師的耐心點(diǎn)撥和細(xì)致知道讓我不斷增強(qiáng)克服困難的信心,最終完成了這篇論文。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度使我受益匪淺。借此論文完成之際,謹(jǐn)向辛勤指導(dǎo)過我的導(dǎo)師致以最衷心的感謝。另外,我要對院領(lǐng)導(dǎo)表達(dá)深深的謝意,四年的大學(xué)生活以最后的畢業(yè)設(shè)計(jì)收尾,然而我所得到的并非只是這些,畢業(yè)設(shè)計(jì)見證了我學(xué)習(xí)的能力與成果,然而更多的點(diǎn)點(diǎn)滴滴都滲透于平時(shí),感謝這四年來院領(lǐng)導(dǎo)為我們所創(chuàng)造的優(yōu)美學(xué)習(xí)和生活環(huán)境。在畢業(yè)設(shè)計(jì)以及平日的學(xué)習(xí)過程中,圖書館一直是我增長學(xué)識的源泉,給予我不可估量的精神財(cái)富,這筆精神財(cái)富讓我在面對社會各種各樣的競爭和壓力時(shí)增添了許多信心,同時(shí)也讓我深切體驗(yàn)到學(xué)習(xí)的快樂,在此,我代表所有的2015屆即將畢業(yè)的同學(xué)對學(xué)校的領(lǐng)導(dǎo)們道聲:“謝謝您們!”。感謝我們班的同學(xué),在學(xué)習(xí)和生活上,是他們給了我莫大的幫助和無微不至的關(guān)懷和照顧。感謝我的家人,他們是我身后堅(jiān)強(qiáng)的后盾,無論什么困境,家,都是一個安全的避風(fēng)港。最后感謝所有關(guān)心、支持和幫助過我的人們。
參考文獻(xiàn)1王湘云.物流發(fā)展史.物流時(shí)代雜志,2005:21-322姜龍.物流對市場的影響.物流資訊雜志,2004:22-443SimonBrown,SamDalton,DanJepp著.JSP編程指南.白雁等譯.第三版.北京:電子工業(yè)出版社,2004,(7):18-224明日科技.JSP項(xiàng)目開發(fā)案例全程實(shí)錄.清華大學(xué)出版社:2011:366-4075赫立波.基于項(xiàng)目驅(qū)動的JSP程序設(shè)計(jì)教學(xué)研究.科技信息,2010:50-756聶廣來,張宏軍,郝文寧.基于J2EEWeb應(yīng)用的框架設(shè)計(jì)與實(shí)現(xiàn).電子工程師,2005,(3):88-907李華,吳六愛.JSP網(wǎng)頁中JDBC數(shù)據(jù)動態(tài)查詢的強(qiáng)化方法.蘭州交通大學(xué)學(xué)報(bào),2004,21(01):24-288羅在文.JSP技術(shù)訪問SQLServer數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn).長春理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,52(03):145-1489李昭原,羅嘵沛.?dāng)?shù)據(jù)庫技術(shù)新進(jìn)展.清華大學(xué)出版社,2004,5:117-12410耿祥義.JAVA大學(xué)實(shí)用教程.電子工業(yè)出版社,2010,3:312-34111鐵軍.Web數(shù)據(jù)庫技術(shù).清華大學(xué)出版社,2004,12:201-22212黃曉韓,趙俊卓.JSP環(huán)境下的SQL注入防范.網(wǎng)絡(luò)與信息,2010,29(08):5613程志艷,張亮,馬建紅.JSP實(shí)用簡明教程.清華大學(xué)出版社,2009,12:347-39114孫衛(wèi)琴,李洪成.精通Java與Tomcat基于JavaWeb的應(yīng)用開發(fā)詳解.電子工業(yè)出版社,2004.5:18-2715Anderson,A.Effectiva.JavaSecondEdition.OxfordUniversityPress,2005:124-145
附錄1客戶/服務(wù)器系統(tǒng)客戶機(jī)/服務(wù)器系統(tǒng)的主要思想是,你有一個中央信息庫通常是保存在數(shù)據(jù)庫中的一些信息要根據(jù)需要,把它們分配給某些人或機(jī)器??蛻魴C(jī)/服務(wù)器系統(tǒng)的關(guān)鍵在于,信息庫會集中管理信息,因此信息的修改能夠傳播到用戶那里。信息庫,分發(fā)信息的軟件,以及存儲信息的軟件的機(jī)器合起來稱為服務(wù)器。存儲在遠(yuǎn)程機(jī)器上的軟件會同這個服務(wù)器通訊,提取信息,處理信息,并且在過程機(jī)器上顯示結(jié)果。這被除數(shù)稱為客戶。這么看來,客戶/服務(wù)器計(jì)算機(jī)的基本概念沒那么復(fù)雜。但是,當(dāng)你試圖用孤零零的一個服務(wù)器來為很多客戶服務(wù)的時(shí)候,問題就來了。這個架構(gòu)通常都會牽扯到數(shù)據(jù)庫管理系統(tǒng),所以為了優(yōu)化應(yīng)用,設(shè)計(jì)人員會去“平衡”數(shù)據(jù)的格式。此外,通常系統(tǒng)還允許客戶往服務(wù)器里插入新的數(shù)據(jù)。這就意味著你必須保證一個客戶的新數(shù)據(jù)不會和另一個客戶的新數(shù)據(jù)攪在一起,以及數(shù)據(jù)不會在添加的過程中遺失(這被稱為事務(wù)處理)。當(dāng)客戶端的程序修改之后,還必須重新編譯,調(diào)試并且安裝到客戶機(jī)上,這要比你想像的復(fù)雜昂貴得多。而且如果要支持多種機(jī)器或操作系統(tǒng)的話,事情會更麻煩。最后還有一個最重要的性能問題:服務(wù)器可能會同時(shí)響應(yīng)成百上千個客戶,所以再小的耽擱都是很要命的。為了把延時(shí)降到最低,程序員們盡量減輕服務(wù)的負(fù)載,通常會把這些處理任務(wù)挪到客戶端,不過有時(shí)也會移到所謂的中間件的服務(wù)器上。(中間件也被用來增進(jìn)系統(tǒng)的可維護(hù)性。)分發(fā)數(shù)據(jù)這個簡單的思想竟然會引出這么些復(fù)雜層次,而所有這些問題看起來都像是根本不可能解開的謎。但還有更重要的:大約有一半的開發(fā)項(xiàng)目都是基于客戶/服務(wù)器架構(gòu)的。它們包括像接收訂單,信用卡交易額以及分發(fā)各種各樣的數(shù)據(jù)股票市場的,科研的,政府部門的,只要你能叫的上名字的。以前我們的作法是為每個問題設(shè)計(jì)不同的解決方案,每次都發(fā)明一種新方法。這種項(xiàng)目開發(fā)起來難,用戶用起來也不方便,它們必須適應(yīng)新的界面。客戶/服務(wù)器架構(gòu)這個問題必須要能在總體上解決。把Web當(dāng)作巨型的服務(wù)器Web實(shí)際上就是一個巨型的客戶/服務(wù)器系統(tǒng)。實(shí)際上還差一點(diǎn),因?yàn)樗械姆?wù)器和客戶機(jī)是共存在同一個網(wǎng)絡(luò)上的。不過這點(diǎn)你并不知道,因?yàn)槟阒魂P(guān)心是不是能連到那臺服務(wù)器,并且對它進(jìn)行操作(盡管你可能得先在什么地方找到那臺服務(wù)器)。最初這只是個關(guān)向過程。你向服務(wù)器提請求,它交給你一個文件,然后你用本地機(jī)上的瀏覽器(也就是客戶)來解釋這個文件并且為它重新排版。但沒過多久,人們就不滿足于僅僅從服務(wù)器收發(fā)文件了。他們需要完整的客戶/服務(wù)器功能,所以客戶也能向服務(wù)器發(fā)送信息了,比如查詢服務(wù)器端的數(shù)據(jù)庫,向服務(wù)器添加新的信息,或者下單(這項(xiàng)任務(wù)所要求的安全性比系統(tǒng)原先能提供的要高得多)。這些就是我們在Web的發(fā)展歷程中親眼目睹的變化。Web瀏覽器是一項(xiàng)巨大的進(jìn)步:它的思想是要讓同樣的信息以通常的形式顯示在所有的機(jī)器上。然而瀏覽器還是太原始了一些,而且也很快被加在它身上的任務(wù)給拖垮了。它的互動性不好,而且所有需要編程解決的任務(wù)都要交到服務(wù)器上去處理,所以經(jīng)常會把服務(wù)器和Internet給堵了。有時(shí)可能會花幾秒鐘,甚至是幾分鐘,才會發(fā)現(xiàn)提交的請求里面有一個拼寫錯誤。由于瀏覽器只是用來顯示,不能承擔(dān)哪怕是最簡單的計(jì)算任務(wù)。(另一方面這樣也很安全,因?yàn)樗粫谀愕谋镜貦C(jī)上執(zhí)行可能包含bug或病毒程序。)為了解決這個問題,人們用了很多辦法。開始是升級圖形超標(biāo)準(zhǔn),讓瀏覽器能顯示效果更佳的動畫和視頻。但是有些問題,只能通過讓客戶端的瀏覽器運(yùn)行程序來解決了。這被稱為客戶端編程??蛻舳司幊蘔eb最初的服務(wù)器——瀏覽器設(shè)計(jì)提供了互動內(nèi)容,但是這種互動性是完全建立在服務(wù)器之上的。服務(wù)器為客戶端提供靜態(tài)頁面,而瀏覽器只是簡單的解釋頁面,然后顯示出來。HTML包括了基本的數(shù)據(jù)采集功能:輸入框,復(fù)選框,單選按鈕,列表,下拉式列表,以及只能用于清除表單或是把表單數(shù)據(jù)“提交”給服務(wù)器的按扭。提交上來的數(shù)據(jù)會交給Web服務(wù)器上的通用網(wǎng)關(guān)接口程序。這些文本會告訴CGI該做些什么。最常見的就是在服務(wù)器上運(yùn)行一個程序,這個程序一般會放在“cgi-bin”目錄中。(如果按完Web頁面上的按扭之后,你仔細(xì)觀察瀏覽器頂部的地址條的話,有時(shí)你就會在那些不知所云的東西中看到“cgi-bin”。)大多數(shù)語言都可以寫這些程序。Perl是最常用的,因?yàn)樗O(shè)計(jì)的目的就是為了處理和解釋文本,所以不論服務(wù)器用的是那種處理器,或是那種操作系統(tǒng),都能安裝Perl。但Python由于其功能強(qiáng)大簡單易用,已經(jīng)對Perl的霸主地位發(fā)起了挑戰(zhàn)。很多大型網(wǎng)站都是完全建立在CGI之上的,而且實(shí)際上你能用CGI來做幾乎任何事情。但是建立在CGI之上的網(wǎng)站會很快變得過于復(fù)雜而難以維護(hù),此處還有一個相應(yīng)時(shí)間的問題。CGI程序的相應(yīng)時(shí)間取決于它要發(fā)送多少數(shù)據(jù),以及服務(wù)器端各Internet的負(fù)載(而且CGI程序本身就啟動很慢)。最初設(shè)計(jì)Web的人沒能預(yù)料到帶寬會消耗在這類應(yīng)用程序中。舉例來說,動態(tài)圖形實(shí)際上是不可能一致地運(yùn)行的,所以服務(wù)器會把所有版本的GIF文件都傳到客戶端。而且,毫無疑問你肯定做過像填寫表格這種簡單的事。當(dāng)你按了發(fā)送按鈕之后,數(shù)據(jù)會被送回到服務(wù)器,然后服務(wù)器啟動CGI程序,但是發(fā)現(xiàn)有個錯誤,于是重新生成一個HTML告訴你出來錯,再把這個頁面?zhèn)鹘o你;然后你再重頭來一遍。這樣做不但慢,而且蠢。解決方案就是客戶端編程。絕大多數(shù)運(yùn)行Web瀏覽器的機(jī)器都有強(qiáng)大的引擎,能作很多工作,而且在原告靜態(tài)的HTML方法下,大多數(shù)時(shí)間,它們都是在傻等著服務(wù)器發(fā)送下一個頁面??蛻舳司幊桃馕吨鳺eb瀏覽器能物盡其用,結(jié)果是用戶能更快同時(shí)也更互動地體驗(yàn)?zāi)愕木W(wǎng)站??蛻舳司幊趟龅降膯栴}同通用編程的沒有什么本質(zhì)性的區(qū)別。參數(shù)幾乎是相同的,只是平臺有寫差異;瀏覽器就是一個小型的操作系統(tǒng)。最后,你還得寫程序,還要解決一串讓人眼花繚亂的問題,還是提供客戶端編程的解決方案。本節(jié)的余下部分會簡要介紹客戶端編程的問題與方法。插件在客戶端編程方面最重要的步驟之一就是開發(fā)插件。這是程序員就為瀏覽器提供新功能的辦法。它要求用戶從網(wǎng)上下載插件程序,然后把它集成到瀏覽器里。插件告訴瀏覽器“從今往后,你可以進(jìn)行這些新的工作了?!保ú寮恍柘螺d一次。)插件為瀏覽器添加了一些快速強(qiáng)大的功能,但是寫一個插件可不是什么輕松的任務(wù),也不應(yīng)該是建網(wǎng)站應(yīng)該作的事。插件對于客戶端編程的價(jià)值在于,它能讓專家級的程序員開發(fā)一種新的語言,并且不經(jīng)開發(fā)商的同意,就把這種語言加進(jìn)瀏覽器里。于是插件提供了一個能創(chuàng)建新的客戶端編程語言的“后門”(盡管不是所有的語言都是通過插件來實(shí)現(xiàn)的)。腳本語言插件導(dǎo)致了腳本語言的泛濫。你可以用腳本語言把客戶端程序的源代碼直接嵌進(jìn)HTML頁面里去,HTML頁面顯示的時(shí)候,會自動激活這個插件去解釋這些程序的。腳本語言應(yīng)該比較簡單,而且作為HTML頁面的一個部分,它們都是簡單的文本,所以會隨頁面一起獲取,而且裝載也很快。不過代價(jià)就是代碼只能給別人看了(或者說偷了)??傊捎谀銢]法用腳本語言做非常復(fù)雜的東西,所以它的難度不會太大。這一點(diǎn)決定了Web瀏覽器所用的腳本語言實(shí)際上是用來解決某些具體的問題的,主要是創(chuàng)建更豐富的,更互動的用戶界面的(GUI)。然而,腳本語言也許能解決百分之十的客戶端編程的問題??赡苣阋鉀Q的問題正好落進(jìn)這百分之八十的范圍,而且由于腳本語言開發(fā)起來更簡單也更快,所以你應(yīng)該在選用Java或ActiveX這類難度更大的方案之前,先考慮一下腳本語言。最常被提及的瀏覽器用的腳本語言有JavaScript(跟Java沒什么關(guān)系;它取這個名字只是想搭Java的順風(fēng)車),VBScript(看上去像VisualBASIC),以及Tcl/Tk,這是一種很流行的跨平臺的創(chuàng)建GUI的語言。此外還有一些,但是正在開發(fā)肯定還要多。JavaScript可能是人氣最旺的。NetscapeNavigator同MicrosoftInternet(IE)都內(nèi)置了這個語言。然而不幸的是這兩個瀏覽器所支持的JavaScript在風(fēng)格上有很大的不同(Mozilla支持的ECMAScript或許有一天能成為普遍支持的標(biāo)準(zhǔn)??梢缘絯ww.M去下載這個瀏覽器)。此外講JavaScript的書可能要比其它語言的都多,而且有些工具還能自動生成包括JavaScript程序的頁面。但是如果你已經(jīng)熟悉了VisualBASIC或Tcl/Tk,你還是接著用吧,這要比從頭學(xué)一種新的語言更有效率。
附錄2Client/ServercomputingTheprimaryideaofaclient/serversystemisthatyouhaveacentralrepositoryofinformation—somekindofdata,ofteninadatabase—thatyouwanttodistributeondemandtosomesetofpeopleormachines.Akeytotheclient/serverconceptisthattherepositoryofinformationiscentrallylocatedsothatitcanbechangedandsothatthosechangeswillpropagateouttotheinformationconsumers.Takentogether,theinformationrepository,thesoftwarethatdistributestheinformationandthemachinewheretheinformationandsoftwareresideiscalledtheserver.Thesoftwarethatresidesontheremotemachine,communicateswiththeserver,fetchestheinformation,processesit,andthendisplaysitontheremotemachineiscalledtheclient.Thebasicconceptofclient/servercomputing,then,isnotsocomplicated.Theproblemsarisebecauseyouhaveasingleservertryingtoservemanyclientsatonce.Generally,adatabasemanagementsystemisinvolved,sothedesigner“balances”thelayoutofdataintotablesforoptimaluse.Inaddition,systemsoftenallowaclienttoinsertnewinformationintoaserver.Thismeansyoumustensurethatoneclient’snewdatadoesn’twalkoveranotherclient’snewdata,orthatdataisn’tlostintheprocessofaddingittothedatabase(thisiscalledtransactionprocessing).Asclientsoftwarechanges,itmustbebuilt,debugged,andinstalledontheclientmachines,whichturnsouttobemorecomplicatedandexpensivethanyoumightthink.It’sespeciallyproblematictosupportmultipletypesofcomputersandoperatingsystems.Finally,there’stheall-importantperformanceissue:Youmighthavehundredsofclientsmakingrequestsofyourserveratanyonetime,soanysmalldelayiscrucial.Tominimizelatency,programmersworkhardtooffloadprocessingtasks,oftentotheclientmachine,butsometimestoothermachinesattheserversite,usingso-calledmiddleware.(Middlewareisalsousedtoimprovemaintainability.)Thesimpleideaofdistributinginformationhassomanylayersofcomplexitythatthewholeproblemcanseemhopelesslyenigmatic.Andyetit’scrucial:Client/servercomputingaccountsforroughlyhalfofallprogrammingactivities.It’sresponsibleforeverythingfromtakingordersandcredit-cardtransactionstothedistributionofanykindofdata—stockmarket,scientific,government,younameit.Whatwe’vecomeupwithinthepastisindividualsolutionstoindividualproblems,inventinganewsolutioneachtime.Thesewerehardtocreateandhardtouse,andtheuserhadtolearnanewinterfaceforeachone.Theentireclient/serverproblemneedstobesolvedinabigway.TheWebasagiantserverTheWebisactuallyonegiantclient/serversystem.It’sabitworsethanthat,sinceyouhavealltheserversandclientscoexistingonasinglenetworkatonce.Youdon’tneedtoknowthat,becauseallyoucareaboutisconnectingtoandinteractingwithoneserveratatime(eventhoughyoumightbehoppingaroundtheworldinyoursearchforthecorrectserver).Initiallyitwasasimpleone-wayprocess.Youmadearequestofaserverandithandedyouafile,whichyourmachine’sbrowsersoftware(i.e.,theclient)wouldinterpretbyformattingontoyourlocalmachine.Butinshortorderpeoplebeganwantingtodomorethanjustdeliverpagesfromaserver.Theywantedfullclient/servercapabilitysothattheclientcouldfeedinformationbacktotheserver,forexample,tododatabaselookupsontheserver,toaddnewinformationtotheserver,ortoplaceanorder(whichrequiredmoresecuritythantheoriginalsystemsoffered).Thesearethechangeswe’vebeenseeinginthedevelopmentoftheWeb.TheWebbrowserwasabigstepforward:theconceptthatonepieceofinformationcouldbedisplayedonanytypeofcomputerwithoutchange.However,browserswerestillratherprimitiveandrapidlyboggeddownbythedemandsplacedonthem.Theyweren’tparticularlyinteractive,andtendedtoclogupboththeserverandtheInternetbecauseanytimeyouneededtodosomethingthatrequiredprogrammingyouhadtosendinformationbacktotheservertobeprocessed.Itcouldtakemanysecondsorminutestofindoutyouhadmisspelledsomethinginyourrequest.Sincethebrowserwasjustavieweritcouldn’tperformeventhesimplestcomputingtasks.(Ontheotherhand,itwassafe,becauseitcouldn’texecuteanyprogramsonyourlocalmachinethatmightcontainbugsorviruses.)Tosolvethisproblem,differentapproacheshavebeentaken.Tobeginwith,graphicsstandardshavebeenenhancedtoallowbetteranimationandvideowithinbrowsers.Theremainderoftheproblemcanbesolvedonlybyincorporatingtheabilitytorunprogramsontheclientend,underthebrowser.Thisiscalledclient-sideprogramming.Client-sideprogrammingTheWeb’sinitialserver-browserdesignprovidedforinteractivecontent,buttheinteractivitywascompletelyprovidedbytheserver.Theserverproducedstaticpagesfortheclientbrowser,whichwouldsimplyinterpretanddisplaythem.BasicHyperTextMarkupLanguage(HTML)containssimplemechanismsfordatagathering:text-entryboxes,checkboxes,radioboxes,listsanddrop-downlists,aswellasabuttonthatcanonlybeprogrammedtoresetthedataontheformor“submit”thedataontheformbacktotheserver.ThissubmissionpassesthroughtheCommonGatewayInterface(CGI)providedonallWebservers.ThetextwithinthesubmissiontellsCGIwhattodowithit.Themostcommonactionistorunaprogramlocatedontheserverinadirectorythat’stypicallycalled“cgi-bin.”(IfyouwatchtheaddresswindowatthetopofyourbrowserwhenyoupushabuttononaWebpage,youcansometimessee“cgi-bin”withinallthegobbledygookthere.)Theseprogramscanbewritteninmostlanguages.Perlhasbeenacommonchoicebecauseitisdesignedfortextmanipulationandisinterpreted,soitcanbeinstalledonanyserverregardlessofprocessororoperatingsystem.However,Python(myfavorite—seewww.P)hasbeenmakinginroadsbecauseofitsgreaterpowerandsimplicity.ManypowerfulWebsitestodayarebuiltstrictlyonCGI,andyoucaninfactdonearlyanythingwithCGI.However,WebsitesbuiltonCGIprogramscanrapidlybecomeoverlycomplicatedtomaintain,andthereisalsotheproblemofresponsetime.TheresponseofaCGIprogramdependsonhowmuchdatamustbesent,aswellastheloadonboththeserverandtheInternet.(Ontopofthis,startingaCGIprogramtendstobeslow.)TheinitialdesignersoftheWebdidnotforeseehowrapidlythisbandwidthwouldbeexhaustedforthekindsofapplicationspeopledeveloped.Forexample,anysortofdynamicgraphingisnearlyimpossibletoperformwithconsistencybecauseaGraphicsInterchangeFormat(GIF)filemustbecreatedandmovedfromtheservertotheclientforeachversionofthegraph.Andyou’venodoubthaddirectexperiencewithsomethingassimpleasvalidatingthedataonaninputform.Youpressthesubmitbuttononapage;thedataisshippedbacktotheserver;theserverstartsaCGIprogramthatdiscoversanerror,formatsanHTMLpageinformingyouoftheerror,andthensendsthepagebacktoyou;youmustthenbackupapageandtryagain.Notonlyisthisslow,it’sinelegant.Thesolutionisclient-sideprogramming.MostmachinesthatrunWebbrowsersarepowerfulenginescapableofdoingvastwork,andwiththeoriginalstaticHTMLapproachtheyaresittingthere,justidlywaitingfortheservertodishupthenextpage.Client-sideprogrammingmeansthattheWebbrowserisharnessedtodowhateverworkitcan,andtheresultfortheuserisamuchspeedierandmoreinteractiveexperienceatyourWebsite.Theproblemwithdiscussionsofclient-sideprogrammingisthattheyaren’tverydifferentfromdiscussionsofprogrammingingeneral.Theparametersarealmostthesame,buttheplatformisdifferent;aWebbrowserislikealimitedoperatingsystem.Intheend,youmuststillprogram,andthisaccountsforthedizzyingarrayofproblemsandsolutionsproducedbyclient-sideprogramming.Therestofthissectionprovidesanoverviewoftheissuesandapproachesinclient-sideprogramming.Plug-insOneofthemostsignificantstepsforwardinclient-sideprogrammingisthedevelopmentoftheplug-in.Thisisawayforaprogrammertoaddnewfunctionalitytothebrowserbydownloadingapieceofcodethatplugsitselfintotheappropriatespotinthebrowser.Ittellsthebrowser“fromnowonyoucanperformthisnewactivity.”(Youneedtodownloadtheplug-inonlyonce.)Somefastandpowerfulbehaviorisaddedtobrowsersviaplug-ins,butwritingaplug-inisnotatrivialtask,andisn’tsomethingyou’dwanttodoaspartofthe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度管溝施工環(huán)境保護(hù)與生態(tài)修復(fù)合同3篇
- 2025年度內(nèi)墻刮瓷施工安全風(fēng)險(xiǎn)評估合同
- 二零二五年度苗木種植場地租賃及病蟲害防治服務(wù)協(xié)議
- 2025至2030年工業(yè)用強(qiáng)固型便攜式電腦項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年家用擦鞋器項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年變頻器制動電阻項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年鰻魚康散項(xiàng)目可行性研究報(bào)告
- 2025年中國4孔8音市場調(diào)查研究報(bào)告
- 2025年電子體溫計(jì)用溫度傳感器項(xiàng)目可行性研究報(bào)告
- 2025年中國PET塑料(啤酒)保鮮包裝瓶市場調(diào)查研究報(bào)告
- 車間消防安全知識培訓(xùn)課件
- 勞動法概述勞動法與新經(jīng)濟(jì)業(yè)態(tài)的結(jié)合
- 華為經(jīng)營管理-華為的研發(fā)管理(6版)
- 鋰離子電池生產(chǎn)工藝流程圖
- 平衡計(jì)分卡-化戰(zhàn)略為行動
- 幼兒園小班下學(xué)期期末家長會PPT模板
- 礦山安全培訓(xùn)課件-地下礦山開采安全技術(shù)
- GB/T 6417.1-2005金屬熔化焊接頭缺欠分類及說明
- 2023年湖北成人學(xué)位英語考試真題及答案
- 《社會主義市場經(jīng)濟(jì)理論(第三版)》第七章社會主義市場經(jīng)濟(jì)規(guī)則論
- 《腰椎間盤突出》課件
評論
0/150
提交評論