freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于jspmysql的網(wǎng)上書店設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-在線瀏覽

2024-07-29 15:44本頁面
  

【正文】 傳統(tǒng)書店更大的成本優(yōu)勢。3. 系統(tǒng)需求分析現(xiàn)在Internet上隨處可見網(wǎng)上商城、網(wǎng)上書店等電子商務(wù)網(wǎng)站,讓消費(fèi)者足不出戶就可購買到想買的商品,不僅方便了消費(fèi)者,也讓擁有電子商務(wù)網(wǎng)站的企業(yè)能及時(shí)向廣大客戶推銷產(chǎn)品、構(gòu)建企業(yè)形象、贏得利潤。第三章 相關(guān)技術(shù)介紹 在進(jìn)行開發(fā)之前,首先決定的第一個(gè)問題就是,該使用什么開發(fā)環(huán)境來編寫該系統(tǒng)?以目前常用的開發(fā)語言來講有C/C++、.NET技術(shù),JAVA、 Visual Basic幾種?;谝韵聨c(diǎn),選擇JAVA語言開發(fā)技術(shù)。用戶可能使用的是Windows Linux。JAVA的Swing 組件開發(fā)技術(shù)可以開發(fā)豐富的圖形界面,并且Swing API類提供了豐富的外部接口和方法,可以方便實(shí)現(xiàn)系統(tǒng)功能。此外,在程序除錯(cuò)、修改、升級和增加新功能等方面,因其面向?qū)ο蟮奶匦?,使得這些維護(hù)也變得非常容易。能夠在程序中產(chǎn)生異常情況的地方,執(zhí)行相對應(yīng)的處理,不至于因突發(fā)或意外的錯(cuò)誤造成執(zhí)行中斷或是死機(jī)。高性能,Java可以在運(yùn)行時(shí)直接將目標(biāo)代碼翻譯成機(jī)器指令。翻譯目標(biāo)代碼的速度與C/C++的性能沒什么區(qū)別。不論是一般因特網(wǎng)/局域網(wǎng)的程序,如Socket、Email、基于Web服務(wù)器的Servlet、JSP程序,甚至連分布式網(wǎng)絡(luò)程序,如CORBA、RMI等的支持也是非常豐富的,使用起來也很方便。Collection是由JVM對內(nèi)存實(shí)行動態(tài)管理的。讓我們能夠更專心地編寫程序,而不需要擔(dān)心內(nèi)存的問題。本網(wǎng)站用到的開發(fā)環(huán)境是MyEclipse平臺、Tomcat服務(wù)器、MySQL數(shù)據(jù)庫。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級。 Tomcat服務(wù)器簡介Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。鄧肯后來他幫助將其變?yōu)殚_源項(xiàng)目,并由Sun貢獻(xiàn)給Apache軟件基金會。Reilly都會出一本相關(guān)的書,并且將其封面設(shè)計(jì)成某個(gè)動物的素描,因此他希望將此項(xiàng)目以一個(gè)動物的名字命名。而O39。而Tomcat的Logo兼吉祥物也被設(shè)計(jì)成了一只公貓。對于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。這里的訣竅是,當(dāng)配置正確時(shí),Apache 為HTML頁面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁面和Servlet。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。Tomcat按照自己的方式,同樣提供一個(gè)成熟的管理 工具,并且絲毫不遜于那些商業(yè)化的競爭對手。當(dāng)然也可以管理像初始化參數(shù),user、group、role的多種數(shù)據(jù)庫管理等。 MySQL數(shù)據(jù)庫簡介MySQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器,它是一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn)。MySQL 主要目標(biāo)是快速、健壯和易用。MySQL 對于一般中小型,甚至大型應(yīng)用都能夠勝任。這種數(shù)據(jù)集合具有如下特點(diǎn):盡可能不重復(fù),以最優(yōu)方式為某個(gè)特定組織的多種應(yīng)用服務(wù),其數(shù)據(jù)結(jié)構(gòu)獨(dú)立于使用它的應(yīng)用程序,對數(shù)據(jù)的增、刪、改和檢索由統(tǒng)一軟件進(jìn)行管理和控制。 數(shù)據(jù)庫的基本結(jié)構(gòu)分三個(gè)層次,反映了觀察數(shù)據(jù)庫的三種不同角度。它是數(shù)據(jù)庫的最內(nèi)層,是物理存貯設(shè)備上實(shí)際存儲的數(shù)據(jù)的集合。 概念數(shù)據(jù)層。指出了每個(gè)數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系,是存貯記錄的集合。 邏輯數(shù)據(jù)層。 數(shù)據(jù)庫不同層次之間的聯(lián)系是通過映射進(jìn)行轉(zhuǎn)換的。數(shù)據(jù)共享包含所有用戶可同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù),也包括用戶可以用各種方式通過接口使用數(shù)據(jù)庫,并提供數(shù)據(jù)共享。同文件系統(tǒng)相比,由于數(shù)據(jù)庫實(shí)現(xiàn)了數(shù)據(jù)共享,從而避免了用戶各自建立應(yīng)用文件。 數(shù)據(jù)的獨(dú)立性。 數(shù)據(jù)實(shí)現(xiàn)集中控制。利用數(shù)據(jù)庫可對數(shù)據(jù)進(jìn)行集中控制和管理,并通過數(shù)據(jù)模型表示各種數(shù)據(jù)的組織以及數(shù)據(jù)間的聯(lián)系。Java平臺由Java虛擬機(jī)(Java Virrtual Machine)和Java應(yīng)用編程接口(Application Programming Interface、簡稱API構(gòu)成)。在硬件或操作系統(tǒng)平臺上安裝一個(gè)Java平臺之后,Java應(yīng)用程序就可運(yùn)行。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。自從1995年正式問世以來,Java的快速發(fā)展已經(jīng)讓整個(gè)Web世界發(fā)生了翻天覆地的變化。Java程序可以獲取網(wǎng)絡(luò)上結(jié)點(diǎn)的圖象、聲音、HTML文檔及文本等資源,并可以對獲得的資源進(jìn)行處理。在編程處理上,一般先生成一個(gè)URL類型的對象,然后用 Java中相應(yīng)的方法(method)獲取該對象所代表的資源。通過一個(gè)配置文件,就可以把整個(gè)系統(tǒng)的各個(gè)部分聯(lián)系起來。早期JSP規(guī)格書中曾例舉兩種可行之JSP應(yīng)用架構(gòu),分別為Model1與Model2。Model1架構(gòu)單純編寫比較容易,但在Model1中JSP可以同時(shí)肩負(fù)View與Controller角色,兩類程序代碼有可能混雜而不易維護(hù)。Servlet可集中管理使用者登入,權(quán)限控制,多國語言轉(zhuǎn)型等前置處理,再視需求轉(zhuǎn)向給對應(yīng)之JSP處理。Struts只是一個(gè)MVC框架(Framework),用于快速開發(fā)Java Web應(yīng)用。但Struts幾乎沒有涉及M(Model),所以Struts可以采用JAVA實(shí)現(xiàn)的任何形式的商業(yè)邏輯。Taglib是Struts的標(biāo)記庫,靈活動用,能大大提高開發(fā)效率。  關(guān)于頁面導(dǎo)航,我認(rèn)為那將是今后的一個(gè)發(fā)展方向,事實(shí)上,這樣做,使系統(tǒng)的脈絡(luò)更加清晰。尤其是當(dāng)另一批開發(fā)者接手這個(gè)項(xiàng)目時(shí),這種優(yōu)勢體現(xiàn)得更加明顯。它源于請求/響應(yīng)模式,如它可以接受來自客戶端瀏覽器的Http請求,并產(chǎn)生一個(gè)響應(yīng),然后將這個(gè)響應(yīng)發(fā)送到客戶端。使用Servlets,由于Java VM(Java虛擬機(jī))是一直運(yùn)行的,因此開始一個(gè)Servlet只會創(chuàng)建一個(gè)新的Java線程而不是一個(gè)系統(tǒng)進(jìn)程  功能強(qiáng)大相對于傳統(tǒng)的CGI,由于有著廣泛的Java API支持,Servlets可做到傳統(tǒng)CGI很困難甚至不能做的事。  安全Servlets通過Servlet引擎在一個(gè)受到限制的環(huán)境下運(yùn)行,與Web瀏覽器對applet的限制相似?! 』ㄙM(fèi)對于個(gè)人或者流量不大的站點(diǎn)來說,有不少“免費(fèi)”或者低價(jià)的web服務(wù)器可供選擇。  可移值性Sevlet API得益于Java平臺,這是一個(gè)相當(dāng)簡單的API,幾乎被所有的Web瀏覽器支持,因此Servlets可以輕松地在平臺間移植,而且通常都無需作任何的修改。當(dāng)客戶機(jī)發(fā)送請求至服務(wù)器時(shí),服務(wù)器可以將請求信息發(fā)送給Servlet,并讓Servlet建立起服務(wù)器返回給客戶機(jī)的響應(yīng)。裝入后,Servlet繼續(xù)運(yùn)行直到其它客戶機(jī)發(fā)出請求。 Struts優(yōu)缺點(diǎn)優(yōu)點(diǎn)有: 1. 實(shí)現(xiàn)MVC模式,結(jié)構(gòu)清晰,使開發(fā)者只關(guān)注業(yè)務(wù)邏輯的實(shí)現(xiàn).2. 有豐富的tag可以用 ,Struts的標(biāo)記庫(Taglib),如能靈活動用,則能大大提高開發(fā)效率。3. ,事實(shí)上,這樣做,使系統(tǒng)的脈絡(luò)更加清晰。尤其是當(dāng)另一批開發(fā)者接手這個(gè)項(xiàng)目時(shí),這種優(yōu)勢體現(xiàn)得更加明顯。現(xiàn)在就是這樣,幾十上百個(gè)人同時(shí)在線使用我們的系統(tǒng),大家可以想象一下,我的煩惱有多大。所以action用到的所有的資源都必需統(tǒng)一同步,這個(gè)就引起了線程安全的問題。不過有一個(gè)Junit的擴(kuò)展工具Struts TestCase可以實(shí)現(xiàn)它的單元測試。但它的轉(zhuǎn)化都是在Class級別,而且轉(zhuǎn)化的類型是不可配置的。五、 對Servlet的依賴性過強(qiáng). Struts處理Action時(shí)必需要依賴ServletRequest 和ServletResponse,所有它擺脫不了Servlet容器。可是JSTL的表達(dá)式語言在Collection和索引屬性方面處理顯得很弱。甚至你要重新去寫Servlet來實(shí)現(xiàn)你的這個(gè)功能需求。九、 對事件支持不夠. 在struts中,實(shí)際是一個(gè)表單Form對應(yīng)一個(gè)Action類(或DispatchAction),換一句話說:在Struts中實(shí)際是一個(gè)表單只能對應(yīng)一個(gè)事件,struts這種事件方式稱為application event,application event和ponent event相比是一種粗粒度的事件?! D3251ActionServlet是一個(gè)FrontController,它是一個(gè)標(biāo)準(zhǔn)的Servlet,它將request轉(zhuǎn)發(fā)給RequestProcessor來處理, ActionMapping是ActionConfig的子類,從中可以取得所有的配置信息 RequestProcessor根據(jù)提交過來的url,如*.do,從ActionMapping 中得到相應(yīng)的ActionForn和Action。如果驗(yàn)證通過則調(diào)用Action的execute()方法來執(zhí)行Action,最終返回ActionFoward。其中包含有validate方法,用于驗(yàn)證form數(shù)據(jù)的有效性。對于一些復(fù)雜的系統(tǒng),還可以采用DynaActionForm來構(gòu)造動態(tài)的Form,即通過預(yù)制參數(shù)來生成Form。 ActionErrors是對錯(cuò)誤信息的包裝,即可產(chǎn)生一個(gè)ActionError并最終加入到ActionErrors。 Action是用于執(zhí)行業(yè)務(wù)邏輯的RequsestHandler。Action不是線程安全的,所以不應(yīng)該在Action中訪問特定資源。  Struts提供了多種Action供選擇使用。如insert,update等。 Hibernate簡介隨著計(jì)算機(jī)應(yīng)用軟件的發(fā)展,應(yīng)用程序逐漸由單層體系結(jié)構(gòu)發(fā)展為多層體系結(jié)構(gòu)。圖1表述層:提供與用戶交互的界面,如GUI(圖形用戶界面),web頁面等;業(yè)務(wù)邏輯層:負(fù)責(zé)各種業(yè)務(wù)邏輯,直接訪問數(shù)據(jù)庫,提供對業(yè)務(wù)數(shù)據(jù)的保存、更新、刪除和查詢操作;數(shù)據(jù)庫層:負(fù)責(zé)存放管理應(yīng)用的持久性業(yè)務(wù)數(shù)據(jù) 三層結(jié)構(gòu)的特點(diǎn)是:所有下層向上層提供調(diào)用的接口,具體實(shí)現(xiàn)細(xì)節(jié)對上層透明。  Hibernate顧名思義冬眠的意思,相信它的創(chuàng)造者的用意在于用這個(gè)工具將數(shù)據(jù)庫連接持久化層冬眠,關(guān)于Hibernate網(wǎng)上爭論很多,有人說其為工具,有人說其為框架,我相信一個(gè)人有一個(gè)人理解問題的角度,只要處理問題的方法正確就可以了。內(nèi)部封裝了JDBC訪問數(shù)據(jù)庫的操作,向上層應(yīng)用提供了面向?qū)ο蟮臄?shù)據(jù)庫訪問API,在JAVA應(yīng)用中使用到Hibernate包含如下步驟。從數(shù)據(jù)層面上看,POJO作為數(shù)據(jù)實(shí)體的對象化表現(xiàn)形式,也成為實(shí)體。ORM是把對象和關(guān)系數(shù)據(jù)庫映射到一起,而MVC是把視圖和模型控制在一起。創(chuàng)建持久化類就是指需要被Hibernate持久化到數(shù)據(jù)庫中的類,持久化類通常都是模型中的實(shí)體類,符合JavaBean的規(guī)范,包含一些屬性,以及與之對應(yīng)的get、set方法。流行的MVC三層開發(fā)結(jié)構(gòu)圖:圖31 MVC模型圖分層的好處:,如業(yè)務(wù)邏輯層可以不必清楚如何與數(shù)據(jù)庫建立連接,如何執(zhí)行一個(gè)sql查詢,只需調(diào)用數(shù)據(jù)訪問層提供的接口就行。2.對于struts中的一些常用的類,象 Actionform、Validatorform、DynaActionform Action、DispatchAction、SwitchAction ActionMapping、ActionForward 要知道它們的功能及如何使用,唯一的辦法就是多寫程序。標(biāo)簽庫內(nèi)容很多,用不著都弄明白,但有些是必須要會用的: Html庫基本都要掌握 Bean庫:define、message、parameter、write Logic庫:iterate,其他雖然不是必需的,但如果能靈活使用,也有不少好處 其它庫我在實(shí)際中很少用,應(yīng)該不是太重要4.盡量熟悉struts的執(zhí)行流程,ActionServlet都做了哪些工作,如果大家有興趣的話,就研究源代碼中ActionServlet類的init和process方法,搞懂這個(gè)之后,對struts的理解自不可同日而語。6.對于錯(cuò)誤的調(diào)試是絕對讓人頭疼的問題,有的甚至只是顯示一個(gè)白頁。其實(shí)關(guān)鍵還是要沉住氣,有時(shí)一個(gè)錯(cuò)誤花半天時(shí)間才解決,等錯(cuò)誤處理多了,水平自然會提高。當(dāng)初我注冊這個(gè)網(wǎng)站時(shí),是絕對的菜鳥。若沒有找到具體的ActionForward,就返回一個(gè)null. ActionMapping的方法: public ExceptionConfig findException(Class type) ,查找異常對象 public ActionForward findForward(String name) 可在映射中動態(tài)添加ActionForward: public String[] findForwards()找到一個(gè)Action可以使用的actionForward列表 public ActionForward getInputForward() 得到本action的輸入ActionForard. Action類 Action類真正實(shí)現(xiàn)應(yīng)用程序的事務(wù)邏輯,它們負(fù)責(zé)處理請求。如果找到了ActionServle
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1