2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  新聞管理與發(fā)布系統(tǒng)</b></p><p>  1.1 系統(tǒng)總體設(shè)計(jì) ------------------------------------------------------------3 </p><p>  1.1.1 需求分析

2、 ------------------------------------------------------------ 3</p><p>  1.1.2 系統(tǒng)模塊 -------------------------------------------------------------- -3</p><p>  1.1.3

3、功能設(shè)計(jì) -------------------------------------------------------------4</p><p>  1.2 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn) -----------------------------------------------------------------5</p><p> 

4、 1.2.1 數(shù)據(jù)庫的需求分析 -------------------------------------------------------------5</p><p>  1.2.2 數(shù)據(jù)庫的邏輯設(shè)計(jì) ---------------------------------------------------------5</p><p>  

5、1.2.3 數(shù)據(jù)庫創(chuàng)建和初始化 -------------------------------------------------------------7</p><p>  1.3 公共模塊 -------------------------------------------------------------10</p><p

6、>  1.3.1 數(shù)據(jù)庫連接 -----------------------------------------------------------11</p><p>  1.3.2 導(dǎo)入類包文件 -----------------------------------------------------------12</p>

7、<p>  1.3.3 頁面頭和頁面尾文件 -------------------------------------------------------12</p><p>  1.3.4 格式轉(zhuǎn)化文件 --------------------------------------------------------13</p>&

8、lt;p>  1.3.5 防止惡意登陸頁面 -------------------------------------------------------------14</p><p>  1.3.6 CSS樣式表 ------------------------------------------------------15</p>

9、;<p>  1.4 主頁面模塊 -----------------------------------------------------------------16</p><p>  1.4.1 實(shí)現(xiàn)效果 -----------------------------------------------------------

10、--16</p><p>  1.4.2 主頁面 ----------------------------------------------------------------17</p><p>  1.4.3 新聞搜索 -----------------------------------------------

11、--------------21</p><p>  1.5 管理員登陸模塊 -----------------------------------------------------------22</p><p>  1.5.1 實(shí)現(xiàn)效果 ---------------------------------------

12、-----------------------23</p><p>  1.5.2 管理員登陸 -------------------------------------------------------------------23</p><p>  1.6 欄目管理模塊 ---------------------------

13、-----------------------------------25</p><p>  1.6.1 實(shí)現(xiàn)效果 -------------------------------------------------------------25</p><p>  1.6.2 管理主頁面 -----------------

14、--------------------------------------------26</p><p>  1.6.3 添加欄目 ----------------------------------------------------------------28</p><p>  1.6.4 修改欄目 --------

15、--------------------------------------------------------29</p><p>  1.6.5 刪除欄目 ----------------------------------------------------------------30</p><p>  1.7 新聞管理模塊

16、 -----------------------------------------------------------------31</p><p>  1.7.1 實(shí)現(xiàn)效果 ------------------------------------------------------------------31</p><p>  1.7.2 新聞

17、管理主頁面 ---------------------------------------------------------32</p><p>  1.7.3 發(fā)布新聞 ---------------------------------------------------------------------33</p><p>  

18、1.7.4 修改新聞 ------------------------------------------------------------------------34</p><p>  1.7.5 刪除新聞 ------------------------------------------------------------------------34</

19、p><p>  1.8 管理員管理模塊 ---------------------------------------------------------------------35</p><p>  1.8.1 實(shí)現(xiàn)效果 ----------------------------------------------------------

20、------35</p><p>  1.8.2 管理員管理主頁面 ----------------------------------------------------------------36</p><p>  1.8.3 添加管理員 ---------------------------------------------------

21、-------------37</p><p>  1.8.4 修改管理員 -----------------------------------------------------------------38</p><p>  1.8.5 刪除管理員 -----------------------------------------

22、-----------------------38</p><p>  1.9 管理員管理新聞模塊 --------------------------------------------------------------39</p><p>  1.10 部署與運(yùn)行 ---------------------------------

23、---------------------------------40</p><p>  隨著社會經(jīng)濟(jì)的發(fā)展和公司的發(fā)展壯大,公司日常處理事務(wù)組建復(fù)雜,尤其是一些大型企業(yè)集團(tuán),子公司分布在不同區(qū)域,信息傳遞、處理的速度和效率將會影響公司的決策,辦公效率地下將直接制約公司的發(fā)展。所以,越來越多的公司實(shí)施了辦公自動化項(xiàng)目。辦公自動化系統(tǒng)包括內(nèi)網(wǎng)系統(tǒng)和外網(wǎng)系統(tǒng),內(nèi)網(wǎng)系統(tǒng)是公司內(nèi)部信息的交換平臺,外網(wǎng)系統(tǒng)是公司對外的窗

