畢業(yè)論文-新聞發(fā)布系統(tǒng)_第1頁(yè)
畢業(yè)論文-新聞發(fā)布系統(tǒng)_第2頁(yè)
畢業(yè)論文-新聞發(fā)布系統(tǒng)_第3頁(yè)
畢業(yè)論文-新聞發(fā)布系統(tǒng)_第4頁(yè)
畢業(yè)論文-新聞發(fā)布系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 太原理工大學(xué)畢業(yè)設(shè)計(jì)(論文)用紙 緒 論在Internet飛速發(fā)展的今天,電子數(shù)字計(jì)算機(jī)是20世紀(jì)重大科技發(fā)明之一,而互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是通過(guò)網(wǎng)站來(lái)實(shí)現(xiàn)的,獲取信息也是要在Internet“海洋”中按照一定的檢索方式將所需要的信息從網(wǎng)站上下載下來(lái)。因此網(wǎng)站建設(shè)在Internet應(yīng)用上的地位顯而易見(jiàn),它已成為機(jī)關(guān)、學(xué)校、企事業(yè)單位、甚至進(jìn)入尋常百姓家的信息化建設(shè)中的重要組成部分,從而倍受人們的重視。研究背景1.1.1 國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì)傳統(tǒng)的網(wǎng)站新聞管理方式有兩種:一種是靜態(tài)

2、HTML頁(yè)面,更新信息時(shí)需要重新制作頁(yè)面然后上傳頁(yè)面并修改相應(yīng)鏈接,這種方式因?yàn)樾侍鸵巡欢嘤?;另一種是基于JSP和腳本語(yǔ)言,將動(dòng)態(tài)網(wǎng)頁(yè)和數(shù)據(jù)庫(kù)結(jié)合,通過(guò)應(yīng)用程序來(lái)處理新聞,這是目前較為流行的做法。JSP是Sun公司推出的一種網(wǎng)站開(kāi)發(fā)技術(shù),Sun公司借助自己在Java上的不凡造詣,又把人們引進(jìn)JSP時(shí)代,JSP即Java Server Page,它可以在Servlet和JavaBean的支持下,完成功能強(qiáng)大的Web應(yīng)用程序。JSP網(wǎng)站架設(shè)將成為未來(lái)網(wǎng)站架設(shè)的趨勢(shì),而國(guó)內(nèi)網(wǎng)站多數(shù)是用ASP,PHP技術(shù)實(shí)現(xiàn)的,而基于JSP的優(yōu)秀網(wǎng)站較少。1.1.2 研究目的、意義和范圍該新聞發(fā)布系統(tǒng)是在后臺(tái)由人

3、工輸入文章的內(nèi)容,然后系統(tǒng)自動(dòng)將文章內(nèi)容整理保存(即存入數(shù)據(jù)庫(kù));用戶(hù)在前臺(tái)瀏覽到的均是系統(tǒng)自動(dòng)產(chǎn)生的網(wǎng)頁(yè),所有過(guò)程均無(wú)需用戶(hù)手工制作HTML網(wǎng)頁(yè)的一種高效系統(tǒng)。該系統(tǒng)使用JSP和ORACLE數(shù)據(jù)庫(kù)技術(shù)開(kāi)發(fā), 實(shí)現(xiàn)了網(wǎng)站新聞的動(dòng)態(tài)管理,使得對(duì)信息的管理更加及時(shí)、高效,提高了工作效率。該新聞系統(tǒng)具有一般新聞系統(tǒng)的功能,主要包括前臺(tái)新聞查看區(qū)和后臺(tái)管理區(qū),可提供新聞發(fā)布與管理的服務(wù)。該系統(tǒng)是基于B/S(Browser/Server,瀏覽器/客戶(hù)端)模式實(shí)現(xiàn),基于jsp平臺(tái)架構(gòu)開(kāi)發(fā)設(shè)計(jì),主要實(shí)現(xiàn)對(duì)新聞的發(fā)布與管理功能,對(duì)新聞內(nèi)容信息的瀏覽閱讀等。 隨著Internet/Intranet技術(shù)的興起,將

4、原本在單機(jī)或本地局域網(wǎng)上運(yùn)行的數(shù)據(jù)庫(kù)系統(tǒng)移植到因特網(wǎng)中,即開(kāi)發(fā)基于B/S模式的新一代MIS(Management Information System,管理信息系統(tǒng))系統(tǒng),正成為技術(shù)發(fā)展的趨勢(shì)。為了保證系統(tǒng)性能的高效性、可擴(kuò)展性,以及達(dá)到數(shù)據(jù)共享和網(wǎng)絡(luò)化管理的目的,本系統(tǒng)采用B/S體系結(jié)構(gòu)進(jìn)行設(shè)計(jì)開(kāi)發(fā)。1.2 開(kāi)發(fā)工具及技術(shù)1.2.1 開(kāi)發(fā)工具Sun Microsystems公司在推出Java語(yǔ)言的同時(shí),推出了一套開(kāi)發(fā)工具JDK。Sun提供的基于字符模式的Java開(kāi)發(fā)工具包JDK: Java開(kāi)發(fā)工具(JDK)是許多Java專(zhuān)家最初使用的開(kāi)發(fā)環(huán)境。Java是平臺(tái)無(wú)關(guān)的語(yǔ)言是指用Java寫(xiě)的應(yīng)用程

5、序不用修改就可在不同的軟硬件平臺(tái)上運(yùn)行。Java源程序編寫(xiě)借助于記事本,Editpuls,UltraEdit等第三方編輯工具。所有的Java文件編輯、編譯、調(diào)試、解釋運(yùn)行都是通過(guò)使用字符命令來(lái)執(zhí)行操作。JDK由一個(gè)標(biāo)準(zhǔn)類(lèi)庫(kù)和一組建立,測(cè)試及建立文檔的Java實(shí)用程序組成。其核心Java API是一些預(yù)定義的類(lèi)庫(kù),開(kāi)發(fā)人員需要用這些類(lèi)來(lái)訪問(wèn)Java語(yǔ)言的功能。JDK 是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境(Java RuntimeEnvirnment),一堆Java工具和Java基礎(chǔ)的類(lèi)庫(kù)(rt.jar)。不論什么Java應(yīng)用服務(wù)器實(shí)質(zhì)都是內(nèi)置了某個(gè)版本的JDK。因此掌握J(rèn)DK是學(xué)好Jav

