999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JSP技術的新聞發布系統

2008-12-31 00:00:00吳俊萍孫根琴
電腦知識與技術 2008年30期

摘要:隨著網絡的飛速發展和普及,越來越多的用戶習慣上網瀏覽新聞。網頁逐漸融入人們的生活,已成為人們日常生活的一部分。另外企業通過網站可以展示產品,發布最新動態,與用戶進行交流和溝通,與合作伙伴建立聯系等等。該文論述的就是采用JSP+Tomcat+MySQL開發環境開發動態的Web網絡新聞發布系統。本系統實現新聞的瀏覽,新聞的搜索與點評,同時還得兼顧欄目的路徑信息,新聞圖片信息。推薦新聞信息,新聞點擊信息和新聞審核信息等。另外后臺管理員可以對新聞進行添加,審核,修改和刪除。

關鍵詞:Jsp技術;樣式層;持久層;服務層;控制層

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)30-0638-05

JSP Technology Based on the News Release System

WU Jun-ping1, SUN Gen-qin2

(1. Gannan Normal University, Ganzhou 341000, China; 2. Gannan Normal University, Ganzhou 341000, China)

Abstract: Along with the rapid development of network and penetration, a growing number of Internet users browse news habits. Website gradually into the life of its people, has become a part of people's daily life. Another enterprise websites can display products, the latest developments and users of exchanges and communication, the establishment of a partnership and cooperation links, and so on. This paper is based on Tomcat+JSP+MySQL development environment to develop dynamic new Web network news release system. The system browser to get news, information and comment on the search, but had to balance the path columns of information, news photos of information. Suggest news and information, press information and press it audited information. In addition to background administrator can add news, examination, modification and deletion.

Key words: Jsp technology; style layer; persistence layer; service layer; control layer

1 系統開發策略

每一種開發方法都要遵循相應的開發策略。任何一種開發策略都要明確以下問題:

1) 系統要解決的問題:如采取何種方法解決組織管理和信息處理方面的問題,對學校提出的新的管理需求該如何滿足等。

2) 系統可行性研究:確定系統所要實現的目標。通過對學校狀況的初步調研得出現狀分析的結果,然后提出可行性方案并進行論證。系統可行性的研究包括目標和方案可行性、技術的可行性和法律可行性等方面的考慮。

3) 系統開發的原則:在系統開發過程中,要遵循老師參與、優化創新、實用高效、處理規范化的原則。

4) 系統開發方法的選擇和開發計劃的制定:針對已經確定的開發策略選定相應的開發方法,是結構化系統分析和設計方法,還是選擇原型法或面向對象的方法。

2 系統可行性研究

2.1 新聞發布系統的意義

新聞發布系統(News Release System or Content Management System)又叫做內容管理系統,是一個基于新聞和內容管理的全站管理系統,新聞發布系統是基于B/S模式的WEBMIS系統,本系統可以將雜亂無章的信息(包括文字、圖片和影音)經過組織,合理有序地呈現在大家面前。當今社會是一個信息化的社會,新聞作為信息的一部分有著信息量大,類別繁多,形式多樣的特點,新聞發布系統的概念就此提出。新聞發布系統的提出使電視不再是唯一的新聞媒體,從此以后網絡也充當了一個重要的新聞媒介的功能。簡單地說,新聞發布系統就是充當一個網絡新聞媒介的功能,主要實現對新聞的分類、上傳、審核、發布,模擬了一般新聞媒介的新聞發布的過程,通過不同權限的賬號分別實現以上所說功能,當然這些功能也可以是某一個賬號全部具有。

隨著互連網的進一步發展,網絡媒體在人們心中的地位進一步提高,新聞發布系統做為網絡媒體的核心系統,其重要性是越來越重要:一方面,它提供一個新聞管理和發布的功能;另一方面,現在的新聞發布要求實現與普通的用戶實現交互,用戶可以很方便地參加一些調查和相關新聞的評論,這一點也是其他一些媒體現在無法做到的(電視、電臺等),同時,Internet發展到當今,可以說,只要你上Internet,你就會接觸到新聞發布系統,新聞發布系統的用戶是相當驚人的,其重要性是不容置疑的,當然這也對新聞發布系統的開發提出了更高的要求。

2.2 可行性分析