24、口,是與公司直接交流的平臺。</p><p>  本章的新聞管理與發(fā)布系統(tǒng)實(shí)現(xiàn)的新聞管理的基本功能,包括新聞欄目管理模塊、新聞管里模塊和管理員管理模塊等。有多個管理員可以發(fā)布、修改和刪除新聞,新聞欄目也可以按照要求進(jìn)行添加和修改。通過對本章的學(xué)習(xí)和個模塊實(shí)現(xiàn)方法的分析,可以是我們更加深入的了解到JSP得很多技術(shù)要點(diǎn)。</p><p>  本章按數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程講解開發(fā)思路,即系統(tǒng)需

25、求分析、數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)、總體設(shè)計(jì)、各模塊設(shè)計(jì)與實(shí)現(xiàn)。閱讀本章可以使我們了解數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的思路和步驟。</p><p>  1.1 系統(tǒng)總體設(shè)計(jì)</p><p>  1.1.1 需求分析</p><p>  根據(jù)新聞管理的基本要求,新聞管理與發(fā)布系統(tǒng)需要完成以下任務(wù)</p><p>  a系統(tǒng)能夠列出新聞欄目及其新聞列表,通過網(wǎng)頁,

26、用戶能夠查看到某一條具體的新聞內(nèi)容。</p><p>  b 系統(tǒng)還可以統(tǒng)計(jì)出管理員發(fā)布新聞的數(shù)量及其排名,以及目前單機(jī)最多的十條新聞。</p><p>  c 通過網(wǎng)頁,用戶可以模糊搜索新聞,并查看搜索達(dá)到的新聞內(nèi)容。</p><p>  d 可以添加和管理管理員,管理員可以發(fā)布和管理新聞。</p><p>  e 可以對新聞欄目進(jìn)行管理

27、,比如,添加、修改和刪除新聞欄目。只有root用戶才能夠完成這個功能。</p><p>  f 管理員可以發(fā)布。修改、刪除新聞。新聞包括標(biāo)題和內(nèi)容兩部分。</p><p>  g 無論喝死管理員還是root用戶,進(jìn)入后臺管理系統(tǒng)必須要經(jīng)過登陸系統(tǒng),輸入正確的用戶和密碼方可進(jìn)行相關(guān)操作。</p><p>  1.1.2 系統(tǒng)模塊</p><p&

28、gt;<b>  UML活動關(guān)系圖</b></p><p>  用戶打開新聞管理與發(fā)布系統(tǒng)主頁,主頁列出了各個欄目包括的新聞列表、管理員發(fā)布新聞排行、單擊率最高十條新聞新聞列表、搜索新聞入口以及后臺管理入口。管理員單擊管理入口連接,進(jìn)入后臺管理入口登陸模塊,輸入正確的用戶名和密碼后,根據(jù)管理員類型進(jìn)入相應(yīng)的后臺管理主頁面。Root用戶管理的主頁面包括欄目管理和管理員管理,進(jìn)入欄目管理頁面后,

29、就可以發(fā)布和欄目相關(guān)的新聞,而一般管理員只能對自己所屬的欄目進(jìn)行管理。當(dāng)管理員登陸進(jìn)入后臺管理時,根據(jù)管理員對應(yīng)的權(quán)限,就會進(jìn)入相應(yīng)的頁面。如果用戶要退出后臺管理系統(tǒng),單擊“退出”按鈕即可。活動圖如下:</p><p><b>  系統(tǒng)模塊</b></p><p>  根據(jù)上面的分析,可以得出系統(tǒng)應(yīng)該包括:主頁面模板、管理員登陸模塊、欄目管理模塊、新聞管理模塊和管理員

30、管理模塊等。各個模塊又包括許多子功能模塊,如下圖:</p><p>  整個系統(tǒng)均采用b/s結(jié)構(gòu)進(jìn)行設(shè)計(jì),后臺管理部分也是通過網(wǎng)頁進(jìn)行操作。系統(tǒng)后臺數(shù)據(jù)庫采用的是SQL Server 2005。</p><p><b>  1.1.3功能設(shè)計(jì)</b></p><p><b>  主頁面模塊</b></p>&

31、lt;p>  通過主頁面模塊,可查看系統(tǒng)的新聞欄目以及該欄目下面的新聞。主頁面中每個欄目只列出30條新聞,如果要查看該欄目更多的新聞們,可以單擊“更多--”,進(jìn)入新的頁面,新聞頁面就會列出該欄目的所有新聞。同時,主頁面中列出了發(fā)布新聞數(shù)量的管理員排行榜,通過該排行榜,可以看出每個管理員發(fā)布的新聞數(shù)量。初次之外主頁面還列出可新聞管理與發(fā)布系統(tǒng)中用戶單擊最多的十條新聞,即熱點(diǎn)新聞。用戶如果想搜索自己需要的新聞,可以在主頁面中搜索入口處