6、a的第一步。JDK里面是java類(lèi)庫(kù)和java的語(yǔ)言規(guī)范,它提供的是無(wú)論你用何種開(kāi)發(fā)軟件寫(xiě)java程序都必須用到的類(lèi)庫(kù)和java語(yǔ)言規(guī)范.沒(méi)有jdk,你的java程序根本就不能用。 最主流的JDK是Sun公司發(fā)布的JDK,除了Sun之外,還有很多公司和組織都開(kāi)發(fā)了自己的JDK,例如IBM公司開(kāi)發(fā)的JDK,BEA公司的Jrocket,還有GNU組織開(kāi)發(fā)的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)運(yùn)行效率要比SunJDK包含的JVM高出許多。而專(zhuān)門(mén)運(yùn)行在x86平臺(tái)的Jrocket在服務(wù)端運(yùn)行效率也要比SunJDK好很多。但不管怎么說(shuō),我們還是需要先把Su

7、n JDK掌握好。1.2.2 JSP JSP簡(jiǎn)介:JSP(Java Server Pages)是一種建立在Servlet規(guī)范提供的功能之上的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),和ASP類(lèi)似,它們都是在通常的網(wǎng)頁(yè)文件中嵌入腳本代碼,用于產(chǎn)生動(dòng)態(tài)內(nèi)容,不過(guò)JSP文件中嵌入的是JAVA代碼和JSP標(biāo)記。JSP文件在用戶(hù)第一次請(qǐng)求時(shí),會(huì)被編譯成Servlet,然后由這個(gè)Servlet處理用戶(hù)的請(qǐng)求,所以JSP也可以看成是運(yùn)行時(shí)的Servlet。Servlet是JAVA對(duì)CGI的回應(yīng)。它們?cè)诜?wù)器上執(zhí)行和解釋瀏覽器的請(qǐng)求,承擔(dān)客戶(hù)端和其他應(yīng)用程序之間的中間層的角色。Servlet主要是把動(dòng)態(tài)的內(nèi)容混合到靜態(tài)的內(nèi)容中以產(chǎn)生HT

8、ML。JSP頁(yè)面在HTML元素中潛入JAVA腳本代碼和JSP標(biāo)記,使得文件長(zhǎng)度變短,格式更加清晰。另一方面,JSP把靜態(tài)和動(dòng)態(tài)的內(nèi)容分離開(kāi)來(lái),實(shí)現(xiàn)了內(nèi)容和表示的分離。使用JSP,不需要單獨(dú)配置每一個(gè)文件,只要擴(kuò)展名是.jsp,JSP容器(也是Servlet容器)就會(huì)自動(dòng)識(shí)別,將其轉(zhuǎn)換為Servlet為客戶(hù)端服務(wù)。術(shù)語(yǔ)WEB容器和JSP容器是同義的。JSP的運(yùn)行原理:在JSP第一次獲得來(lái)自于客戶(hù)端瀏覽器的請(qǐng)求時(shí),JSP文件將被JSP引擎(JSP engine)轉(zhuǎn)換成一個(gè)Servlet,即將”.jsp”文件編譯成Java Class文件。當(dāng)Servlet引擎接收到請(qǐng)求后,如果設(shè)置了使用最新的JSP

9、,它就會(huì)去找JSP文件,檢查該文件在上次編譯后是否改動(dòng)過(guò)。如果改動(dòng)過(guò),就會(huì)重新編譯生成新的Servlet,最終將請(qǐng)求轉(zhuǎn)交給編譯好的Servlet引擎執(zhí)行。在編譯時(shí)如果發(fā)現(xiàn)JSP文件有任何語(yǔ)法錯(cuò)誤,轉(zhuǎn)換過(guò)程將中斷,并向客戶(hù)端發(fā)出出錯(cuò)信息;如果編譯成功,則所轉(zhuǎn)換產(chǎn)生的Servlet代碼被編譯,然后該Servlet被JSP引擎加載到內(nèi)存中。此時(shí)JSP引擎還請(qǐng)求了jspInit()方法的執(zhí)行,并對(duì)此Servlet初始化。JspInit()方法在Servlet的生命周期中只被請(qǐng)求一次,然后將被調(diào)用來(lái)處理客戶(hù)端的請(qǐng)求和回復(fù)操作。對(duì)于所有隨后對(duì)該JSP文件的請(qǐng)求,服務(wù)器將檢查該JSP文件自最后一次被存取后是

10、否經(jīng)過(guò)修改。如果沒(méi)有修改,則將請(qǐng)求交還給還在內(nèi)存中的Servlet的jspService()方法,執(zhí)行回復(fù)操作。由于Servlet始終駐于內(nèi)存,所以響應(yīng)是非??斓?。Jsp頁(yè)面在第一次訪問(wèn)時(shí)由于要轉(zhuǎn)化和編譯,運(yùn)行速度較慢,但是當(dāng)?shù)诙卧L問(wèn)該頁(yè)時(shí),由于文件已經(jīng)被編譯成字節(jié)碼文件了,所以速度非常得快。JSP頁(yè)面的組成:JSP頁(yè)面看上去像標(biāo)準(zhǔn)的HTML和XML頁(yè)面,并附帶有JSP引擎能夠處理和解析執(zhí)行的代碼與組件。通常,JSP代碼和組件用于創(chuàng)建在最終頁(yè)面上顯示的文本。通常來(lái)說(shuō),JSP頁(yè)面包括編譯指令,聲明,表達(dá)式等內(nèi)容。(1)編譯指令:使用JSP編譯指令(% 和 %內(nèi)的)來(lái)指定所使用的腳本語(yǔ)言,Ser

11、vlet實(shí)現(xiàn)的接口,Servlet擴(kuò)展的類(lèi),Servlet導(dǎo)入的軟件包。JSP指令的一般語(yǔ)法形式為:。 (2)聲明:用于聲明合法的變量和方法。與任何語(yǔ)言相同,JSP語(yǔ)言使用變量來(lái)保存數(shù)據(jù)。這些變量用declaration元素聲明,聲明的語(yǔ)法為。當(dāng)頁(yè)面被初始化的時(shí)候,JSP頁(yè)面中的所有聲明都被初始化。除了簡(jiǎn)單的變量,方法也能被聲明。聲明不對(duì)當(dāng)前的輸出流產(chǎn)生任何影響。(3)表達(dá)式:通過(guò)計(jì)算表達(dá)式所得到的結(jié)果來(lái)表示某個(gè)值。表達(dá)式的形式為:。表達(dá)式求值的結(jié)果被強(qiáng)制轉(zhuǎn)換為一個(gè)字符串,并插入到當(dāng)前的輸出流中。JSP的運(yùn)行環(huán)境:要運(yùn)行Jsp(注意,不是瀏覽Jsp頁(yè)面),需要有支持Jsp的服務(wù)器。這里分2種情