傳統的網站新聞管理方式有兩種,一是靜態HTML頁面,更新信息時需要重新制作頁面然后上傳頁面并修改相應鏈接,這種方式因為效率太低已不多用。二是基于JSP和腳本語言,將動態網頁和數據庫結合,通過應用程序來處理新聞,這是目前較為流行的做法。人們對最新信息的需求和發布迫切的需要及時性,而動態交互式網頁剛好提供了這些功能,本系統就是一個能夠在網上實現新聞的網上多用戶發布,多欄目管理,實時的進行行為統計和記錄的網上交互系統。

新聞發布系統后臺對新聞作了詳細的分類,前臺以分類形式顯示新聞的詳細信息,滿足了人們瀏覽新聞網時分類查看新聞信息的要求,同時提供新聞信息查詢功能,方便瀏覽者查找相關的新聞信息。新聞網后臺則通過對總管理員設置和管理員添加等模塊對網站管理員進行管理,保證了網站的安全性。

3 系統需求分析

當決定要開發一個信息系統時,首先要對信息系統的需求進行分析,需求分析要做的工作是深入描述軟件的功能和性能,確定軟件設計的限制和軟件同其他系統元素的接口細節,定義軟件的其他有效性需求。其實現步驟主要包括四步,如圖1所示。

抽象出當前系統的邏輯模型。在理解當前系統“怎么做”的基礎上,抽取其“做什么”的本質,從而從當前系統的物理模型抽象出當前系統的邏輯模型。在物理模型中有許多物理因素,隨著分析工作的深入,有些非本質的物理因素就成為不必要的負擔,因而需要對物理模型進行分析,區分出本質的物理因素就成為不必要的負擔,因而需要對物理模型進行分析,區分出本質的和非本質的困素,去掉那些非本質的困素即可獲得反映系統本質的邏輯模型。

建立目標系統的邏輯模型。分析目標系統與當前系統邏輯上的差別,明確目標系統到底要“做什么”,從而從當前系統的邏輯模型導出目標系統的邏輯模型。

為了對新聞發布系統做完整的描述,還需要對上面得到的邏輯模型做一些補充.首先采用圖形的方式描述新聞發布系統的用戶界面,這樣做的目的是保證整個系統的用戶界面的一致性,同時也有助于后續的開發人員更好地理解系統需要實現的功能。其次,說明新聞發布系統的一些特珠性能要求。

通過相關調查,要求網站具有以下功能:

1) 通過網絡,展示各行業新聞及相關信息。

2) 提供新聞搜索功能。

3) 支持其他網站的友情鏈接。

4) 為后臺管理提供管理入口。

3.1 系統設計思想

3.1.1 頁面模塊化

本新聞發布系統把頁面中的一些常用的部分集成為模塊,如頁面的頭和尾,這樣設計新的頁面時如果有重復的部分,只需拿現成的模塊來組裝就可以了。

3.1.2 網頁活動配置

形象頁是由一張圖切割而成的,然后在相應的位置加上鏈接,要在什么顯示什么,在什么位置進行切割,無法形成規律,所以此頁面的設計思想為:利用原有的圖片,在配置是進行鏈接地址的位置,即可以對需要進行鏈接的圖片指定鏈接的地址。

3.1.3 后臺維護與前臺顯示模塊分開

本新聞發布系統把后臺管理員的維護模塊和前臺用戶瀏覽信息模塊獨立分開開來。而又統一于同一個數據庫,便于管理員維護數據,也便與用戶瀏覽。用戶的權限的控制又增加了系統的安全性。

3.2 系統功能模塊劃分

前臺客戶界面系統圖如圖2所示。

后臺管理界面的功能模塊圖如圖3所示。

3.3 系統結構設計

系統結構設計框圖如圖4所示。

3.3.1 數據庫模塊結構設計

設計數據庫系統時應該首先充分了解用戶各個方面的需求,包括現有的以及將來可能增加的需求。數據庫設計一般包括如下幾個步驟:

1) 數據庫需要分析。

2) 數據庫概念結構設計。

3) 數據庫邏輯結構設計。

4) 數據庫物理結構設計。

數據庫需求分析由于本系統面向的對象有兩個,即用戶和管理員,所以數據庫需求與分析中就要考慮到兩個因素。

對于用戶來說,他們所關心的是新聞的瀏覽,新聞的搜索與點評,同時還得兼顧欄目的路徑信息,新聞圖片信息。推薦新聞信息,新聞點擊信息和新聞審核信息等。

通過系統的功能分析,針對一般新聞系統用戶的需求,總結出如下的新聞信息:

