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

正文內(nèi)容

學(xué)生成績(jī)查詢(xún)系統(tǒng)設(shè)計(jì)論文(編輯修改稿)

2024-11-13 09:21 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 。 JSP 頁(yè)面由 HTML 代碼和嵌入其中的 Java 代碼所組成。服務(wù)器在頁(yè)面被客戶(hù)端請(qǐng)求以后對(duì)這些 Java Servlet 代碼進(jìn)行處理,然后將生成的 HTML 頁(yè)面返回給客戶(hù)端的瀏覽器。 Java 是 JSP 的技術(shù)基礎(chǔ),而且大型的 Web應(yīng)用程序的開(kāi)發(fā)需要 Java Servlet 和 JSP 配合才能完成。 JSP 具備了 Java 技術(shù)的簡(jiǎn)單易用,完全的 面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向 因特網(wǎng) 的所有特點(diǎn)。 第二章 系統(tǒng)的需求分析 9 現(xiàn)在,在互聯(lián)網(wǎng)中流行著多種動(dòng)態(tài)網(wǎng)頁(yè)實(shí)現(xiàn)技術(shù),例如 ASP、 JSP、 CGI、 PHP等。對(duì)應(yīng)于這些動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),也存在有多種多樣的 Web 服務(wù)器系統(tǒng),例如Microsoft IIS、 Apache、 Cold Fusion 等。 目前國(guó)內(nèi) ASP 與 PHP 應(yīng)用最為廣泛,尤其是 ASP。而 JSP 則在國(guó)外非常流行,國(guó)外電子商務(wù)類(lèi)的網(wǎng)站許多都采用 JSP。 JSP 的優(yōu)勢(shì)如下所述: 1. 將內(nèi)容的生成和顯示進(jìn)行分離 使用 JSP 技術(shù), Web 頁(yè)面開(kāi)發(fā)人員可以使用 HTML 或者 XML 標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面。使用 JSP 標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求來(lái)變化的,例如請(qǐng)求帳戶(hù)信 息或者特定的一瓶酒的價(jià)格)。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和 JavaBeans 組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和 Beans 中,那么其他人,如 Web 管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用 JSP 頁(yè)面,而不影響內(nèi)容的生成。 在服務(wù)器端, JSP 引擎解釋 JSP 標(biāo)識(shí)和小腳本,生成所請(qǐng)求的內(nèi)容(例如,通過(guò)訪問(wèn) JavaBeans 組件,使用 JDBCTM 技術(shù)訪問(wèn)數(shù)據(jù)庫(kù),或者包含文件),并且將結(jié)果以 HTML(或者 XML)頁(yè)面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于 HTML 的 Web 瀏覽器的完全可用性。 2. 生成可重用的組件 絕大多數(shù) JSP 頁(yè)面依賴(lài)于可重用的,跨平臺(tái)的組件( JavaBeans 或者Enterprise JavaBeansTM 組件)來(lái)執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶(hù)團(tuán)體所使用?;诮M件的方法加速了總體開(kāi)發(fā)過(guò)程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開(kāi)發(fā)努力中得到平衡。 3. 采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā) Web 頁(yè)面開(kāi)發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。 JavaServer Page 技術(shù)封裝了許多功能,這些功能是在易用的、與 JSP 相關(guān)的 XML 標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的 JSP 標(biāo)識(shí)能夠訪問(wèn)和實(shí)例化 JavaBeans 組件,設(shè)置或者檢索組件屬性,下載 Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。 10 基于 EXCEL 數(shù)據(jù)源的成績(jī)查詢(xún)系統(tǒng) 通過(guò)開(kāi)發(fā)定制化標(biāo)識(shí)庫(kù), JSP 技術(shù)是可以擴(kuò)展的。今后,第三方開(kāi)發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫(kù)。這使得 Web 頁(yè)面開(kāi)發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來(lái)工作。 4.將內(nèi)容的生成和顯示進(jìn)行分離 與 SERVLETS 相比, JSP 能提供所有 SERVLETS 功能,但它比用 println 書(shū)寫(xiě)和修改 HTML更方便。此外,你可以更明確的進(jìn)行分工, WEB頁(yè)面設(shè)計(jì)人員編寫(xiě) HTML,只需要留出地方讓 SERVLETS 程序員插入動(dòng)態(tài)部分即可。 5.由于 JSP 頁(yè)面的內(nèi)置腳本語(yǔ)言是基于 Java 編程語(yǔ)言的,而且所有的 JSP頁(yè)面都被編譯成為 Java Servlet, JSP 頁(yè)面就具有 Java 技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。 6.作為 Java 平臺(tái)的一部分, JSP 擁有 Java 編程語(yǔ)言“一次編寫(xiě),各處運(yùn)行”的特點(diǎn)。隨著越來(lái) 越多的供應(yīng)商將 JSP 支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,更改工具或服務(wù)器并不影響當(dāng)前的應(yīng)用。 系統(tǒng)開(kāi)發(fā)工具與運(yùn)行環(huán)境 開(kāi)發(fā)工具的選擇 在開(kāi)發(fā)工具上,我選擇地是 Eclipse 和 Tomcat, Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是, Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開(kāi)發(fā)工具( Java Development Tools, JDT) 。Tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶(hù)不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試 JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好 Apache 服務(wù)器,可利用它響應(yīng)對(duì) HTML 頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上 Tomcat 部分是 Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行 tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 第二章 系統(tǒng)的需求分析 11 面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程 1. Java 在虛擬機(jī)上運(yùn)行 Java 源代碼并不是被編譯成為普通的機(jī)器代碼 。而是被翻譯成為虛擬機(jī)可以執(zhí)行的代碼。一個(gè) Java 解釋器最終執(zhí)行這些代碼。這其中沒(méi)有連接的過(guò)程;解釋在需要的時(shí)候動(dòng)態(tài)的加載一些類(lèi); 2. Java 是完全面向?qū)ο蟮? Java 是一種完全面向?qū)ο蟮恼Z(yǔ)言。這意味著你對(duì)任何一個(gè) Java 對(duì)象所做的動(dòng)作都是通過(guò)一個(gè)方法實(shí)現(xiàn)的。第一點(diǎn)就是,再也沒(méi)有沒(méi)有主函數(shù)這樣的孤立的東西了。取而代之的是,你必須開(kāi)始用一個(gè)對(duì)象的看法看待一個(gè)程序,一個(gè)類(lèi)的對(duì)象。但是這個(gè)對(duì)象又什么對(duì)象呢?大多數(shù) Java 程序只是簡(jiǎn)單的通過(guò)繼承 Java基礎(chǔ)類(lèi) Object 來(lái)實(shí)現(xiàn)所需要的東西,但是你可以通過(guò)創(chuàng)建程序基 礎(chǔ)類(lèi)用于多個(gè)特性相似的應(yīng)用程序來(lái)節(jié)省時(shí)間。 嚴(yán)格的面向?qū)ο蟮囊?guī)定意味著理用原有的 C/C++代碼不可以直接不加改動(dòng)的使用;系統(tǒng)調(diào)用也是這樣的。 C++中,你可以通過(guò)在 C++正常的命名空間外聲明externC來(lái)使用原有的 C 的過(guò)程調(diào)用,包括系統(tǒng)調(diào)用。 在 Java 中,只有一個(gè)類(lèi)似的安全回溯的方法,但是并不是十分簡(jiǎn)單的方法。你必須定義一個(gè)本地方法,其目的是為 C 語(yǔ)言提供接口,然后提供連接的介質(zhì)。Java 環(huán)境提供了完成這種任務(wù)的工具,但是整個(gè)過(guò)程和 C++中提供的 extern 比微不足道,完成使用 C++類(lèi)的過(guò)程則更加復(fù)雜, 因?yàn)檫@樣會(huì)引入對(duì) C 的借口和 C 函數(shù)和 C++成員函數(shù)的問(wèn)題。 幸運(yùn)的是,許多常用的系統(tǒng)實(shí)用工具函數(shù)已經(jīng)在系統(tǒng)類(lèi)中的方法中提供出來(lái),但是這些明顯沒(méi)有包含經(jīng)過(guò)許多年來(lái)你所創(chuàng)建的那些類(lèi)和過(guò)程。所以,在你需要的時(shí)候你應(yīng)該去鉆研一下。 3. Java 中沒(méi)有獨(dú)立的頭文件 在 Java 中,關(guān)于類(lèi)的一切東西都被放到一個(gè)單獨(dú)的文件中。方法的位置只可能在一個(gè)地方出現(xiàn),一個(gè)方法的實(shí)現(xiàn)必須在它的定義過(guò)程中同時(shí)進(jìn)行。這樣做得優(yōu)點(diǎn)是在實(shí)現(xiàn)程序的時(shí)候不容易因?yàn)槲募姆峭藉e(cuò)誤而失敗,或者獲取到一個(gè)沒(méi)有實(shí)現(xiàn)的聲明。類(lèi)的聲明可以被 Java 解釋器利用 甚至是從一個(gè)編譯過(guò)的單元中獲取,所以不再需要有頭文件,只要有編譯過(guò)的文件。 12 基于 EXCEL 數(shù)據(jù)源的成績(jī)查詢(xún)系統(tǒng) 這樣做的缺點(diǎn)與我們編程的過(guò)程有關(guān)。許多 C++程序員喜歡用頭文件來(lái)代替文檔。要看一個(gè)成員函數(shù)的接口參數(shù),只需要看頭文件中的聲明即可。你可以經(jīng)常的看頭文件即可了解怎樣去使用這個(gè)類(lèi)。在 Java 中,沒(méi)有這樣的總結(jié)。因?yàn)閷?shí)現(xiàn)類(lèi)方法的代碼必須在方法定義的時(shí)候出現(xiàn),而且,對(duì)于一個(gè)單獨(dú)的函數(shù)的代碼來(lái)說(shuō)就經(jīng)常占據(jù)了一整頁(yè)乃至更多。這樣,很難通過(guò)看 Java 的代碼就初步了解類(lèi)是怎樣使用的。你必須為你需要的類(lèi)準(zhǔn)備足夠多的文檔。不言而喻,再處理非商業(yè)類(lèi)庫(kù)的時(shí) 候文檔是極度缺乏的。 在當(dāng)先的 Java 環(huán)境中提供了兩個(gè)工具來(lái)補(bǔ)償這些, javap 來(lái)打印類(lèi)標(biāo)識(shí),javadoc 為嵌入式程序提供 HTML 文檔。 4.用 Package 來(lái)分解 Java 命名空間 在大的 C++工程中經(jīng)常遇到的一個(gè)問(wèn)題是命名空間 怎樣保證工程的一些程序員不會(huì)創(chuàng)建和另一些程序員一樣名字的類(lèi)?更糟糕的是,供應(yīng)商可能會(huì)提供一個(gè)包含和你的類(lèi)一樣名字的類(lèi)的庫(kù)。有許多方法可以解決這一問(wèn)題,但是很可能在問(wèn)題發(fā)現(xiàn)之前工程已經(jīng)啟動(dòng),改正錯(cuò)誤是需要付出許多痛苦的。 Java 通過(guò) Package這個(gè)概念解決了這個(gè)問(wèn)題, Package 有效地通過(guò)通過(guò)集合類(lèi)劃分了命名空間。在不同包內(nèi)的兩個(gè)同名的類(lèi)仍然是不同的。關(guān)鍵問(wèn)題就變成了類(lèi)是否放置到相應(yīng)的包中。 記住, Java 并沒(méi)有解決命名沖突的問(wèn)題。擴(kuò)展一個(gè)基類(lèi)而引起了派生類(lèi)的沖突。比如說(shuō),如果你最喜歡的供應(yīng)商提供了一些類(lèi),然后你把它們用做基類(lèi)并且派生有一個(gè) foo 方法的類(lèi),當(dāng)供應(yīng)商提供一個(gè)新版本的類(lèi)的時(shí)候就可能出現(xiàn),如果供應(yīng)商業(yè)也在新類(lèi)中提供了一個(gè) foo 的方法。 5.異常是 Java 的重要特性 在 C++中,異常和異常處理是十分深?yuàn)W的事情;許多 C++程序員從沒(méi)有處理過(guò)它們甚至不知道它們是何物。 異常是在正常的過(guò)程中出現(xiàn)的未預(yù)料的錯(cuò)誤,因此,它們不會(huì)從方法中返回,或者作為參數(shù)傳入;但是,它們不能被忽略!這里的一個(gè)例子是計(jì)算一個(gè)書(shū)的方根的方法。正常的接口形式是將一個(gè)正數(shù)作為參數(shù)傳入方法,然后方法會(huì)返回一個(gè)正實(shí)數(shù)作為結(jié)果,方法可以檢驗(yàn)這些并且在異常產(chǎn)生 第二章 系統(tǒng)的需求分析 13 的時(shí)候拋出異常。在大多數(shù)系統(tǒng)中,程序員并不是必須這樣做,這樣,一個(gè)沒(méi)有考慮到的異??梢允钩绦虿徽5耐顺?。 在 Java 中,異常已經(jīng)成為語(yǔ)言中非常成熟的部分。方法的說(shuō)明中就包含了異常的信息,程序處理器也強(qiáng)制檢驗(yàn)如果你使用了一個(gè)能夠產(chǎn)生異常的方法,你就必須檢查 異常是否發(fā)生。幾乎所有的 Java 程序員都會(huì)遇到異常的情況,因?yàn)樵S多非常有用的庫(kù)中的類(lèi)都會(huì)拋出異常。處理異常并不難,但是在一些時(shí)候是需要注意的。一個(gè)方法的文檔會(huì)指明方法拋出的異常的類(lèi)型。如果你忘了,不要緊,編譯器會(huì)提醒你的。 6.字符串不再是字符數(shù)組 Java 中包括了一個(gè)字符串的對(duì)象,并且是個(gè)常量。字符串不像字符數(shù)組一樣,雖然可以簡(jiǎn)單的從一個(gè)字符數(shù)組構(gòu)造一個(gè)字符串。你應(yīng)該盡可能的用字符串代替字符數(shù)組,因?yàn)樗麄儾粫?huì)因?yàn)檎`操作而被覆蓋。 7. Java 限制了常量對(duì)象和方法 在 C++中,你可以正式的聲明一個(gè)函數(shù)參數(shù)或 者函數(shù)返回值為 const 類(lèi)型,這樣可以有效的防止對(duì)參數(shù)或者返回值的不正當(dāng)修改。另外,你可以聲明一個(gè)成員函數(shù)為 const,表明它不可以修改任何他操作的對(duì)象。 Java 支持常量操作符,只讀變量,這些通過(guò) final 關(guān)鍵字實(shí)現(xiàn)。但是 Java沒(méi)有支持強(qiáng)制的使一個(gè)可寫(xiě)變量在函數(shù)傳遞、返回的過(guò)程中變?yōu)橹蛔x?;蛘叨x一個(gè)不操作修改對(duì)象的常量方法。 在 Java 中,這個(gè)省略帶來(lái)的影響和在 C++中相比就非常小了,這很大程度上因?yàn)樽址兞亢妥址麛?shù)組的不同,但是這也帶來(lái)一個(gè)引起錯(cuò)誤的隱患。特別地,沒(méi)有辦法檢驗(yàn)一個(gè)方法是否可以改動(dòng)對(duì) 象。 8. Java 沒(méi)有指針 理解指針的概念是一個(gè) C 或 C++程序員最難應(yīng)付的問(wèn)題。指針也是錯(cuò)誤產(chǎn)生的一大根源。 Java 中沒(méi)有指針,對(duì)象的句柄直接作為參數(shù)傳遞,而不是傳遞指針。另外,你必須通過(guò)索引使用數(shù)組。這些都不是什么大問(wèn)題。然而,沒(méi)有指針是在寫(xiě)含有函數(shù)指針或者成員函數(shù)指針的系統(tǒng)的時(shí)候引起很大麻煩。這個(gè)問(wèn)題在處理回調(diào)函數(shù)的時(shí)候更加顯著。 14 基于 EXCEL 數(shù)據(jù)源的成績(jī)查詢(xún)系統(tǒng) 9. Java 沒(méi)有參數(shù)化類(lèi)型 參數(shù)化類(lèi)型提供了用一段程序處理許多相似程序的方法。一個(gè)例子就是開(kāi)平方根的方法,它可以對(duì) int 或者 float 操作。在 C++中,這一特性是由模板提供的 。 Java 中不包含 C++中的模板的等價(jià)物。如果你經(jīng)常使用模板來(lái)簡(jiǎn)化程序,比如說(shuō)構(gòu)造許多使用相似參數(shù)類(lèi)型的函數(shù),這簡(jiǎn)直就是災(zāi)難。這意味著更多使用復(fù)制、粘貼的過(guò)程來(lái)手動(dòng)的完成。然而,如果你使用模板來(lái)生成類(lèi)的話,沒(méi)有簡(jiǎn)單的方法。 10. Java 使用垃圾回收 在垃圾回收的語(yǔ)言中,運(yùn)行時(shí)環(huán)境一直監(jiān)測(cè)哪些內(nèi)存不被使用。當(dāng)一塊內(nèi)存不用的時(shí)候,系統(tǒng)自動(dòng)的回收內(nèi)存。比如說(shuō),一個(gè)對(duì)象在一個(gè)方法中生成,但是沒(méi)有被調(diào)用著返回或者沒(méi)有儲(chǔ)存為全局變量,不能在方法外部使用。系統(tǒng)自己會(huì)知道哪些變量是你用不到的,哪些是可以用到的。因此,你 不必再為破壞對(duì)象回收內(nèi)存而擔(dān)心。在 C++中,很多的調(diào)試時(shí)間都被使用到檢查內(nèi)存漏洞中。 Java 的這種方法很大程度上降低了這種錯(cuò)誤的可能。但是他依然不能處理邏輯混亂的程序,他們不能夠被回收。許多 C++的類(lèi)中的析構(gòu)函數(shù)是用來(lái)釋放對(duì)象引用的內(nèi)存的。 Java 使垃圾回收的事實(shí)說(shuō)明在 Java 中不是必需寫(xiě)析構(gòu)函數(shù)了。但是并不意味著你可以忘記為你的類(lèi)寫(xiě)析構(gòu)函數(shù)。比如,一個(gè)對(duì)象打開(kāi)了網(wǎng)絡(luò)連接就必須被恰當(dāng)?shù)那謇韥?lái)關(guān)閉這個(gè)連接。在 Java 中,析構(gòu)函數(shù)被稱(chēng)作 finalization方法。 11. Java 不支持多重繼承 在任何一個(gè) 復(fù)雜的面向?qū)ο蟮南到y(tǒng)中,實(shí)現(xiàn)一個(gè)有更多方法的新類(lèi)是十分經(jīng)常遇到的事情。比如說(shuō),一個(gè) Manager 類(lèi),需要被作為一個(gè)連表的表頭,但是一個(gè) Manager 又必須是一個(gè) Empl
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1