12、況:一種是自身就支持Jsp的服務(wù)器,如Jrun,Weblogic,JSWDK等;而另一種則是在不支持Jsp的服務(wù)器上安裝Jsp引擎的插件,如在IIS,Apache等服務(wù)器上安裝WebSphere,tomcat,Resin等插件。其中主流服務(wù)器是Weblogic和tomcat.Tomcat服務(wù)器是Apache Group Jakarta小組開(kāi)發(fā)的一個(gè)免費(fèi)服務(wù)器軟件,適合于嵌入Apache中使用,而且,它的源代碼可以免費(fèi)獲得,你可以自由地對(duì)它進(jìn)行擴(kuò)充。訪問(wèn)的地址 http:/jakarta. /tomacat/index.html, Tomcat服務(wù)器的兼容性很好,如WebLogic服務(wù)器采用其為

13、Web服務(wù)器引擎,Jbuilder將其作為標(biāo)準(zhǔn)的測(cè)試服務(wù)器,Sun公司也將其作為JSP技術(shù)應(yīng)用的示例服務(wù)器。不足之處是它的配置比較麻煩,而且有一些安全性的問(wèn)題沒(méi)有解決。但是Tomcat服務(wù)器有眾多大軟件公司的支持,而且服務(wù)器的性能穩(wěn)定,其發(fā)展前景很好。1.2.3 JavaBeanJavaBean的技術(shù)介紹:JavaBean技術(shù)是一種基于Java的組件技術(shù),JavaBean組件可以用來(lái)執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互以及數(shù)據(jù)的提取等,是解決代碼重用問(wèn)題的一種策略。以前的組件無(wú)法實(shí)現(xiàn)真正的代碼重用,其主要原因就是它們對(duì)于處理平臺(tái)的依賴(lài)和對(duì)開(kāi)發(fā)語(yǔ)言的依賴(lài)過(guò)重。由于Java語(yǔ)言在這些方面所具有

14、的特點(diǎn)和優(yōu)勢(shì),使得基于它的軟件JavaBean組件技術(shù)倍受人們的關(guān)注。它的任務(wù)就是:一次編寫(xiě),可以在任何地方執(zhí)行,可以在任何地方重用。JavaBean組件可以在任何地方?jīng)_用包括了可以在應(yīng)用程序、其他組件、文檔、Web站點(diǎn)和應(yīng)用程序構(gòu)造器工具等多種方案中再利用。為了創(chuàng)建和使用Java軟件組件,JavaBean被實(shí)現(xiàn)為一種獨(dú)立于平臺(tái)和結(jié)構(gòu)的應(yīng)用程序接口,它的實(shí)現(xiàn)可忽略?xún)?nèi)部的結(jié)構(gòu)及細(xì)節(jié)問(wèn)題,只需要定義其外部的特征及對(duì)外功能就行。其中,屬性、方法和事件三種接口可以獨(dú)立對(duì)外進(jìn)行開(kāi)發(fā)。JavaBean的實(shí)質(zhì)就是一個(gè).class文件,也可以成為類(lèi)文件。JavaBean以binary格式保存,可以保護(hù)Java

15、源代碼不容易被他人抄襲。1.2.4 ORACLEORACLE數(shù)據(jù)庫(kù)介紹:ORACLE7.X以來(lái)引入了共享SQL和多線索服務(wù)器體系結(jié)構(gòu)。這減少了ORACLE的資源占用,并增強(qiáng)了ORACLE的能力,使之在低檔軟硬件平臺(tái)上用較少的資源就可以支持更多的用戶(hù),而在高檔平臺(tái)上可以支持成百上千個(gè)用戶(hù)。 提供了基于角色(ROLE)分工的安全保密管理。在數(shù)據(jù)庫(kù)管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。 支持大量多媒體數(shù)據(jù),如二進(jìn)制圖形、聲音、動(dòng)畫(huà)以及多維數(shù)據(jù)結(jié)構(gòu)等。 提供了與第三代高級(jí)語(yǔ)言的接口軟件PRO*系列,能在C,C+等主語(yǔ)言中嵌入SQL語(yǔ)句及過(guò)程化(PL/SQL)語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行

16、操縱。加上它有許多優(yōu)秀的前臺(tái)開(kāi)發(fā)工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速開(kāi)發(fā)生成基于客戶(hù)端PC 平臺(tái)的應(yīng)用程序,并具有良好的移植性。 提供了新的分布式數(shù)據(jù)庫(kù)能力??赏ㄟ^(guò)網(wǎng)絡(luò)較方便地讀寫(xiě)遠(yuǎn)端數(shù)據(jù)庫(kù)里的數(shù)據(jù),并有對(duì)稱(chēng)復(fù)制的技術(shù)。Oracle也許是最流行的服務(wù)器,占有最大的市場(chǎng)份額,它被廣泛用于各個(gè)市場(chǎng)領(lǐng)域,滿(mǎn)足一系列的存儲(chǔ)需求,例如財(cái)務(wù)記錄,人力資源及訂單編制等,造成這種現(xiàn)象的原因之一在于Oracle較早的進(jìn)入RDBMS(關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng))領(lǐng)域,并且提供可運(yùn)行于大多數(shù)操作系統(tǒng)上的數(shù)據(jù)庫(kù)版本,雖然Oracle的首選操作系統(tǒng)似乎正由Solaris轉(zhuǎn)為

17、Linux,但是Oracle仍然在進(jìn)行與其他操作系統(tǒng)的兼容工作,盡管Oracle經(jīng)常在Unix或是Linux平臺(tái)上運(yùn)行,但是也有大量的Oracle在HP-UX和AIX上運(yùn)行,隨著幾年前電子商務(wù)的激增,將會(huì)驅(qū)使Oracle成為WEB應(yīng)用所需數(shù)據(jù)庫(kù)的選擇,這使數(shù)據(jù)庫(kù)更容易受攻擊者的控制。事實(shí)上,一旦Oracle從后臺(tái)進(jìn)入前端,那么人們會(huì)更多地關(guān)注它的安全方面。1.2.5 ServletServlet介紹:Servlet是使用JavaServlet應(yīng)用程序設(shè)計(jì)接口(API)及相關(guān)類(lèi)和方法的Java程序。除了JavaServletAPI,Servlet還可以使用用以擴(kuò)展和添加到API的Java類(lèi)軟件包