32、輸入查詢條件并搜索,便可以得到自己需要的新聞列表。</p><p><b>  2、管理員登陸模塊</b></p><p>  此模塊實(shí)現(xiàn)管理員進(jìn)入系統(tǒng)管理前得驗(yàn)證操作,只有輸入正確的用戶名和密碼才能才能進(jìn)入系統(tǒng),進(jìn)行管理操作。</p><p><b>  3、欄目管理模塊</b></p><p>

33、  新聞管理與發(fā)布系統(tǒng)可以按照欄目來分類各種新聞,如“發(fā)展動態(tài)”、“產(chǎn)品與方案”、“誠聘英才”等等。根據(jù)需要,root用戶可以添加、修改。刪除新聞欄目。普通管理員不能進(jìn)行本模塊的操作。</p><p><b>  新聞管理模塊</b></p><p>  通過網(wǎng)頁。管理員可以發(fā)布新聞,也可以對已經(jīng)發(fā)布的新聞進(jìn)行修改,甚至刪除。</p><p>

34、<b>  管理員管理模塊</b></p><p>  系統(tǒng)中可以存在多個管理員,這些管理員可以分管不同的新聞欄目并對其進(jìn)行管理。本模塊具有添加、修改、刪除管理員功能。普通管理員不能進(jìn)行本模塊的操作。</p><p>  1.2 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)</p><p>  1.2.1 數(shù)據(jù)庫的需求分析</p><p> 

35、 根據(jù)系統(tǒng)需求,可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)。</p><p>  A 管理員基本信息表:系統(tǒng)的所有管理員信息都保存在這張表中,還包括該管理員管理的新聞欄目序號索引。</p><p>  B 欄目信心表:存放所有新聞欄目的基本信息。</p><p>  C 新聞信息表:存放系統(tǒng)所有新聞信息。</p><p>  1.2.2 數(shù)據(jù)庫的邏

36、輯設(shè)計(jì)</p><p>  根據(jù)以上需求分析,可以做出各表的關(guān)系分析圖。</p><p>  建立表的主鍵約束以及這些表之間的外鍵約束,可以避免由于誤操作導(dǎo)致數(shù)據(jù)庫的崩潰,保證各表數(shù)據(jù)的完整性。</p><p>  數(shù)據(jù)完整性可以確保數(shù)據(jù)庫中的數(shù)據(jù)質(zhì)量,包括許多方面,有約束和規(guī)則、允許空值、標(biāo)識屬性、默認(rèn)值等。主鍵約束用來保證數(shù)據(jù)唯一即不能重復(fù)。外鍵約束是指用于建立

37、和加強(qiáng)兩個表之間的聯(lián)接的一個字段,也就是說,將表的某一個字段或者多個字段的組合字段定義為外鍵約束,并且確定該外鍵要聯(lián)接到哪一個表的主鍵字段上,例如表category中的字段CategoryID為主鍵,在表news中,定義CategoryID為外鍵的約束。</p><p>  另外,為保證各表之間數(shù)據(jù)的同步,在更新和刪除管理員基本信息表manager中的記錄時,要保證新聞信息表news中相關(guān)的信息也要同步更新和刪除

38、,因此也需要設(shè)置它們之間的關(guān)系為級聯(lián)更新和級聯(lián)刪除,即屬性中“更新規(guī)則”和“刪除規(guī)則”都設(shè)置為“層疊”選項(xiàng)。例如,管理員基本信息表manager和新聞信息表news關(guān)系屬性設(shè)置如圖1-1所示。系統(tǒng)中所有表之間的關(guān)系均作此設(shè)計(jì)。</p><p>  圖1-1 外鍵關(guān)系屬性設(shè)置頁</p><p><b>  管理員基本信息表</b></p><p&g

39、t;  管理員基本信息表用來存放管理員所有基本信息,共有7個字段,如下圖:</p><p><b>  管理員基本信息表</b></p><p>  管理員基本信息表manager中并沒有將CategoryID設(shè)置為外鍵約束,這是由于該表中有一條表示root用戶的原始記錄,設(shè)置root用戶的CategoryID值為0,在欄目信息表category并沒有相應(yīng)的記錄。如果

40、將CategoryID設(shè)置為外鍵約束,建立管理員信息表manager和欄目信息表category中的示例數(shù)據(jù)如圖所示:</p><p>  管理員基本信息表示例數(shù)據(jù)</p><p><b>  欄目信息表</b></p><p>  欄目信息表用來記錄新聞欄目的基本信息,共有3個字段,結(jié)構(gòu)如下圖:</p><p><

41、;b>  欄目信息表</b></p><p>  此表中的欄目ID號字段是標(biāo)識字段,自動增加。設(shè)置了標(biāo)識屬性的字段稱為標(biāo)識字段。列的標(biāo)識屬性由兩部分組成:一個是初始值,另一個是增量。向一個包含標(biāo)識字段的表中插入數(shù)據(jù),初始值用于數(shù)據(jù)表的第一行數(shù)據(jù),以后添加一行,SOL server就根據(jù)上一行標(biāo)識的標(biāo)識值,加上增量,得到新的標(biāo)識量。缺省情況下,初始值和增量都為1,欄目ID好字段就是取缺省值。<