1) 每個欄目對應一個文件夾。

2) 每個新聞對應一個jsp文件。

3) 每個新聞只能對應一個欄目。

4) 每個新聞對應chird目錄下一個發表的文章(html文件)。

5) 每個欄目下可以有多個新聞。

6) 不同欄目的新聞對應的關鍵字可以相同。

7) 每個新聞必須審核通過后才能對用戶開放。

每個新聞除包含新聞的基本信息外,還得包含路徑信息,圖片信息,推薦新聞信息,新聞評論信息和新聞點擊信息等。

對于管理員來說,他們所關心的是如何對欄目和新聞進行添加,審核,修改和刪除。不同管理員的權限不同。可以分為三級,一級為高級管理員,什么操作都可以做,二級為審核管理員,可以對新聞進行添加和審核;三級為新聞錄入員,只能對新聞進行錄入。通過以上分析,總結出如下需求分析:

1) 管理員有不同的權限。

2) 管理員可以對各級欄目進行增加,刪改,修改。

3) 管理員可以對新聞進行增加,刪改,修改。

4) 管理員可以對新聞評論進行增加,刪改,修改。

5) 管理員可以對新聞進行審核。

6) 管理員可以對用戶進行管理。

通過上述系統功能的分析和需求的分析總結,還有將來系統功能的擴展,設計如下面所示的數據項和數據結構。

1) 管理員信息,數據項包括用戶名,密碼,權限。

2) 欄目信息,數據項包括編號,欄目名稱,欄目路徑, 熱點的坐標位置,鏈接地址,二級欄目的圖片等。

3) 新聞信息,數據項包括新聞編號,所屬欄目,新聞標題,新聞內容,新聞圖片信息,新聞審核信息,新聞來源,新聞作者和文件名等。

3.3.2 后臺管理系統

在后臺管理系統中,所有的用戶信息都被存放在book.backuser表中。這些用戶擁有相同的權限:都可以通過后臺維護頁面登錄后臺管理界面、都能夠更改已有的頁面菜單層次結構、發表新聞、更改相關新聞的評論。下面的內容將就該后臺登錄模塊的設計內容進行闡述:

3.3.2.1 模型層實現

新聞發布系統使用ParentBean封裝了所有bean對數據庫的交互操作,該bean中實現了獲取數據庫連接(采用緩沖池進行數據庫連接的管理)、釋放連接的操作,同時還提供增刪改查以及將一條SQL語句作為參數提交數據庫執行的基本數據庫操作函數。篇幅所限,本文不就該類的詳細實現進行闡述,請查閱源文件目錄:<project basedir>/WEB-INF/ classes/com/ideas/bean/ParentBean.java獲取關于該類的詳細信息。

后臺登錄模塊所使用的用戶信息的模型層實現是由UserBean完成的,該類繼承了ParentBean類,實現了最基本的用戶信息增刪改查的操作。下面是該bean的詳細實現:

public class userBean extends ParentBean