18、。Servlet在啟用Java的Web服務(wù)器上或應(yīng)用服務(wù)器上運(yùn)行并擴(kuò)展了該服務(wù)器的能力。Javaservlet對(duì)于Web服務(wù)器就好象Javaapplet對(duì)于Web瀏覽器。Servlet裝入Web服務(wù)器并在Web服務(wù)器內(nèi)執(zhí)行,而applet裝入Web瀏覽器并在Web瀏覽器內(nèi)執(zhí)行。JavaServletAPI定義了一個(gè)servlet和Java使能的服務(wù)器之間的一個(gè)標(biāo)準(zhǔn)接口,這使得Servlets具有跨服務(wù)器平臺(tái)的特性。Servlet通過(guò)創(chuàng)建一個(gè)框架來(lái)擴(kuò)展服務(wù)器的能力,以提供在Web上進(jìn)行請(qǐng)求和響應(yīng)服務(wù)。當(dāng)客戶(hù)機(jī)發(fā)送請(qǐng)求至服務(wù)器時(shí),服務(wù)器可以將請(qǐng)求信息發(fā)送給Servlet,并讓Servlet建立起服

19、務(wù)器返回給客戶(hù)機(jī)的響應(yīng)。當(dāng)啟動(dòng)Web服務(wù)器或客戶(hù)機(jī)第一次請(qǐng)求服務(wù)時(shí),可以自動(dòng)裝入Servlet。裝入后,Servlet繼續(xù)運(yùn)行直到其它客戶(hù)機(jī)發(fā)出請(qǐng)求。Servlet的功能涉及范圍很廣。例如,Servlet可完成如下功能:1、創(chuàng)建并返回一個(gè)包含基于客戶(hù)請(qǐng)求性質(zhì)的動(dòng)態(tài)內(nèi)容的完整的HTML頁(yè)面。2、創(chuàng)建可嵌入到現(xiàn)有HTML頁(yè)面中的一部分HTML頁(yè)面(HTML片段)。3、與其它服務(wù)器資源(包括數(shù)據(jù)庫(kù)和基于Java的應(yīng)用程序)進(jìn)行通信。4、用多個(gè)客戶(hù)機(jī)處理連接,接收多個(gè)客戶(hù)機(jī)的輸入,并將結(jié)果廣播到多個(gè)客戶(hù)機(jī)上。例如,Servlet可以是多參與者的游戲服務(wù)器。5、當(dāng)允許在單連接方式下傳送數(shù)據(jù)的情況下,在瀏

20、覽器上打開(kāi)服務(wù)器至applet的新連接,并將該連接保持在打開(kāi)狀態(tài)。當(dāng)允許客戶(hù)機(jī)和服務(wù)器簡(jiǎn)單、高效地執(zhí)行會(huì)話的情況下,applet也可以啟動(dòng)客戶(hù)瀏覽器和服務(wù)器之間的連接??梢酝ㄟ^(guò)定制協(xié)議或標(biāo)準(zhǔn)(如IIOP)進(jìn)行通信。6、對(duì)特殊的處理采用MIME類(lèi)型過(guò)濾數(shù)據(jù),例如圖像轉(zhuǎn)換和服務(wù)器端包括(SSI)。7、將定制的處理提供給所有服務(wù)器的標(biāo)準(zhǔn)例行程序。例如,Servlet可以修改如何認(rèn)證用戶(hù)。Servlet生命周期:Servlet的生命周期始于將它裝入Web服務(wù)器的內(nèi)存時(shí),并在終止或重新裝入Servlet時(shí)結(jié)束。1、初始化在下列時(shí)刻裝入Servlet:如果已配置自動(dòng)裝入選項(xiàng),則在啟動(dòng)服務(wù)器時(shí)自動(dòng)裝入在服務(wù)

21、器啟動(dòng)后,客戶(hù)機(jī)首次向Servlet發(fā)出請(qǐng)求時(shí)重新裝入Servlet時(shí)裝入Servlet后,服務(wù)器創(chuàng)建一個(gè)Servlet實(shí)例并且調(diào)用Servlet的init()方法。在初始化階段,Servlet初始化參數(shù)被傳遞給Servlet配置對(duì)象。2、請(qǐng)求處理對(duì)于到達(dá)服務(wù)器的客戶(hù)機(jī)請(qǐng)求,服務(wù)器創(chuàng)建特定于請(qǐng)求的一個(gè)“請(qǐng)求”對(duì)象和一個(gè)“響應(yīng)”對(duì)象。服務(wù)器調(diào)用Servlet的service()方法,該方法用于傳遞“請(qǐng)求”和“響應(yīng)”對(duì)象。service()方法從“請(qǐng)求”對(duì)象獲得請(qǐng)求信息、處理該請(qǐng)求并用“響應(yīng)”對(duì)象的方法以將響應(yīng)傳回客戶(hù)機(jī)。service()方法可以調(diào)用其它方法來(lái)處理請(qǐng)求,例如doGet()、doP

22、ost()或其它的方法。3、終止當(dāng)服務(wù)器不再需要Servlet,或重新裝入Servlet的新實(shí)例時(shí),服務(wù)器會(huì)調(diào)用Servlet的destroy()方法。1.3 運(yùn)行環(huán)境要求設(shè)備:客戶(hù)機(jī)硬件要求:具有 Pentium III 處理器以上且滿(mǎn)足以下要求的計(jì)算機(jī):最低 64 MB 內(nèi)存,最小 2.1 GB 硬盤(pán)。服務(wù)器硬件要求:具有 Pentium III 處理器以上且滿(mǎn)足以下要求的計(jì)算機(jī):最低 256MB 內(nèi)存,最小 8 GB 硬盤(pán)。支持程序:1、客戶(hù)端操作系統(tǒng):Windows 98/NT/2000/XP或更高版本瀏覽器:IE 5.0以上或Netscape同等版本以上2、服務(wù)器操作系統(tǒng):Windo

23、ws 2000 Server或者Windows 2003 ServerWeb服務(wù)器:MS IIS應(yīng)用服務(wù)器:TOMCAT6.0應(yīng)用服務(wù)器數(shù)據(jù)庫(kù):ORACLE 2 需求分析2.1 功能需求該系統(tǒng)的用戶(hù)為新聞網(wǎng)站,需要經(jīng)常發(fā)布一些新聞,如何能有效地管理和發(fā)布新聞呢?最初用戶(hù)的需求為:“該新聞系統(tǒng)具有一般新聞系統(tǒng)的功能,同時(shí)具有新聞審核和不同管理員不同管理權(quán)限的功能” 。通過(guò)對(duì)其它一些新聞系統(tǒng)的調(diào)查發(fā)現(xiàn),一般新聞系統(tǒng)功能如下:1、前臺(tái)按分類(lèi)顯示新聞;2、搜索新聞;3、后臺(tái)管理:添加、刪除和修改新聞 添加、刪除和修改用戶(hù)添加、刪除和修改新聞分類(lèi)添加新聞根據(jù)網(wǎng)站新聞發(fā)布管理的實(shí)際需求,在首頁(yè)中能顯示最熱