42、;/p><p><b>  新聞信息表</b></p><p>  新聞信息表用來記錄系統(tǒng)中所有的新聞信息,共有7個字段,結(jié)構(gòu)如下: 新聞信息表</p><p>  此表中的字段ManagerID是外鍵的約束,與管理員基本信息表manager建立聯(lián)系。字段CategoryID也是外鍵約束,與欄目信息表cat

43、egory建立聯(lián)系。一個欄目中有多條新聞,所以此表中字段CategoryID并不是主鍵。</p><p>  1.2.3 數(shù)據(jù)庫創(chuàng)建和初始化</p><p>  首先創(chuàng)建數(shù)據(jù)庫news,然后分別創(chuàng)建管理員基本信息表manager、欄目信息表category、新聞信息表news,依據(jù)圖建立表之間的關(guān)系。最后需要對數(shù)據(jù)庫進(jìn)行初始化,由于系統(tǒng)運(yùn)行需要root用戶,所以要向管理員基本信息表man

44、ager中加入root用戶記錄。這些操作可以利用SQL Server2005工具M(jìn)icrosoft Server Management Studio完成。</p><p>  除此之外,也可以執(zhí)行以下Transatlantic-SQL語句來按完成數(shù)據(jù)庫和初始化。</p><p>  -------創(chuàng)建數(shù)據(jù)庫news</p><p>  CREATE DATABASE

45、 news</p><p>  ON (NAME ='news Data',</p><p>  FILENAME ='D:\Program Files\MIcrosoft SQL Server\MSSQL.1\ MSSQL\Data\ news_Data.MDF',</p><p><b>  SIZE =1,</b

46、></p><p>  FILEGROWTH =10%)</p><p>  LOG ON (NAME ='news Log',</p><p>  FILENAME ='D:\Program Files\MIcrosoft SQL Server\MSSQL.1\ MSSQL\Data\ news_Log.LDF',</p

47、><p><b>  SIZE =1,</b></p><p>  FILEGROWTH =10%)</p><p><b>  GO</b></p><p>  ------創(chuàng)建庫管理員基本信息表manager</p><p>  CREATE TABLE [manager](

48、</p><p>  [ManagerID] [varcher](16)NOT NULL,</p><p>  [Password] [varcher] (16) NOT NULL,</p><p>  [ManagerName] [varcher] (8) NOT NULL,</p><p>  [TotalName] [int] NOT 

49、NULL CONSTRAINT [DF_master_total_7F60ED59] </p><p>  DEFAULT ('0'),</p><p>  [AddDate] [int] NOT NULL CONSTRAINT [DF_master_total_joindate_00551192] </p><p>  DEFAULT ('

50、0000-00-00'),</p><p>  [CategoryID] [int] NOT NULL CONSTRAINT [DF_master_classid_014935CB] </p><p>  DEFAULT ((0)),</p><p>  [LoginNum] [int] NOT NULL CONSTRAINT [DF_master_logi

51、nnum_023D5A04] </p><p>  DEFAULT ('0'),</p><p>  CONSTRAINT [PK manager] PRIMARY KEY CLUSTERED</p><p><b>  (</b></p><p>  [ManagerID] ASC</p>

52、<p>  )WITH (IGNORE_DUP_KEY =OFF) ON [PRIMARY]</p><p>  )ON [PRIMARY]</p><p>  -------創(chuàng)建數(shù)據(jù)庫欄目信息表category</p><p>  CREATE TABLE [category](</p><p>  [CategoryID]

53、[int] IDENTITY (1,1) NOT NULL,</p><p>  [CategoryName] [varchar] (20) NOT NULL,</p><p>  [Description] [varchar] (80) NULL,</p><p>  CONSTRAINT [PK_category] PRIMARY KEY CLUST

54、ERED</p><p><b>  (</b></p><p>  [CategoryID] ASC</p><p>  )WITH (IGNORE_DUP_KEY =OFF) ON [PRIMARY]</p><p>  )ON [PRIMARY]</p><p>  --------創(chuàng)建新聞