{

String id = \"-1\";

public void setID(String id)

{this.id = id;}

public Vector getCurPage(int cur,int records)

{return getOnePage(\"SELECT * FROM backuser\",cur,records);}

public String login(String backuser,String pwd)

{String sql = \" select id from backuser where islock='0' and user='\"+backuser+\"' and pwd='\"+pwd+\"'\";

Vector resultSet = getResultSetData(selectRecord(sql));

return (resultSet.get(\"id\"));}

//取得數據表中的某一條記錄

3.3.2.2 顯示層實現

通過在web.xml中的設置,新聞發布系統將login.jsp作為默認的顯示頁面:

<welcome-file-list>

<welcome-file>login.jsp</welcome-file>

</welcome-file-list>

下面是login.jsp中的JSP代碼,該段代碼指定LoginServlet作為其控制層實現代碼。

<form name=\"form1\" method=\"post\" action=\"LoginServlet\">

<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\">

<tr>

<td width=\"39%\"> <font color=\"#FFFFFF\">用戶名:</font></td>

<td width=\"61%\" v align=\"middle\" align=\"right\">

<input type=\"text\" name=\"sUserName\" size=\"15\" value=\"\"></td>

</tr>

<tr>

<td width=\"39%\"><font color=\"#FFFFFF\">密碼:</font></td>

<td width=\"61%\" align=\"right\" v align=\"middle\">

<input type=\"password\" name=\"sPassword\" size=\"15\" value=\"\"></td>

</tr>

<tr>

<td width=\"39%\"> </td>

<td width=\"61%\" align=\"right\"><input type=\"submit\" name=\"Submit2\" value=\"確定\"></td>

</tr>

</table>

</form>

3.3.2.3 控制層實現

在管理員登錄時需要進行身份信息的驗證,新聞發布系統中所采用的方法是利用SQL語句,以用戶ID為關鍵字從數據庫中獲取身份驗證信息進行驗證:

public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {

String name = req.getParameter(\"sUserName\");

String password = req.getParameter(\"sPassword\");

userBean myBean = new userBean();

myBean.getMyConnPool();

String id = myBean.login(name,password);

String go = \"\";

if (!id.equals(\"-1\")) {

HttpSession session = req.getSession(true);

session.setAttribute(\"login\", \"true\");

session.setAttribute(\"user\",name);

go = \"index.jsp\";}

else {

go = \"login.jsp\";}

myBean.releaseMyConnPool();

res.sendRedirect(go);}

在調用模型層實現的UserBean.login()方法后,根據該方法返回的用戶ID信息判定用戶的驗證信息是否有效,用戶是否成功登錄并決定跳轉到哪一個頁面。

用戶管理模塊的控制代碼都用Scripts的形式寫在JSP文件,雖然這是一種不規范的方式,但是在一些簡單的測試環境中這種做法能夠起到很好的教學意義。其詳細的實現如下所示:

<% //超時提示

if((String)session.getAttribute(\"login\")==1) {

response.sendRedirect(\"../session.htm\");

}%>

<jsp:useBean id=\"myBean\" scope=\"page\" class=\"com.ideas.bean.userBean\"/>

<%

int intPageSize; //一頁顯示的記錄數

int intRowCount; //記錄總數

int intPageCount; //總頁數

int intPage; //待顯示頁碼

String strPage;

//設置一頁顯示的記錄數

intPageSize =Configuration.Number_shown;

//取得待顯示頁碼

strPage = request.getParameter(\"page\");

if(strPage==1){//表明在QueryString中沒有page這一個參數,此時顯示第一頁數據

intPage = 1;}

else{//將字符串轉換成整型

intPage = java.lang.Integer.parseInt(strPage);

if(intPage<1) intP新age = 1;}

int recno=(intPage-1)*intPageSize+1;

//DBConnectionManager connMgr=DBConnectionManager.getInstance();

//Connection con = connMgr.getConnection(Configuration.ConnectionPoolName);

//創建數據庫連接

if (!myBean.getMyConnPool()) {

out.println(\"不能獲取數據庫連接.\");

return;}

//edit

String id1 = (String)request.getParameter(\"id\");

String type1 = (String)request.getParameter(\"type\");

String user1 = (String)request.getParameter(\"user\");

String pwd1 = (String)request.getParameter(\"pwd\");

String info1 = (String)request.getParameter(\"info\");

String islock1 = (String)request.getParameter(\"islock\");

if(info1==1)info1 = \"\";

info1 = new String(info1.getBytes(\"ISO-8859-1\"),\"GBK\");

if(type1==1)type1 = \"\";

int error = 0;

if(type1.equals(\"1\"))

{

Hashtable hash= new Hashtable();

hash.put(\"user\", user1);

hash.put(\"pwd\", pwd1);

hash.put(\"info\", info1);

error = myBean.add(hash);

}

else if(type1.equals(\"2\"))

{

myBean.setID(id1);

Hashtable hash= new Hashtable();

hash.put(\"user\", user1);

hash.put(\"pwd\", pwd1);

hash.put(\"info\", info1);

hash.put(\"islock\", islock1);

error = myBean.mod(hash);

}

else if(type1.equals(\"3\"))

{

myBean.setID(id1);

myBean.del();

}

//取得當前頁的數據

Vector vect = myBean.getCurPage(intPage,intPageSize);

//獲取記錄總數

intRowCount = Integer.parseInt((String)vect.get(0));

//計算總頁數

intPageCount = Integer.parseInt((String)vect.get(1));

//調整待顯示的頁碼

if(intPage>intPageCount) intPage = intPageCount;%>

在開始處,通過從session中獲取login信息來判斷管理用戶的登錄信息是否已經過期來實現一定程度的安全防范措施。

4 小結

本文提出了一種基于Web的新聞發布系統,該系統的多用戶發布,多欄目管理,使新聞信息及時、準確的得以發布。利用JSP技術實現學校的新聞能夠及時的得以發布是一項很有效方法,這種組建的方式,可以應用于網站的其它欄目。又由于JSP編程所用的 Jscript語言較其它語言較簡潔、易操作、功能較強非常適合廣大用戶進行網站的開發。

參考文獻:

[1] 劉振巖. JSP工程應用與項目實踐[M]. 北京:電子工業出版社,2006.

[2] 王輝, 黃紅超. MySQL數據庫開發實例解析[M]. 北京:清華大學出版社,2005.

[3] 羅運模, 王珊. MySQL數據庫系統基礎[M]. 北京:高等教育出版社,2003.

[4] 魏善沛. J2EE網絡開發技術[M]. 人民郵電出版社,2003.

[5] 張海藩. 軟件工程導論[M]. 北京:清華大學出版社,2003.

[6] 劉曉華. JSP與網頁數據庫設計[M]. 北京:電子工業出版社,2002.

[7] 陳孝強. J2EE編程基礎與實例[M]. 北京:清華大學出版社,2003.

[8] 伯恩斯坦,劉易斯. 數據庫系統面向應用的方法[M]. 北京:人民郵電出版社,2006.

[9] Liberty J, Hurwitz D. JSP編程[M]. 影印,3版. 南京:東南大學出版社,2006.

[10] 德特. 數據庫系統導論[M]. 北京:中國電力出版社,2005.

[11] Lowy J. Dynamic Website JSP Programming[M]. 影印版,2版. 南京:東南大學出版社,2006.

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 日本www在线视频| 亚洲av成人无码网站在线观看| 国产成人亚洲欧美激情| 91无码人妻精品一区二区蜜桃| 国产亚洲精品资源在线26u| 人妻精品久久无码区| 免费在线成人网| 嫩草影院在线观看精品视频| a级毛片网| 国产色偷丝袜婷婷无码麻豆制服| 国内精品九九久久久精品| 亚洲国产精品日韩专区AV| 在线观看国产小视频| av一区二区三区在线观看| 亚洲综合第一页| 91午夜福利在线观看| 色噜噜狠狠色综合网图区| 在线国产综合一区二区三区| 97影院午夜在线观看视频| 欧美精品亚洲精品日韩专区| 久久国产精品77777| 日韩欧美中文字幕在线精品| 久久狠狠色噜噜狠狠狠狠97视色 | 成人国产一区二区三区| 亚洲日本一本dvd高清| 久久久噜噜噜| 欧美a在线视频| 亚洲无码精彩视频在线观看 | 国产精品深爱在线| 久久香蕉欧美精品| 高清欧美性猛交XXXX黑人猛交| 久久综合色天堂av| 国产区网址| 无码专区在线观看| 日韩A级毛片一区二区三区| 欧美成人怡春院在线激情| 国产人成在线视频| 高潮爽到爆的喷水女主播视频 | 99热在线只有精品| 亚洲第一香蕉视频| 国产亚洲精久久久久久久91| 波多野结衣第一页| 亚洲精品色AV无码看| 色噜噜久久| 亚洲成人高清在线观看| 国产香蕉97碰碰视频VA碰碰看| 亚洲成肉网| 国产原创演绎剧情有字幕的| 免费观看无遮挡www的小视频| 国产一区二区三区精品久久呦| 99视频在线免费| 国产欧美日韩专区发布| 国产精品福利社| 亚洲欧美自拍一区| 亚洲高清在线播放| 国产免费精彩视频| 国产成+人+综合+亚洲欧美| 视频国产精品丝袜第一页| 97超爽成人免费视频在线播放| 丰满的少妇人妻无码区| 国产黄网永久免费| 久久国产高清视频| 欧美激情网址| 国产精品九九视频| 日本亚洲国产一区二区三区| 国产sm重味一区二区三区| 亚洲精品无码AV电影在线播放| 久久a级片| 国产亚洲精久久久久久久91| 一本大道香蕉高清久久| 久久午夜夜伦鲁鲁片无码免费| 欧美在线国产| 日韩精品资源| 伊在人亚洲香蕉精品播放 | 色婷婷成人| 日韩毛片视频| 日韩精品无码免费一区二区三区| 国产成人a在线观看视频| 亚洲制服丝袜第一页| 国产91线观看| 亚洲成人黄色在线| 欧美中文字幕无线码视频|