24、門(mén)新聞、頭條新聞和最近發(fā)布的幾條新聞等,同時(shí)在后臺(tái)發(fā)布新聞時(shí)可以添加圖片,也可以添加HTML語(yǔ)法,在前臺(tái)能自動(dòng)根據(jù)所顯示的圖片和HTML語(yǔ)法來(lái)顯示新聞。在后臺(tái)管理中,因?yàn)橛袡?quán)限的管理員才能登錄管理后臺(tái),所以需要有個(gè)登錄驗(yàn)證模塊,而且需要根據(jù)用戶(hù)權(quán)限的不同顯示不同的管理目錄,在管理新聞和用戶(hù)時(shí),當(dāng)數(shù)據(jù)少時(shí)管理起來(lái)還比較方便,如果一多則想找到某條新聞或某個(gè)用戶(hù)就很難,所以需要有個(gè)查找(新聞標(biāo)題、用戶(hù))模塊用于查找新聞或用戶(hù)。根據(jù)以上需求分析,該系統(tǒng)要實(shí)現(xiàn)的主要功能為:1、前臺(tái)顯示新聞部分: 用戶(hù)登錄區(qū) 顯示最熱門(mén)的前幾條新聞 顯示推薦的前幾條新聞 顯示最新的前幾條新聞 搜索新聞功能 顯示所有新聞分

25、類(lèi) 按分類(lèi)/部門(mén)顯示其下的所有新聞 新聞詳細(xì)信息瀏覽閱讀 新聞詳細(xì)信息下的用戶(hù)評(píng)論2、后臺(tái)管理部分: 登錄驗(yàn)證 添加、修改和刪除新聞 管理發(fā)布新聞 管理發(fā)布公告管理留言 管理新聞?lì)悇e 用戶(hù)管理2.2 性能需求該系統(tǒng)在性能功能上應(yīng)達(dá)到如下需求:操作簡(jiǎn)單、界面友好: 完全控件式的頁(yè)面布局,使得新聞的錄入工作更簡(jiǎn)便,許多選項(xiàng)包括新聞分類(lèi)、來(lái)源部門(mén)等只需要點(diǎn)擊鼠標(biāo)就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶(hù)隨時(shí)清楚自己的操作情況。對(duì)常見(jiàn)網(wǎng)站的新聞管理的各個(gè)方面:新聞錄入、瀏覽、刪除、修改、搜索等方面都大體實(shí)現(xiàn),實(shí)現(xiàn)了網(wǎng)站對(duì)即時(shí)新聞的管理要求; 即時(shí)可見(jiàn):對(duì)新聞的處理(包括錄入、修改、刪除)將立即在主頁(yè)

26、的對(duì)應(yīng)欄目顯示出來(lái),達(dá)到“即時(shí)發(fā)布、即時(shí)見(jiàn)效”的功能;系統(tǒng)運(yùn)行應(yīng)該快速、穩(wěn)定、高效和可靠;在結(jié)構(gòu)上應(yīng)具有很好的可擴(kuò)展性,便于將來(lái)的功能擴(kuò)展和維護(hù)。3 總體設(shè)計(jì)3.1 新聞系統(tǒng)的結(jié)構(gòu)模型該系統(tǒng)的模型結(jié)構(gòu)如圖3-1所示??蛻?hù)端客戶(hù)端瀏覽器客戶(hù)端瀏覽器客戶(hù)端瀏覽器Web層業(yè)務(wù)層數(shù)據(jù)訪問(wèn)層系統(tǒng)配置數(shù)據(jù)庫(kù)圖3-1 新聞系統(tǒng)的模型結(jié)構(gòu)圖示該系統(tǒng)結(jié)構(gòu)分為三個(gè)邏輯層:Web 層:Web層為客戶(hù)端瀏覽器提供對(duì)應(yīng)用程序的訪問(wèn),這一層是作為解決方案文件中的 Web 項(xiàng)目實(shí)現(xiàn)的。Web 層由 JSP.NET Web 窗體和代碼隱藏文件組成,Web 窗體只是用 HTML 提供用戶(hù)操作,而代碼隱藏文件實(shí)現(xiàn)各種控件的事件處

27、理程序; 業(yè)務(wù)層:包含各種業(yè)務(wù)規(guī)則和邏輯的實(shí)現(xiàn),業(yè)務(wù)規(guī)則完成如客戶(hù)帳戶(hù)的驗(yàn)證和字符串處理這樣的任務(wù);數(shù)據(jù)訪問(wèn)層:數(shù)據(jù)訪問(wèn)層為業(yè)務(wù)層提供數(shù)據(jù)服務(wù),這一層是作為解決方案文件中的 Conn類(lèi)(數(shù)據(jù)訪問(wèn)類(lèi),實(shí)現(xiàn)公共操作的一個(gè)通用類(lèi))實(shí)現(xiàn)的;3.2 新聞系統(tǒng)功能描述及功能模塊圖圖3-2列出系統(tǒng)的功能模塊圖。新聞評(píng)論新聞查看留言新聞評(píng)論新聞查看留言新聞發(fā)布理退 出新聞系統(tǒng)首頁(yè)開(kāi) 始新聞搜索圖3-2 系統(tǒng)的功能模塊圖工作流程為:打開(kāi)該系統(tǒng)網(wǎng)站,普通瀏覽者能瀏覽、閱讀和搜索新聞,能進(jìn)行注冊(cè),注冊(cè)后為新聞?shì)斎雴T,登錄進(jìn)入新聞后臺(tái)管理區(qū), 只有添加新聞的權(quán)限;如登錄時(shí)為新聞審核員,其不但有添加新聞的權(quán)限,還有審核

28、和管理新聞的權(quán)限;如為系統(tǒng)管理員,其有新聞后臺(tái)管理區(qū)內(nèi)的所有權(quán)限,除具有新聞審核員所有的權(quán)限外,還有添加和管理新聞分類(lèi)、添加和管理用戶(hù)、系統(tǒng)、風(fēng)格和友情鏈接設(shè)置。在添加新聞時(shí),除常規(guī)的添加新聞標(biāo)題、新聞內(nèi)容、新聞作者和新聞簡(jiǎn)介外,還可選擇是否為首頁(yè)新聞、是否為推薦新聞和是否在首頁(yè)滾動(dòng)圖片(上傳圖片)等,對(duì)新聞內(nèi)容的字體、字號(hào)和字體顏色可以調(diào)整,類(lèi)似Word的一些簡(jiǎn)單的編輯功能,還可設(shè)置超鏈接和插入表格等。如添加新聞?wù)邽樾侣勢(shì)斎雴T,其所添加的新聞需要系統(tǒng)管理員或?qū)徍藛T經(jīng)審核后才能發(fā)布到網(wǎng)上;如是管理員或者審核員添加新聞的話,不需要再經(jīng)誰(shuí)審核,直接可以發(fā)布到網(wǎng)上。管理新聞功能包括對(duì)任一條新聞內(nèi)容可