55、信息表news</p><p>  CREATE TABLE [news](</p><p>  [NewsID] [int] IDENTITY (1,1) NOT NULL,</p><p>  [Title] [varchar] (50) NOT NULL,</p><p>  [Body] [varchar] (8000)

56、 NOT NULL,</p><p>  [Hits] [int] NOT NULL CONSTRAINT [DF_news_hits_0519C6AF] DEFAULT((0)) ,</p><p>  [AddDate] [varchar] (20) NOT NULL CONSTRAINT [DF_news_adddate_060DEAE8] DEFAULT('0000-00

57、-00 00:00:00') ,</p><p>  [ManagerID] [varchar] (16) NOT NULL,</p><p>  [CategoryID] [int] NOT NULL CONSTRAINT [DF_news_rootid_07020F21] DEFAULT((0)) ,</p><p>  CONSTRAINT [

58、PK_news PRIMARY KEY CLUSTERED</p><p><b>  (</b></p><p>  [NewsID] ASC</p><p>  )WITH (IGNORE_DUP_KEY =OFF) ON [PRIMARY]</p><p>  )ON [PRIMARY]</p>

59、<p>  -----創(chuàng)建表之間的關(guān)系</p><p><b>  GO</b></p><p>  ALTER TABLE [dbo] .[news] WITH CHECK ADD CONSTRAINT [FK news category ] FOREIGN KEY ([CategoryID])</p><p>  REFERENC

60、ES [category] ([CategoryID])</p><p>  ON UPDATE CASCADE</p><p>  ON DELETE CASCADE</p><p><b>  GO</b></p><p>  ALTER TABLE [dbo] .[news] WITH CHECK ADD CONS

61、TRAINT [FK_news_manager] FOREIGN KEY ([ManagerID])</p><p>  REFERENCES [manager] ([ManagerID])</p><p>  ON UPDATE CASCADE</p><p>  ON DELETE CASCADE</p><p>  ----初始化數(shù)據(jù)庫

62、,向管理員基本信息表manager中添加root用戶記錄</p><p>  INSERT INTO manager (ManagerID, Password, ManagerName) VALUES ('root','root', 'root')</p><p><b>  1、3公共模塊</b></p>

63、;<p>  為了重復(fù)使用代碼,可以將許多頁面都使用的公共代碼抽取出來,放在單獨(dú)的程序文件中,當(dāng)其他文件需要調(diào)用這些代碼時,直接應(yīng)用就可以了。這種做法既可以簡化程序代碼,又便于日后的修改和維護(hù)。</p><p>  本章介紹的新聞管理與發(fā)布系統(tǒng)將許多頁面共同擁有的代碼抽取出來作為公共模塊,包括JSP文件和CSS樣式表文件。</p><p>  1.3.1 數(shù)據(jù)庫連接<

64、/p><p>  JSP文件內(nèi)嵌Java代碼,可以說,JSP的本質(zhì)是Java。在Java中訪問數(shù)據(jù)庫是通過JDBC接口進(jìn)行的。JDBC是一種用于可執(zhí)行SQL語句的Java API,為數(shù)據(jù)庫開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開發(fā)人員可以使用Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。</p><p>  在JSP技術(shù)中。用戶訪問數(shù)據(jù)庫是一個三層結(jié)構(gòu),如圖所示</p><p

65、>  使用JSp訪問數(shù)據(jù)庫</p><p>  系統(tǒng)的ConnectDB.jps 代碼如下:<%</p><p>  //裝在JDBC驅(qū)動程序</p><p>  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();</p>

66、;<p><b>  //設(shè)定連接字符串</b></p><p>  String url="jdbc.microsoft.sqlserver://localhost:1433;databaseName=news";</p><p><b>  //取得數(shù)據(jù)庫連接</b></p><p>

67、  Connection con =DriverManager.getConnection(url,"sa","123456");</p><p>  //得到Statement對象,用于發(fā)送SOL 語句</p><p>  Statement smt1 = con.creatStatement(ResultSet.TYPE_SCROLL_SENSI

68、TIVE, ResultSet.CONCUR_UPDATABLE);</p><p>  Statement smt2 = con.creatStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);</p><p>  //用來保存SQL執(zhí)行結(jié)果</p><p>  ResultS

69、et rs1, rs2;</p><p>  //聲明SQL語句字符串變量</p><p>  String sql1 , sql2;</p><p><b>  %></b></p><p>  對程序代碼中一些技術(shù)知識做如下說明:</p><p>  a com.microsoft.j

70、dbc.sqlserver.SQLServerDriver是SQLServer JDBC驅(qū)動程序類,使用</p><p>  DriverManager.getConnection()就會與這個JDBC驅(qū)動程序進(jìn)行交互從而得到數(shù)據(jù)庫連接。</p><p>  b java.sql.Connection用于保存一個數(shù)據(jù)庫連接。java.sql.Driver阿Manager是驅(qū)動程序管理器,

71、DriverManager.getConnection()方法用來從驅(qū)動程序中得到一個數(shù)據(jù)庫連接,第一個參數(shù)URL為數(shù)據(jù)庫連接字符串,第二個和第三個參數(shù)分別為訪問數(shù)據(jù)庫的用戶名和密碼。</p><p>  c 數(shù)據(jù)庫連接字符串URL的作用是定位一個數(shù)據(jù)庫以便驅(qū)動程序能夠找到這個數(shù)據(jù)庫,并與其進(jìn)行連接。格式為“協(xié)議標(biāo)識:驅(qū)動程序標(biāo)識:數(shù)據(jù)庫標(biāo)識”。其中,協(xié)議標(biāo)識均為“jdbc”,驅(qū)動標(biāo)識代表所有的協(xié)議名,數(shù)據(jù)庫標(biāo)

