第一篇:探究基于asp.netajax在web數據開發中的應用
探究基于ASP.NET AJAX在Web數據開發中的應用
摘要:AJAX是實現Web數據開發的一種重要技術,能夠有效降低整頁刷新時,白屏現象的發生頻率,也能有效減輕服務器負荷。隨著新ASP.NET.AJAX框架的推出,由于它們與ASP.NET2.0無縫結合,大大降低了程序員開發Web的難度。關鍵詞:ASP.NET;AJAX;Web開發
AJAX(Asynchronous JavaScript And XML)技術服務宗旨在于提高Web應用程序交互性及其運行速度。通常情況下,該技術多采用SOAP與XML等通訊技術對服務器異步請求/相應進行發送與接收,再利用JavaScript、HTML等顯示技術對響應進行處理。
一、ASP.NET AJAX體系結構
ASP.NET AJAX主要由兩部分組成:客戶端腳本庫與服務器。具體結構如下:
(一)客戶端體系結構
ASP.NET中的客戶端腳本庫(AJAX)的主要構成文件為JavaScript(.js),主要用于面向對象開發,主要分為以下五個內容:瀏覽器兼容層,用來解決Microsoft Internet Explorer、Apple Safari等常用瀏覽器Microsoft AJAX腳本的兼容問題;網絡層,實現建立在Web基礎上的瀏覽器腳本服務與應用程序之間的通信,調用異步遠程管理方法,支持在客戶端腳本中訪問服務器,并提供Forms身份驗證、角色信息以及配置文件信息等;ASP.NET AJAX基礎類庫,包含了用來生成字符串的生成器、擴展錯誤處理等組件;ASP.NET AJAX客戶端控件或組件,其中包括與ASP.NET服務器端控件相似的,且具有良好封裝的模塊化客戶端控件與組件。
(二)服務器端體系結構
微軟公司特地設計了一組特意針對ASP.NET應用程序的AJAX服務器控件,并將現有的ASP.NET頁面框架與控件進行升級與加強,用來更好的支持ASP.NET AJAX客戶端腳本框架。在客戶端上嚴格執行、并嚴格處理客戶端腳本庫是AJAX基于ASP.NET功能的重要體現,AJAX的功能也能由支持從服務器發送到客戶端腳本的服務器控件來實現,也能基于ASP.NET應用程序創建自定義客戶端腳本。在ASP.NET中AJAX功能基礎上,可用客戶端腳本實現ASP.NET Web服務(.asmx)與Windows Communication Foundation(WCF)服務(.svc)的調用。
二、ASP.NET AJAX在Web開發中的應用
(一)使用ScriptManager控件調用Web服務
腳本管理空間ScriptManager作為運行AJAX程序的重要前提,在不需要任何可視界面Web控件的條件下,實現頁面局部更新及頁面全部組件的處理,由此生成相關客戶端代理腳
[1]本,其主要目的是實現在JavaScript中訪問Web Service等。
Web Service是常見的在客戶端利用ScriptManager注冊的服務器端代碼,主要用來實現在JavaScript中調用Web服務,包括自定義服務與內置應用程序服務。
JavaScript中Web服務器調用需通過三個步驟實現:先要創建一個Web服務,在客戶端中注冊該服務,最后在JavaScript中運用該Web服務。
(二)UpdatePanel控件實現局部更新
局部更新是ASP.NET技術的基礎,是基于ASP.NET的核心技術。UpdatePanel的功能是實現Web應用程序局部更新的創建,主要表現在不刷新整個頁面的前提下,對指定頁面的某個區域更新。通過多個UpdatePanel空間還可實現不同區域單獨更新。
UpdatePanel控件具有Content Template與Triggers兩個重要標簽。Content Template標簽主要作用是對UpdatePanel的內容進行定義,程序員能夠在開發過程中可以放置任何ASP.NET控件,ContentTemplate 標簽給這些控件提供了頁面無刷新更新操作的技術平臺。Triggers標簽指的是拒不更新觸發器,包含Async PostBackTrigge異步回傳觸發器與PostBackTrigge觸發器。
Async PostBackTrigge異步回傳觸發器對指定控件中某個事件觸發異步回傳(又稱局部更新),具有ControlID與EventName兩種屬性,ControlID指定控件ID,EventName指定控件事件,當EventName值尚不明確時,自動采用控件默認值。譬如Button按鈕就屬于一種Click單擊事件。將UpdatePanel的外部控件ID設置成ControlID,可實現外部控件對UpdatePanel更新的控制,PostBackTrigge觸發器為非異步回傳觸發器,主要作用是指定在UpdatePanel中的某個服務器端控件,進行整頁回送。
以下為使用ScriptManager與UpdatePanel創建的兩個獨立更新區域頁面步驟:①啟動Visual Studio 2010,在此開發環境下建立一個ASP.NET Web應用程序;②切換至設計視圖,在工具箱“AJAX Exten sions”選項中,找到ScriptManager控件,雙擊,在頁面中添加ScriptManager控件;③在工具箱中找到UpdatePanel控件,并重復雙擊兩次,在頁面中添加兩個UpdatePanel控件;④設置Text屬性為“顯示刷新時間”的Label控件添加到其中一個UpdatePanel控件中;⑤在第④步基礎上,再添加一個Text屬性為“刷新”的Button控件;⑥將Calendar控件添加到另一個UpdatePanel控件中;⑦雙擊“刷新”按鈕,給Click事件添加處理程序。將以下代碼編寫到處理程序中,能夠將當前時間設置到Label控件中:
protected void Button1_Click(object sender, EventArgs e){ Label1.Text = DateTime.Now.ToString();} ⑧單擊“刷新”按鈕,能使上次的刷新時間以文本形式在面板中顯示;⑨將日歷中的時間移動到不同月份,不會使另一個面板中的時間發生改變,兩個面板中的數據均單獨更新。下面為切換至源視圖的主要代碼:
頁面正在刷新... (四)Timer控件實現定時刷新 Timer控件的主要作用是圈定一個固定的時間范圍,執行提交操作需在規定的時間內完成。通過Timer控件可對整個頁面進行執行提交操作,在與UpdatePanel控件共同作用下,在規定的時間內,執行部分頁面刷新操作。Interval屬性的設置,能夠指定執行的回傳頻率,單位ms。在Timer控件啟動,并開始一個回送時,Timer控件基于服務器端引發Tick事件,能夠給Tick事件創建一個用來執行頁面發送服務器請求的處理程序。與此同時,需注意的是,若Timer控件中的Interval屬性值設置太小的話,會致使web服務器嚴重阻塞。因此,只有頁面上的部分內容必要且需頻繁刷新時,才可考慮采用Timer控件。 (五)AJAX Control Toolkit AJAX Control Toolkit是ASP.NET AJAX的拓展,屬于一種控件包,具有30多種給予ASP.NET AJAX具有某種具有專一性的服務器控件。在ASP.NET 2.0 AJAX Extensions上面創建AJAX Control Toolkit,滿足了一下三個需要:其一,給程序員提供了獲取組件的平臺,以便與構建與這些組件相應的Web應用程序;其二,給予客戶端程序員提供強大的示例集;其三,是彰顯腳本開發人員卓越技術的重要體現。 開發環境Visual Studio 2010本身不具有AJAX ControlToolkit 控件,必須下載安裝后才能使用。下載方法為:由正規的網絡資源中,下載得到AjaxControlToolkit.Binary.NET4.rar,進行解壓;單擊右鍵,打開Visual Studio2010 Web 項目的工具箱,找到“添加選項卡”,單擊,這時出現一個文本框,在里面填寫“Ajax Control Toolkit”,確定(回車鍵);在由上一步驟創建的Ajax Control Toolkit選項卡上單擊右鍵,點擊“選擇項”,在彈出的“選擇工具箱項”對話框中,點擊“瀏覽”,找到AjaxControlToolkit.dll,單擊“確定”,如此便能把AJAX Control Toolkit控件添加到工具中。結束語 AJAX是一種基于Web標準的用以創建交互式網頁應用的技術,通過異步調用方式實現部分頁面刷新,因此Web能夠只向服務器傳送、接收自己所需的數據,不僅可以減少網絡流量,還能提高Web應用程序的及時響應性,給用戶提供更好的交互式網頁與更加便捷的個性化服務,便于用戶使用Web應用程序時,就像使用桌面應用程序那樣輕松快捷。 AJAX分離了數據和呈現,與服務器端合理分配工作,服務器端負責數據的邏輯處理,AJAX則負責Web界面的數據呈現工作。這樣分工合作,有利于降低非專業人員修改頁面導致的Web應用程序錯誤,提高了程序的開發效率。ASP.NET AJAX是微軟公司所推出的專門針對ASP.NET應用程序的AJAX應用框架,不僅擁有可視化開發界面,使程序員能夠在Visual Studio 2010環境中充分發揮自己的技術,開發AJAX程序輕松自如、游刃有余。通過對ASP.NET Ajax的使用,極大程度上提高了用戶頁面體驗以及Web應用程序的開發質量與效率。參考文獻: [1]仰燕蘭,金曉雪,葉樺.ASP.NET AJAX框架研究及其在Web開發中的應用[J].計算機應用與軟件,2011,06:195-198.[2]懷艾芹.AJAX技術在Web系統開發中的研究及應用[J].計算機時代,2010,09:55-57.[3]微計算機信息2010年總目錄[J].微計算機信息,2010,36:287-314.[3][2] 人力61 1696112 張偉 策劃報告:庫存管理信息系統的開發 當今社會為信息社會,世界已進入在計算機信息管理領域中激烈競爭的時代。信息已成為繼勞動力、土地、資本之后的又一大資源,誰控制的信息越多,誰利用信息資源的效率越高,誰就會在各方面的競爭中,占有一席之地,誰就會更有優勢,這一點已得到舉世公認。 隨著WTO的加入和我國工業的迅猛發展,為了抓住機遇,在競爭占得先機,作為生產企業的一個必不可少的重要環節—庫存管理的信息化、計算機化也就迫在眉捷了。開發庫存管理信息系統即有宏觀上的意義,那就是順應時代信息化、現代化潮流,提高效益,促進國民經濟結構優化;也有微觀上的意義,那就是可以提高管理的現代化程序,加強管理的信息化手段,提高工作效率,增加單位效益。庫存管理的對象是很多的,廣而言之,它可以包括:商業、企業庫存的商品,圖書館庫存的圖書,博物館庫存的展品等等。在這里本文僅涉及工業企業的產品庫存。它主要包括下列三部分: 1、沒有經過企業加工,而為企業生產或其他各方面所需要的原材料、燃料、半成品、部件等,如鋼材、軸承、發動機、電動機等。 2、已經過企業加工,但尚未加工完畢的在制品。 3、企業已加工完畢,儲而待銷的成品與備件等。 庫存管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強.數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。 經過分析如此情況,我們使用微軟公司的VisualBasic開發工具,利用其提供的各種面向對象的開發工具,尤其是ADO,是能方便而簡潔操縱數據庫的智能化對象,短期內就可以開發出用戶滿意的可行系統。Data控件; ADO Data控件; DataList控件/DataCombo控件; DataGrid控件; MSChart控件。 庫存管理系統按分類、分級的模式對倉庫進行全面的管理和監控,縮短了庫存信息流轉時間,使企業的物料管理層次分明、井然有序,為采購、銷售和生產提供依據;智能化的預警功能可自動提示存貨的短缺、超儲等異常狀況;系統還可進行材料庫存ABC分類匯總,減少資金積壓。完善的庫存管理功能,可對企業的存貨進行全面的控制和管理,降低庫存成本,增強企業的市場競爭力。 庫存管理信息系統研究的內容涉及庫存管理的全過程,包括入庫、出庫、退貨、訂貨、庫存統計查詢等等。下面介紹庫存管理的工作流程: #入庫 供貨單位發貨---運輸---貨物到達后測試檢驗---送貨單---庫管人員查收入庫---入庫單 處理各種入庫業務,如:工業企業的生產入庫、委外加工入庫、其他入庫等入庫業務;按入庫類型可以分別在不同模塊錄入入庫單據信息。#出庫 庫存統計表---各使用單位---領料單----庫管人員出庫---出庫單 處理各種出庫業務,如:工業企業的生產領料、委外領料、其他出庫等出庫業務;按出庫類型可以分別在不同模塊錄入出庫單據信息。#退貨 產品不合格通知書---各使用單位----領料單存根---庫管人員退貨---退貨單 #訂貨 庫存管理部門向采購部門發出采購單---采購部門向供應單位傳遞訂貨單---供應單位組織發貨---運輸----貨物到達后測試檢驗---入庫 #盤點 備份庫存數據,打印盤點表,可按倉庫、批次進行盤點,并根據盤點表生成盤盈、盤虧表,調整庫存賬。 盤點的功能是檢查倉庫現有庫存量與帳面數量是否一致。若盤點結果是倉庫現有庫存量大于帳面數量,則盤盈;若盤點結果是倉庫現有庫存量小于帳面數量,則盤虧。無論是盤盈還是盤虧,它們的差異量都記錄在盤點調整單。根據上述工作流程,庫存管理系統將包含以下內容: 1.能對企業內的各類貨物進行ABC分類管理,并提供最低庫存量、最高庫存量、安全庫存量的預警功能。 2.可以存儲各類信息檔案包括物資、產品基本信息、供貨單位信息、使用單位信息等。 3.可以方便快捷的進行物資入庫管理物資出庫管理等等,安全、高效;支持各種類型的出/入庫業務:生產入庫、委外加工入庫、采購入庫、其他入庫、生產領料出庫、委外領料出庫、銷售出庫和其他出庫等 4.提供退貨管理功能 5.通過查詢庫存,及時了解庫存余額信息,便于訂貨下單,以免由于缺貨,影響生產。另外,還提供經濟訂貨量計算功能和打印訂貨采購單功能。 6.支持庫存盤點功能,可按倉庫、物料進行盤點,自動匯總盤點數據,及時生成盤贏虧調整單 7.可及時打印庫存余額,方便領導決策或安排及時定貨.三、調研情況 1、國內外現狀研究: 計算機在管理中的應用開始于1954年,當時美國首先用計算機處理工資單。40多年來,計算機在處理管理信息方面發展迅速。例如,60年代美國計算機在管理中應用項目不到300項,到了1975年達到2670項。而現在,美國在財務會計上90%的工作由計算機完成;物資管理中80—100%的信息處理由計算機完成;計劃管理中是80—90%。據計算機應用方面發展較快的國家統計,計算機用于經濟管理的約占80%;用于科技運算的占8%;用于生產過程控制的占12%。因此,經濟管理是計算機應用的主要領域。當然,由于庫存管理在經濟管理中占重要地位,其計算機化在發達國家中也已經達到了相當高的水平。我國在全國范圍內推廣計算機在管理中的應用,是在70年代末開始的,雖然起步較晚,近幾年發展卻較快,特別是微型計算機的出現和普及為信息處理提供了物美價廉的手段,對于推動我國管理信息處理的現代化起了重要的作用。 2、目前存在的問題: 庫存管理對企業來說是一項繁瑣復雜的工作,每天要處理大量的單據數據。為及時結清每筆業務,盤點庫存和貨物流動情況,保證企業生產用料以及貨物安全,庫管人員要花費大量人力物力和時間來作數據記錄統計工作。在世界發達國家,庫存管理的計算機化水平已經很高了,盡管我國的生產企業在這方面也有了很強的意識和長足的進步,但仍存在這樣、那樣的一些問題。表現之一:有的企業單位的庫存管理部分目前仍為手工、半手工操作。從供應單位辦理入庫登記開始,到使用單位輸領料出庫手續為止,所有操作基本上都是由倉庫管理人員筆寫,手理,加上算盤、計算器來完成。這不僅繁鎖,效率低,而且缺乏庫存管理的一些基本手段,如庫存狀況統計,查詢經濟訂貨量計算等,這給企業在一定程度上造成了管理上的落后,及經濟利益上的損失。 表現之二為:有的單位的庫存管理部已上了微機,但對微機的利用效率極低,有的在用它打游戲,有的僅把它當計算器或打字機來用。表現之三為:有的企業單位既有了微機同時也有了庫存管理軟件,但硬件上去了,軟件上不去。因為他們用的庫存管理軟件,大多為自己的工作人員及其他一些非專業人員所開發的簡單的管理程序,很難稱得上是“庫存管理信息系統軟件”這些程序的弱點多表現為:1)系統開發時無科學的理論支持。2)開發過程中調研不全面。3)軟件編寫時模型不清晰完整。4)所用開發工具落后(如Foxbase等)。 四、研究解決方法及思路 根據我國國內庫存管理信息系統在企業中應用普及時出現的各種問題,我將用我所學知識,利用當前管理信息系統科學的、實用的理論,開發一套基于NET的庫存管理系統,以求能對我國庫存管理現代化水平的提高貢獻一份微薄的力量。具體的方法及計劃如下: 全論文將分為三個部分。第一部分為引論,闡明所開發項目(庫存管理信息系統)要滿足用戶哪些要求,并給出全文的摘要。第二部分為實際開發過程,這將是論文的核心內容分為理論支持,系統分析(實際調研),系統設計,軟件編寫,運行調試,系統安裝,系統維護七章。第三部分為結束語部分,分為經驗教訓和注意問題及作者建議,參考資料二章。作為作者自己的心得體會與讀者共享。這三個部分中,第二部分為庫存管理信息系統開發過程、方法及工具(VB.NET)使用的詳盡論述處于全論文的核心地位。而其中的理論支持,系統分析,系統設計,軟件編寫又是第二部分的核心,在此將這四章主要內容概述如下: <一>理論支持一章主要內容包括:(1)當前計算機管理界所流行且實用的系統建設三原則:整體性原則、分作—協調原則、目標優化原則。(2)系統開發的結構化生命周期法。(3)原型法。<二>系統分析 系統分析就是明確系統開發的目標和用戶的信息需求,提出系統的邏輯方案。系統分析在整個系統開發過程中,是要解決“做什么”的問題,把要解決哪些問題、要滿足用戶哪些具體的信息需求調查、分析清楚,從邏輯上或從功能需求上提出系統的方案。 通過對系統的調查和可行性分析,畫出系統的實際操作流程圖: 供貨單位管理 使用 總體設計 系統目標設計 系統開發的總體任務是實現企業物資設備管理的系統化、規范化和自動化,從而達到企業倉庫庫存管理效率的目的。開發設計思想 庫存管理的物資主要是企業生產中所需要的各種設備、原材料及零部件。進貨時經檢查合同確認為有效托收后,進行驗收入庫,填寫入庫單,進行入庫登記。企業各個部門根據所需要的物資設備總額和部門生產活動需要提出物資需求申請。計劃員根據整個企業的需求開出物資設備出庫單,倉庫管理員根據出庫單核對發放設備、原材料及零部件。有些設備使用完畢需要及時歸還入庫,填寫還庫單。根據需要按照月、季、年進行統計分析,產生相應報表。倉庫庫存管理的特點是信息處理量比較大。所管理的物資設備、原材料及零部件種類繁多,而且由于入庫單、出庫單、需求單等單據發生量特別大,關聯信息多,查詢和統計的方式各不相同,因此在管理上實現起來有一定的困難。在管理的過程中經常會出現信息的重復傳遞;單據、報表種類繁多,各個部門規格不統等問題。 在本系統的設計過程中,為了克服這些困難,滿足計算機管理的需要,我們采取了下面的一些原則: 統一各種原始單據的格式,統一帳目和報表的格式。刪除不必要的管理冗余,實現管理規范化、科學化。 程序代碼標準化,軟件統一化,確保軟件的可維護性和實用性。 界面盡量簡單化,做到實用、方便,盡量滿足企業中不同層次員工的需要。建立操作日志,系統自動記錄所進行的各種操作。系統功能分析 本系統需要完成的功能主要有以下幾點。 庫存管理的各種信息的輸入,包括入庫、出庫、還庫、需求信息的輸入等。庫存管理的各種信息的查詢、修改和維護。設備采購報表的生成。 在材料庫存中加入所允許的最大庫存合最小庫存字段,對所有庫存物資實現監控和報警。 企業各個部門的物資需求管理。操作日志的管理 庫存管理系統的使用幫助。 1知如何能夠投其所好,為用戶實現主動推薦,提供個性化服務;這些都是電子商務成敗的關鍵問題。在這種新型的商務模式下,如何對網絡上大量的信息進行有效組織利用,幫助海量數據的擁有者們找出真正有價值的信息和知識,以指導他們的商業決策行為,成為電子商務經營者關注的問題。迅速發展的基于Web的數據挖掘技術,為解決電子商務所面臨的問題提供了有效途徑。Web數據挖掘 2.1 Web數據挖掘概述 數據挖掘(Data Mining)是從大量的、不完全的、有噪聲的、模糊的和隨機的數據中提取人們事先不知道的、潛在有用的信息和知識的非平凡過程。 Web數據挖掘(Web Mining)是從Web文檔和Web活動中抽取感興趣的、潛在的有用模式和隱藏的信息,是數據庫、數據挖掘、人工智能、信息檢索、自然語言理解等技術的綜合應用,是在一定基礎上應用數據挖掘的方法以發現有用的知識來幫助人們從www.tmdps.cnputer processing of Oriental Languages,2003,16(2). Web開發技術及其應用學習心得 從大學開始接觸Web應用開發技術,但是大學里概念性的東西過強,導致學完后對于如何實際應用開發并不是很有條理。 一、何為Web應用程序 我剛開始學習的是java和C++應用程序,這些程序只能在本機上運行,接觸了Web應用程序開發,才知道原來自己一直在接觸使用Web應用程序,像在學校使用的教務管理系統還有經常用上的人人網,都是Web應用程序,Web應用程序首先是“應用程序”,和用標準的程序語言,如C、C++、C#等編寫出來的程序沒有什么本質上的不同。然而Web應用程序又有自己獨特的地方,就是它是基于Web的,而不是采用傳統方法運行的。換句話說,它是典型的瀏覽器/服務器架構的產物。也就是說我們開發的程序是運行在服務器端,客戶使用瀏覽器就可以使用程序提供的服務。 二、Web應用程序開發常用語言 Web應用程序開發常用語言有JSP、ASP、PHP、ASP.NET等,自己在網上對這些語言進行的一些了解,這些語言各有各的優勢和缺點,編程者可以根據各自的情況選擇編程語言,我起初學習Web編程的時候是學的JSP,它的底層語言是JAVA,由于有過Java和網頁設計的基礎學習起來也不是很麻煩,上手還是比較快的,但是隨著系統的復雜度的提高我發現開發越來越麻煩,每個表單和控件都要自己定義引用,后來通過同學的推薦,開始著手學習ASP.NET,它是微軟公司繼ASP后推出的又一門服務器端腳本語言,ASP.NET一般分為兩種開發語言,VB.NET和C#,C#相對比較常用,因為是.NET獨有的語言,VB.NET則為以前VB程序設計,適合于以前VB程序員,如果新接觸.NET,沒有其他開發語言經驗,建議直接學習C#。 三、如何學好ASP.net 學習ASP.net我個人覺得首先應該對HTML標簽有所了解,因為開發動態網頁還是要跟HTML標簽打交道,多了解一些你在編程的時候更容易上手,還有HTML提供的一些表單,最好能熟悉,在ASP.net中也提供了各類控件,這些控件的學習都比較簡單,所見即所得,可以直接向頁面中拖各種控件,后臺代碼寫在.cs文件中。關于學習方法,個人心得總結如下: 學習的過程最好能結合各自情況,像我自身只是一般的初學者,所以我從先看一些asp.net的視頻教程,盡快熟悉它的用法和規范,因為這樣接受比較快,但是不能一味的只看視頻,必須要學著去實踐,開始可以跟著視頻上的例子照葫蘆畫瓢作一些試試,可以自己嘗試著去修改例子,將它變成自己的東西。另外又找了兩本.net方面的書,最佳組合是一本基礎的書和一本實例書,這樣可以鞏固前面的學習,如果有不清楚的地方可以直接查書,加深記憶,看實例的書,并且最好能照著書上實現一遍,提高自己的水平,前萬不要眼高手低,要不到到頭來前功盡棄,前面學的都忘了。 此次授課的老師實踐經驗非常豐富,他把學員建立在現實開發的基礎上,深入淺出,引用實例,授課一點也不枯燥,我們在接受了他們大量的信息的同時,很自然地消化處理,沒有任何被動。Java語言程序設計、數據庫技術基礎、Servlet和JSP編程基礎到輕量級J2EE體系架構程序開發,老師們貼切的例子以及耐心的授課,使我學到了許多寶貴的實戰經驗和技巧。這在書本中甚至大學課程里是覺得找不到的。在此我對老師表示衷心的感謝并致以最崇高的敬意! 西 安 郵 電 大 學 (計算機學院) 《Web應用開發》課內實驗報告 題 目: 劇院系統的登陸與驗證 專業名稱: 軟件工程 班 級: 軟件1405 學生姓名: 指導教師: 起止時間: 2016年10月12日---2016年11月2日 一、課程設計目的 1.學會使用 Servlet 處理客戶端請求實現用戶登陸 2.學會通過 JDBC 訪問 Mysql數據庫的技術 3.了解Statement 和 PreparedStatement 的區別 4.掌握連接池的概念和 C3P0 連接池的用法 5.學會JAVA EE Web 過濾器的編寫 6.使用過濾器實現中文亂碼 7.使用過濾器實現模塊控制 二、課程設計內容 1.編寫servlet 實現用戶登陸,從數據庫中取出數據 2.使用c3p0實現連接池技術并對數據庫進行操作。3.編寫filter實現對模塊訪問的控制 4.編寫filter實現對編碼的轉換 三、軟硬件環境及系統所采用的體系結構 操作系統、語言版本、開發工具、數據類型和版本 操作系統:win 10 64bit 語言:java 1.8 開發工具:IDEA 2016.2 四、實驗過程 1.完成數據庫訪問模塊(使用連接池)學習老師給的demo,實現數據庫的訪問 部分源碼: 使用IDAO接口定義DAO中的方法降低上下邏輯的耦合度 IDAO中接口 DAO中逐一去實現 測試代碼: 結果: 2.登陸、修改用戶密碼所用的控制器(Servlet) 登陸servlet:首先從前段jsp界面獲取用戶輸入的用戶名和密碼,然后在servlet調用model層的邏輯方法去訪問數據庫來判斷當前用戶是否合法,并將部分用戶信息寫入session中方便后面的頁面讀取數據。 修改用戶密碼servlet: 當用戶點擊用戶名時跳轉到userManagerServlet同時使用Url 傳入用戶的ID以及action動作,然后servlet調用model去獲取改用戶的信息并傳到前段。部分源碼: loginServlet: UserManagerServlet: 3.字符編碼過濾器 編寫filter過濾所有的請求并把字符編碼方式設置成utf-8 部分源碼: XML配置: 4.登陸鑒權過濾器 編寫filter對用戶的類型進行過濾。取出session中的Type值 根據值的類型確定可以訪問的目錄,對于無法訪問的目錄將跳轉到錯誤頁。managerFilter部分源碼: EmployeeFilter部分源碼: 5.用戶信息修改 前段界面發送請求,包含action和用戶id,其中action為updateUser,在servlet收到請求后調用model層方法返回一個employee對象,并傳入到前段界面進行修改,然后前段界面將修改后的數據傳回服務器,再在服務器端寫入數據庫中。Servlet端部分代碼: 五、系統的實施 10.12-10.9:完成servlet的編寫及功能實現,此時驗證未使用數據庫 10.10-10.16:完成數據庫鏈接池的編寫并和servlet結合進行登陸的驗證 10.17-10.23:加入管理員對員工信息的修改。及filter對登陸的驗證 10.24-11.02:完成filter對模塊的訪問控制,字符編碼的轉換,以及加入員工對自己信息的修改。 六、實驗評價及心得體會
第二篇:web技術應用與開發
第三篇:Web數據研究與應用論文
第四篇:Web開發技術及其應用學習心得
第五篇:《Web應用開發》課內實驗報告