29、作相應(yīng)修改,也可刪除任何一條不再需要保留的新聞。管理新聞分類(lèi)包括對(duì)新聞分類(lèi)名稱(chēng)作修改,也可將任一分類(lèi)名刪除,刪除后其分類(lèi)下的所有新聞也將被刪除。添加用戶(hù)時(shí),用戶(hù)等級(jí)可為管理員、審核員或者輸入員之一,管理用戶(hù)包括修改用戶(hù)名、密碼和用戶(hù)等級(jí),也可將任一用戶(hù)刪除。系統(tǒng)設(shè)置包括設(shè)置網(wǎng)站標(biāo)題、網(wǎng)站地址、首頁(yè)圖片、網(wǎng)站公告(可用來(lái)顯示當(dāng)前有哪些新聞?shì)斎雴T所添加的新聞沒(méi)有通過(guò)審核,具體的原因理由等)、網(wǎng)站鏈接(此文本內(nèi)容可更改)和底部信息(可放置一些與站點(diǎn)相關(guān)的文本內(nèi)容等),對(duì)系統(tǒng)設(shè)置里的內(nèi)容,隨時(shí)可做相應(yīng)的修改,這權(quán)限只有系統(tǒng)管理員才擁有。風(fēng)格設(shè)置指從系統(tǒng)八種風(fēng)格里任選一種作為當(dāng)前網(wǎng)站的默認(rèn)風(fēng)格。友情鏈接

30、主要是以圖片的形式鏈接到其它網(wǎng)站,作用跟系統(tǒng)設(shè)置里的網(wǎng)站鏈接功能一樣。系統(tǒng)功能模塊劃分: 從功能描述的內(nèi)容可以看到,本系統(tǒng)可以實(shí)現(xiàn)五個(gè)完整的功能。根據(jù)這些功能,設(shè)計(jì)出系統(tǒng)的功能模塊,如圖3-3所示。圖3-3 新聞發(fā)布總體系統(tǒng)功能模塊示意圖3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)1.ER關(guān)系圖ER關(guān)系模型如圖。評(píng)論信息擁有評(píng)論新聞信息評(píng)論信息擁有評(píng)論新聞信息 M 1新聞?lì)悇e信息屬于類(lèi)別新聞?lì)悇e信息屬于類(lèi)別 1 1圖3-4 ER關(guān)系模型圖2.實(shí)體屬性圖根據(jù)分析可劃分出新聞信息、新聞?lì)悇e信息、評(píng)論信息和用戶(hù)信息和幾個(gè)實(shí)體,對(duì)應(yīng)的實(shí)體圖分別如圖3-5至圖3-8所示。(1) 新聞信息新聞內(nèi)容新聞?lì)悇e新聞內(nèi)容新聞?lì)悇e發(fā)布時(shí)間新

31、聞標(biāo)題發(fā)布時(shí)間新聞標(biāo)題新聞信息新聞信息新聞ID新聞點(diǎn)擊率新聞ID新聞點(diǎn)擊率 圖3-5 新聞信息實(shí)體的E-R模型(2) 評(píng)論信息評(píng)論者姓名評(píng)論內(nèi)容評(píng)論者姓名評(píng)論內(nèi)容評(píng)論ID評(píng)論時(shí)間評(píng)論ID評(píng)論時(shí)間評(píng)論信息評(píng)論信息 圖3-6 評(píng)論信息實(shí)體的E-R模型(3) 用戶(hù)信息密碼用戶(hù)名密碼用戶(hù)名用戶(hù)信息用戶(hù)信息圖3-7 用戶(hù)信息實(shí)體的E-R模型(4)新聞?lì)悇e信息類(lèi)別ID類(lèi)別名稱(chēng)類(lèi)別ID類(lèi)別名稱(chēng)新聞?lì)悇e信息新聞?lì)悇e信息圖3-8 新聞?lì)悇e信息實(shí)體的E-R模型3.3.2 數(shù)據(jù)流圖1、前臺(tái)數(shù)據(jù)流圖 圖3-9 前臺(tái)的數(shù)據(jù)流圖數(shù)據(jù)庫(kù)中有兩個(gè)表用于前臺(tái)的數(shù)據(jù)的存放,新聞信息表newsinfo中存放新聞的內(nèi)容,標(biāo)題,點(diǎn)擊量

32、等數(shù)據(jù),通過(guò)各種命令與前臺(tái)進(jìn)行數(shù)據(jù)交換。留言信息表存放用戶(hù)的留言。前臺(tái)的數(shù)據(jù)流圖如圖3-9所示。2、后臺(tái)數(shù)據(jù)流圖后臺(tái)的數(shù)據(jù)流圖如圖3-10所示。評(píng)論操作信息評(píng)論操作結(jié)果 評(píng)論操作信息評(píng)論操作結(jié)果 圖3-10 后臺(tái)數(shù)據(jù)流圖3.3.3 表結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)采用oracle數(shù)據(jù)庫(kù),表的結(jié)構(gòu)分別如表3-1至表3-7所示。(1)公告表 T_GONGGAO表3-1 公告表 T_GONGGAO字段名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明IDVARCHAR2(50)不能為空TITLEVARCHAR2(500)公告標(biāo)題CONTENTVARCHAR2(4000)公告內(nèi)容SHIJIANVARCHAR2(50)發(fā)布時(shí)間(2)留言表 T_LIUY

33、AN表3-2 留言表 T_LIUYAN字段名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明IDVARCHAR2(50)不能為空TITLEVARCHAR2(50)留言標(biāo)題CONTENTVARCHAR2(4000)留言?xún)?nèi)容SHIJIANVARCHAR2(50)留言發(fā)布時(shí)間USER_IDVARCHAR2(50)留言用戶(hù)ID(3)新聞表 T_NEWS表3-3 新聞表 T_NEWS字段名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明IDVARCHAR2(50)不能為空CATELOG_IDVARCHAR2(50)新聞?lì)悇eTITLEVARCHAR2(500)新聞標(biāo)題CONTENTVARCHAR2(4000)新聞內(nèi)容SHIJIANVARCHAR2(50)新聞發(fā)布時(shí)間DEL

34、VARCHAR2(50)新聞是否刪除(4)用戶(hù)表 T_USER表3-4 用戶(hù)表 T_USER字段名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明IDVARCHAR2(50)不能為空LOGINNAMEVARCHAR2(50)用戶(hù)登陸名LOGINPWVARCHAR2(50)用戶(hù)登陸密碼NAMEVARCHAR2(50)姓名SEXVARCHAR2(50)性別AGEVARCHAR2(50)年齡ADDRESSVARCHAR2(50)地址TELVARCHAR2(50)電話EMALLVARCHAR2(50)電子郵箱QQVARCHAR2(50)QQDELVARCHAR2(50)是否刪除(5)管理員 T_ADMIN表3-5 管理員 T_ADMI