72、識是數(shù)據(jù)庫的定位方式,例如使用數(shù)據(jù)庫所在計(jì)算機(jī)的Ip,如果在本機(jī)中,則使用localhost。databaseName標(biāo)識數(shù)據(jù)庫的名稱,本系統(tǒng)數(shù)據(jù)庫的名稱為news。</p><p>  d java.sql.Statement用來發(fā)送一條SQL語句,通過Connection.creat.Statement()從指定的數(shù)據(jù)庫連接中得到一個Statement實(shí)例。</p><p>  e

73、 java.sql.ResultSet喲呵拿過來保存SQl語句執(zhí)行的結(jié)果,可以用來存取結(jié)果中的數(shù)據(jù)。</p><p>  1.3.2 導(dǎo)入類包文件</p><p>  JSP以Java語言為基礎(chǔ),Java的基礎(chǔ)類庫在JSp中同樣可以使用,使用這些已有的API可以很方便的實(shí)現(xiàn)許多已有功能,避免重復(fù)開發(fā)。</p><p>  系統(tǒng)中幾乎所有的JSP文件都需要使用到某

74、個或某些Java基礎(chǔ)類,使用基礎(chǔ)類之前,需要用import將基礎(chǔ)類導(dǎo)入進(jìn)來。為了簡化,本系統(tǒng)將所有的基礎(chǔ)類導(dǎo)入語句放在一個單獨(dú)的JSP文件Common.jsp中,其他文件使用時,包含這個文件就可以了。</p><p>  Common,jsp的代碼如下:</p><p>  //指定輸出頁面按照gb2312進(jìn)行編碼,解決JSp頁面中無法正確顯示中文問題</p><p&g

75、t;  <% @page contentType="text/html;charset=gb2312"%></p><p><b>  //導(dǎo)入部分基礎(chǔ)類</b></p><p>  <%@ page import ="java.io.*"%></p><p>  <%@ p

76、age import ="java.util.*"%></p><p>  <%@ page import ="java.sql.*"%></p><p>  <%@ page import ="java.util.*"%></p><p>  <%@ page impo

77、rt ="java.text.*"%></p><p><b>  <%</b></p><p>  //系統(tǒng)標(biāo)題變量,其他JSP頁面均使用該變量標(biāo)識系統(tǒng)名稱</p><p>  String title = "新聞管理與發(fā)布系統(tǒng)";</p><p><b>

78、  %></b></p><p>  有幾個java基礎(chǔ)類是由JSP引敬自動導(dǎo)入的,開發(fā)人員不需要顯示導(dǎo)入,例如:java.lang.*、java.servlet.jsp.*、java.servlet.http.*。當(dāng)然,開發(fā)人員顯示導(dǎo)入這些類也不會有任何問題。</p><p>  1.3.3 頁面頭和頁面尾文件</p><p>  為了是新聞管

79、理與發(fā)布系統(tǒng)的所有頁面具有統(tǒng)一的風(fēng)格,把頁面頭和頁面尾的代碼分開,分別放在單獨(dú)的JSp文件中,其他頁面使用時,利用include指令將它們包含進(jìn)來即可。這是開發(fā)一個大型、實(shí)用的web應(yīng)用常用的方法,可以簡化頁面的重復(fù)代碼,也為以后的管理和維護(hù)工作提供了方便。</p><p>  頁面頭Header.jsp文件代碼如下:</p><p>  <%@ page contentType=&

80、quot;text/html;chaeset=gb2312"%></p><p>  <script Language="JavaScript"></p><p><b>  //顯示日期時間</b></p><p>  function show1(){</p><p>

81、  if(!document.all)</p><p><b>  return</b></p><p>  var Digital=new Date();</p><p>  var year=Digital.getYear();</p><p>  var month=Digital.getMonth()+1;<

82、;/p><p>  var dat=Digital.getDate();</p><p>  var hours=Digital.getHours();</p><p>  var minutes=Digital.getMinutes();</p><p>  var seconds=Digital.getSeconds();</p>

83、<p>  var dn="AM"</p><p>  if (hours>12){</p><p><b>  dn="PM";</b></p><p>  hours=hours-12;</p><p><b>  }</b></

84、p><p>  if (hours==0)</p><p>  hourse=12;</p><p>  if (minutes<=9)</p><p>  minutes="0"+minutes;</p><p>  if (seconds<=9)</p><p>

85、  seconds="0"+seconds;</p><p>  var ctime=year+"-"+day+" "+hourse+":"+minutes+":"+seconds+" "+dn;</p><p>  tickl .innerHTML="<

86、b style='font-family:Arial;font-size:14px;color: #000000'>"+ctime+"</b>"</p><p>  setTimeout("show1()",1000);</p><p><b>  }</b></p>&