35、N字段名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明USERIDNUMBER(4)不能為空USERNAMEVARCHAR2(50)管理員名USERPEVARCHAR2(50)管理員登陸密碼(6)新聞?lì)悇e T_CATELOG表3-6 新聞?lì)悇e T_CATELOG字段名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明IDVARCHAR2(50)不能為空NAME1VARCHAR2(50)新聞?lì)悇e名稱(chēng)DELVARCHAR2(50)新聞?lì)悇e是否刪除(7)新聞評(píng)論 T_PINGLUN表3-7 新聞評(píng)論 T_PINGLUN字段名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明IDVARCHAR2(50)不能為空CONTENTVARCHAR2(4000)留言?xún)?nèi)容SHIJIANVARCHAR2(50)留言發(fā)

36、布時(shí)間USER_ID VARCHAR2(50)留言用戶(hù)ID4 詳細(xì)設(shè)計(jì)4.1 首頁(yè)的設(shè)計(jì)4.1.1 功能描述及實(shí)現(xiàn)的界面首頁(yè):主要功能是顯示最熱門(mén)、最新和推薦的新聞,顯示新聞搜索功能、頁(yè)面新聞分類(lèi)、公告,用戶(hù)登錄等,如圖4-1所示。圖4-1 首頁(yè)新聞詳細(xì)內(nèi)容查看頁(yè):在首頁(yè)里點(diǎn)擊新聞標(biāo)題所進(jìn)入的頁(yè)面,顯示當(dāng)前所點(diǎn)擊新聞的詳細(xì)內(nèi)容,新聞標(biāo)題正中加粗顯示,在添加新聞時(shí),根據(jù)所編輯的新聞內(nèi)容對(duì)應(yīng)顯示,如圖4-2所示。圖4-2 新聞詳細(xì)內(nèi)容查看頁(yè)4.1.2 代碼前臺(tái)首頁(yè)顯示:public void service(HttpServletRequest req,HttpServletResponse re

37、s)throws ServletException, IOException List gonggaoList=new ArrayList();String sql=select * from t_gonggao order by id desc;Object params=;DB mydb=new DB();trymydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()Tgonggao gonggao=new Tgonggao();gonggao.setId(rs.getString(id);gonggao.setT

38、itle(rs.getString(title);gonggao.setContent(rs.getString(content);gonggao.setShijian(rs.getString(shijian);gonggaoList.add(gonggao); rs.close();4.2 注冊(cè)登錄模塊的設(shè)計(jì)4.2.1 功能描述及實(shí)現(xiàn)的界面用戶(hù)注冊(cè)界面:用戶(hù)要想在本網(wǎng)站購(gòu)買(mǎi)商品就必須要去注冊(cè)成為本網(wǎng)站的會(huì)員,只需點(diǎn)擊“注冊(cè)”,如圖4-3所示。圖4-3 用戶(hù)注冊(cè)界面用戶(hù)在填寫(xiě)完信息后即可提交信息,如果發(fā)現(xiàn)填寫(xiě)的信息有誤可以馬上點(diǎn)擊“清除”重添,用戶(hù)最好記住自己所添寫(xiě)的信息,特別是“密碼提示”

39、和“密碼答案”,因?yàn)檫@可以為你找回密碼。在提交的過(guò)程中將會(huì)有一個(gè)腳本語(yǔ)言函數(shù)對(duì)用戶(hù)提交的信息的要求及信息格式的正確性進(jìn)行判斷用戶(hù)登錄界面:用戶(hù)填寫(xiě)已注冊(cè)的用戶(hù)名和密碼登錄系統(tǒng),如圖4-4所示。圖4-4 用戶(hù)登陸頁(yè)面用戶(hù)一旦成為本網(wǎng)站的會(huì)員后,即可在登陸頁(yè)面中登陸,用戶(hù)只要輸入自己的用戶(hù)名和密碼即可實(shí)現(xiàn)登陸。這里有JSP函數(shù)對(duì)用戶(hù)名和密碼進(jìn)行判斷,以此來(lái)保證用戶(hù)的合法性。4.2.2 代碼用戶(hù)管理:public void userReg(HttpServletRequest req,HttpServletResponse res)String id=String.valueOf(new Date(

40、).getTime();String loginname=req.getParameter(loginname);String loginpw=req.getParameter(loginpw);String name=req.getParameter(name);String sex=req.getParameter(sex);String age=req.getParameter(age);String address=req.getParameter(address);String tel=req.getParameter(tel);String email=req.getParamet

41、er(email);String qq=req.getParameter(qq);String del=no;String sql=insert into t_user values(?,?,?,?,?,?,?,?,?,?,?);Object params=id,loginname,loginpw,name,sex,age,address,tel,email,qq,del;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed(); String targetURL = /common/add_success.jsp;dispatch(tar

42、getURL, req, res);public void userLogout(HttpServletRequest req,HttpServletResponse res)req.getSession().setAttribute(user, null);String targetURL = /qiantai/default.jsp;dispatch(targetURL, req, res);4.3 管理員登錄模塊的設(shè)計(jì)4.3.1 功能描述及實(shí)現(xiàn)的界面管理員登陸界面:登陸的用戶(hù)名和密碼必須是已經(jīng)保存在數(shù)據(jù)表T_ADMIN中的數(shù)據(jù)信息如圖4-5所示。圖4-5 管理員登陸界面4.3.2 代碼登

43、錄驗(yàn)證:if(userType=0)/系統(tǒng)管理員登陸String sql=select * from t_admin where userName=? and userPw=?;Object params=userName,userPw;DB mydb=new DB();mydb.doPstm(sql, params);try ResultSet rs=mydb.getRs();boolean mark=(rs=null|!rs.next()?false:true);if(mark=false) result=no;else result=yes; TAdmin admin=new TAdmi

44、n(); admin.setUserId(rs.getInt(userId); admin.setUserName(rs.getString(userName); admin.setUserPw(rs.getString(userPw); WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); session.setAttribute(userType, 0); session.setAttribute(admin, admin);rs.close(); catch (SQLExceptio

45、n e)System.out.println(登錄失敗!);e.printStackTrace();finallymydb.closed();4.4 修改登錄密碼模塊的設(shè)計(jì)4.4.1 功能描述及實(shí)現(xiàn)的界面修改登陸密碼頁(yè)面:用戶(hù)可以通過(guò)兩次輸入新密碼修改現(xiàn)有密碼如圖4-6所示。圖4-6 修改登陸密碼頁(yè)面4.4.2 代碼修改登錄密碼:public String adminPwEdit(String userPwNew) System.out.println(DDDD); try Thread.sleep(700); catch (InterruptedException e)e.printStac

46、kTrace();WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin admin=(TAdmin)session.getAttribute(admin);String sql=update t_admin set userPw=? where userId=?;Object params=userPwNew,admin.getUserId();DB mydb=new DB();mydb.doPstm(sql, params);return yes; 4.5 注冊(cè)用戶(hù)管理模塊

47、的設(shè)計(jì)4.5.1 功能描述及實(shí)現(xiàn)的界面注冊(cè)用戶(hù)管理頁(yè)面:管理員可以對(duì)已注冊(cè)用戶(hù)進(jìn)行刪除如圖4-7所示。圖4-7 注冊(cè)用戶(hù)管理頁(yè)面4.5.2 代碼public void userMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOExceptionList userList=new ArrayList();String sql=select * from t_user where del=no;Object params=;DB mydb=new DB();trymydb.doPstm(s

48、ql, params);ResultSet rs=mydb.getRs();while(rs.next()Tuser user=new Tuser();user.setId(rs.getString(id);user.setLoginname(rs.getString(loginname);user.setLoginpw(rs.getString(loginpw);user.setLoginpw(rs.getString(loginpw);user.setName(rs.getString(name);user.setSex(rs.getString(sex);user.setAge(rs.g

49、etString(age);user.setAddress(rs.getString(address);user.setTel(rs.getString(tel);user.setEmail(rs.getString(email);user.setQq(rs.getString(qq);userList.add(user); rs.close();mydb.closed();req.setAttribute(userList, userList);req.getRequestDispatcher(admin/user/userMana.jsp).forward(req, res);4.6 公告

50、管理模塊的設(shè)計(jì)4.6.1 功能描述及實(shí)現(xiàn)的界面公告管理頁(yè)面:管理員可以對(duì)公告進(jìn)行查看、添加、刪除等操作如圖4-8所示。圖4-8 公告管理頁(yè)面4.6.2 代碼公告管理:public void gonggaoAdd(HttpServletRequest req,HttpServletResponse res)String id=String.valueOf(new Date().getTime();String title=req.getParameter(title);String content=req.getParameter(content);String shijian=new Date

51、().toLocaleString();String sql=insert into t_gonggao values(?,?,?,?);Object params=id,title,content,shijian;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute(message, 操作成功);req.setAttribute(path, gonggao?type=gonggaoMana); String targetURL = /common/success.jsp;dispatch(target

52、URL, req, res);4.7 新聞?lì)悇e管理模塊的設(shè)計(jì)4.7.1 功能描述及實(shí)現(xiàn)的界面新聞?lì)悇e管理頁(yè)面:管理員可以對(duì)新聞?lì)悇e進(jìn)行添加、刪除處理,如圖4-9所示。圖4-9 新聞?lì)悇e管理頁(yè)面4.7.2 代碼新聞?lì)悇e刪除:public void catelogDel(HttpServletRequest req,HttpServletResponse res)String id=req.getParameter(id);String sql=update t_catelog set del=yes where id=?;Object params=id;DB mydb=new DB();myd

53、b.doPstm(sql, params);mydb.closed();req.setAttribute(message, 操作成功);req.setAttribute(path, catelog?type=catelogMana); String targetURL = /common/success.jsp;dispatch(targetURL, req, res);4.7.3 功能描述及實(shí)現(xiàn)的界面新聞?lì)悇e添加頁(yè)面:管理員添加新聞?lì)悇e如圖4-10所示。圖4-10 新聞?lì)悇e添加頁(yè)面4.7.4 代碼新聞?lì)悇e添加:public void catelogAdd(HttpServletRequest

54、 req,HttpServletResponse res)String id=String.valueOf(new Date().getTime();String name1=req.getParameter(name1);String del=no;String sql=insert into t_catelog values(?,?,?);Object params=id,name1,del;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute(message, 操作成功);req.setAttri

55、bute(path, catelog?type=catelogMana); String targetURL = /common/success.jsp;dispatch(targetURL, req, res);4.8 新聞信息管理模塊的設(shè)計(jì)4.8.1 功能描述及實(shí)現(xiàn)的界面新聞信息管理頁(yè)面:管理員對(duì)新聞的查看、添加、刪除處理,如圖4-11所示。圖4-11 新聞信息管理頁(yè)面4.8.2 代碼新聞信息管理:public void newsMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOE

56、xceptionList newsList=new ArrayList();String sql=select * from t_news where del=no;Object params=;DB mydb=new DB();trymydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()Tnews news=new Tnews();news.setId(rs.getString(id);news.setCatelog_id(rs.getString(catelog_id);news.setTitle(rs.getS

57、tring(title);news.setContent(rs.getString(content);news.setShijian(rs.getString(shijian);news.setDel(rs.getString(del);news.setCatelog_name(liuService.getCatelogName(rs.getString(catelog_id);newsList.add(news); rs.close();catch(Exception e)e.printStackTrace();mydb.closed();req.setAttribute(newsList,

58、 newsList);req.getRequestDispatcher(admin/news/newsMana.jsp).forward(req, res);4.8.3 功能描述及實(shí)現(xiàn)的界面新聞?shì)斎雴T頁(yè)面:新聞?shì)斎雴T只具有添加新聞的權(quán)限,任何瀏覽者都可注冊(cè)成為新聞?shì)斎雴T,但所添加的新聞并不能直接發(fā)布到網(wǎng)站上顯示,而需經(jīng)過(guò)審核員或管理員審核是否給予通過(guò),這保證了網(wǎng)站內(nèi)容管理的合理性,并不是隨便添加的新聞都能發(fā)布如圖4-12所示。圖4-12 新聞?shì)斎雴T頁(yè)面4.8.4 代碼新聞信息添加:public void newsAdd(HttpServletRequest req,HttpServletRes

59、ponse res)String id=String.valueOf(new Date().getTime();String catelog_id=req.getParameter(catelog_id);String title=req.getParameter(title);String content=req.getParameter(content);String shijian=new Date().toLocaleString();String del=no;String sql=insert into t_news values(?,?,?,?,?,?);Object param

60、s=id,catelog_id,title,content,shijian,del;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute(message, 操作成功);req.setAttribute(path, news?type=newsMana); String targetURL = /common/success.jsp;dispatch(targetURL, req, res);4.9 留言信息管理模塊的設(shè)計(jì)4.9.1 功能描述及實(shí)現(xiàn)的界面留言信息管理頁(yè)面:管理員對(duì)留言信息的處理,如圖4-1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論