87、lt;p>  //頁面加載是調(diào)用函數(shù)show1</p><p>  window.onload=show1</p><p><b>  //新聞搜索</b></p><p>  function SearchNews()</p><p><b>  {</b></p><p

88、>  //如果用戶沒有輸入搜索條件,彈出警告對話框</p><p>  if (content.value == "")</p><p><b>  {</b></p><p>  alert("請輸入查詢條件.");</p><p>  content.focus();;&

89、lt;/p><p>  return (false);</p><p><b>  }</b></p><p>  //定向到搜索結(jié)構(gòu)頁面</p><p>  Top.location="SearchNews.jsp?content="+content.value</p><p>

90、<b>  }</b></p><p><b>  </script></b></p><p>  <div align=“center”></p><p>  <table width="700"border="0"cellpadding="

91、0" cellspacing="0" bordercolor="#CCCCCC"></p><p><b>  <tr></b></p><p>  <td width="111" height="75" align="center"&

92、gt;<img src="images/banner.jpq" width="700" height="71" align="left"></td></p><p><b>  </table></b></p><p>  <table width

93、="700" height='24' border="0"cellpadding="0" cellspacing="0" ></p><p><b>  <tr></b></p><p>  <td width="240" bgc

94、olor="#FFCCOO"><div align="center"><a href="index.jsp"></p><p>  首頁</a></div></td></p><p>  <td width="361" bgcolor=&q

95、uot;#FFCCOO">新聞搜索:</p><p>  <input name =content size=30></p><p>  <input name =search type=button value=搜索 onClick="SearchNews()"> </td></p><p>

96、;<b>  </tr></b></p><p><b>  </table></b></p><p>  *頁面尾Footer.jsp文件代碼如下:</p><p>  <%@ page contentType="text/html;charset=gb2312" %&g

97、t;</p><p>  <table width="700" height="28" border="0"cellpadding="0" cellspacing="0" ></p><p><b>  <tr></b></p>&

98、lt;p>  <td background="image/last.jps"><div align="center"><span class="text"><span class="black"></p><p>  <a href ="/news/admin/lo

99、gin.jsp">管理入口</a> CopyRight@2006 All Rights Reserved.</span></div></td></p><p><b>  </tr></b></p><p><b>  </table></b></p&g

100、t;<p><b>  </div></b></p><p>  用戶單擊“管理入口”鏈接,進(jìn)入系統(tǒng)后臺管理登陸頁面。</p><p>  1.3.4 格式轉(zhuǎn)換文件</p><p>  在新聞管理與發(fā)布系統(tǒng)中,管理員添加、修改、刪除新聞都是通過網(wǎng)頁進(jìn)行的。將網(wǎng)頁中的內(nèi)容存入到數(shù)據(jù)庫中,需要對其中某些格式進(jìn)行轉(zhuǎn)換。例如

101、網(wǎng)頁中回車換行存入到數(shù)據(jù)庫中。將其轉(zhuǎn)換為“<br>”。因?yàn)樵贖TML語言中,回車換行就是使用<br>標(biāo)記。這樣當(dāng)取出新聞內(nèi)容顯示在網(wǎng)頁中時,不需要在此轉(zhuǎn)換格式了。</p><p>  格式轉(zhuǎn)換文件CodeFilter.jsp代碼如下:</p><p><b>  //</b></p><p><b>  <

102、;%</b></p><p>  String Replace (String str_source,String str_original,String str_new){</p><p>  if (str_source==null) return null;</p><p>  StringBuffer output = new StringBuf

103、fer();</p><p>  int lengOfsource = str_source.length();</p><p>  int lengOfold = str_original.length();</p><p>  int posStart=0;</p><p><b>  int pos;</b><

104、;/p><p>  While((pos = str_source.indexOf(str_original,posStart))>=0){</p><p>  output.append(str source .substring(posStart,pos));</p><p>  output.append(str_new);</p><p

105、>  posStart=pos + lengOfold;</p><p><b>  }</b></p><p>  if (posStart < lengthOfsource){</p><p>  Output.append(str source .substring(posStart));</p><p&g

106、t;<b>  }</b></p><p>  return output.toString();</p><p><b>  }</b></p><p>  String toHTML(String s)</p><p><b>  {</b></p><

107、;p>  s = Replace(s,"<","&lt;");</p><p>  s = Replace(s,">","&gt;");</p><p>  s = Replace(s,"&","&amp");</p

108、><p>  s = Replace(s,"\t"," ");</p><p>  s = Replace(s,"\r\n","\n");</p><p>  s = Replace(s,"\n","<br>");</p>

109、<p>  s = Replace(s," ","&nbsp;");</p><p>  s = Replace(s," ' ","&#39;");</p><p>  s = Replace(s,"\\","&#92;");

110、</p><p><b>  return s;</b></p><p><b>  }</b></p><p>  String unHtml (String s)</p><p><b>  {</b></p><p>  s = Replace(

111、s,"&nbsp;"," ");</p><p>  s = Replace(s,"<br>","\n");</p><p><b>  return s;</b></p><p><b>  }</b></p>

112、;<p>  1.3.5 防止惡意登陸頁面</p><p>  管理員必須經(jīng)過登陸驗(yàn)證才能進(jìn)入后臺管理系統(tǒng),如果非法用戶直接在瀏覽的地址欄中輸入某個管理員頁面地址時,就會逃過登陸驗(yàn)證進(jìn)入后臺管理系統(tǒng)。為了防止這種惡意登陸情況,編寫Check.jsp文件,判斷管理員是否經(jīng)過登錄驗(yàn)證。</p><p>  Check.jsp代碼文件如下:</p><p>

113、;<b>  <%</b></p><p>  if ( (String )session.getValue("IsLogin")!="true")</p><p><b>  {</b></p><p>  String loginmsg="loginfirst&q

114、uot;;</p><p>  response.sendRedirect (". ./admin/login.jsp?loginmsg="+loginmsg);</p><p><b>  }</b></p><p><b>  %></b></p><p>  系統(tǒng)中充

115、分利用了會話對象。會話對象類似于普遍應(yīng)用程序中的全局變量。在一個WEB應(yīng)用程序中,當(dāng)一個用戶訪問該應(yīng)用程序時,會話對象使這個用戶在改Web應(yīng)用的所有頁面共享數(shù)據(jù)。通常,開發(fā)人員喜歡使用會話對象在Web應(yīng)用的所有頁面中共享信息。</p><p>  可以使用putValue()和getValue()方法來保存和讀取會話對象中的數(shù)據(jù)。上述代碼中通過讀取會話對象中的數(shù)據(jù)IsLogin是否為True來判斷管理員是否通過登

116、錄驗(yàn)證。系統(tǒng)管理員在成功登陸后會將IsLogin數(shù)據(jù)保存為True,可以參看文件“ChkLogin.jsp”的程序代碼。</p><p>  1.3.6 CSS 樣式表</p><p>  CSS是Cascading Style Sheets的簡稱。更多的人把乘坐樣式表。顧名思義,它是一種設(shè)計(jì)網(wǎng)頁樣式的工具。借助CSS的強(qiáng)大功能,網(wǎng)頁將在你豐富的想象力下千變?nèi)f化。</p>

117、<p>  將所有的CSS放到一個文件中,文件style.jsp清單如下: //未訪問的鏈接</p><p><b>  A:link{</b></p><p>  FONT-SIZE: 9pt;</p><p>  COLOR: #000000;</p><p>  TEXT-DECORATION:non

118、e</p><p><b>  }</b></p><p><b>  //鼠標(biāo)在鏈接上</b></p><p><b>  A:hover{</b></p><p>  FONT-SIZE: 9pt;</p><p>  COLOR: #0000ff;

119、</p><p>  TEXT-DECORATION: none</p><p><b>  }</b></p><p><b>  //新聞標(biāo)題</b></p><p><b>  .title{</b></p><p>  font-family:

120、新宋體;</p><p>  FONT-SIZE: 20pt;</p><p>  COLOR: #990000;</p><p>  font-wight: bold;</p><p>  margin-top: 10px;</p><p><b>  }</b></p><

121、p><b>  //新聞內(nèi)容</b></p><p><b>  .body{</b></p><p>  FONT-SIZE: 9pt;</p><p>  COLOR: #0000ff;</p><p>  TEXT-DECORATION: none</p><p>

122、;<b>  }</b></p><p><b>  //新聞列表</b></p><p><b>  .list{</b></p><p>  font-family: 宋體;</p><p>  font-size: 9pt;</p><p><

123、;b>  }</b></p><p><b>  //表格</b></p><p>  td{font-size: 10pt;</p><p>  td{heighht: 30}</p><p>  使用如下語句,可以將獨(dú)立編寫好的CSS樣式表文件加入到JSP頁面中。</p><p&

124、gt;  <link href ="incoming/style.css" rel="stylesheet" type= "text/css"></p><p>  1.4 主頁面模塊 </p><p>  主頁面模塊是新聞管理與發(fā)布系統(tǒng)與公眾交互的平臺,用戶可以通過訪問網(wǎng)頁,在改模塊中瀏覽新聞,搜索新聞。主頁面模塊

125、的結(jié)構(gòu)如下圖:</p><p><b>  主頁面模塊結(jié)構(gòu)圖</b></p><p>  1.4.1 實(shí)現(xiàn)效果</p><p>  用戶直接進(jìn)入系統(tǒng)主頁面,如下圖所示。主頁分為五個頁面區(qū):頁面頭、發(fā)新聞?wù)吲判?、新聞列表、十大新聞熱門和頁面尾。頁面頭頂部是一種圖片,標(biāo)識新聞管理與發(fā)布系統(tǒng)同時使頁面更加完美,接著是搜索新聞入口。發(fā)新聞排行按照管

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論