【摘 要】Struts體系結(jié)構(gòu)實(shí)現(xiàn)了MVC設(shè)計(jì)模式的概念,它將Model、View和Controller分別映射到Web應(yīng)用中的組件。本文闡述了利用Struts框架實(shí)現(xiàn)信息發(fā)布系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)和功能設(shè)計(jì)的過(guò)程,并給出了struts在信息發(fā)布系統(tǒng)中的關(guān)鍵代碼。
【關(guān)鍵詞】信息發(fā)布 Struts MVC
【中圖分類號(hào)】TP399 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】1674-4810(2011)10-0036-01
一 引言
信息發(fā)布系統(tǒng)是一個(gè)由人、計(jì)算機(jī)等組成的能進(jìn)行信息的發(fā)布、傳遞、存儲(chǔ)、加工和使用的系統(tǒng)。采用信息發(fā)布系統(tǒng)不僅能夠及時(shí)全面地提供信息和數(shù)據(jù),簡(jiǎn)化信息收集發(fā)布工作,對(duì)不同的管理層次提出不同的報(bào)告,還能根據(jù)過(guò)去的數(shù)據(jù)預(yù)測(cè)未來(lái)的情況。本文將論述如何采用基于Struts框架技術(shù)構(gòu)建信息發(fā)布系統(tǒng)的方法。
二 信息發(fā)布系統(tǒng)功能
信息發(fā)布系統(tǒng)是將網(wǎng)頁(yè)上的某些需要經(jīng)常變動(dòng)的信息,類似新聞、新產(chǎn)品發(fā)布和業(yè)界動(dòng)態(tài)等更新信息集中管理,并通過(guò)信息的某些共性進(jìn)行分類,最后系統(tǒng)化、標(biāo)準(zhǔn)化發(fā)布到網(wǎng)站上的一種網(wǎng)站應(yīng)用程序。本文所設(shè)計(jì)的信息發(fā)布系統(tǒng)主要包括系統(tǒng)注冊(cè)、系統(tǒng)管理、用戶管理、信息編輯發(fā)布、信息類別管理等。
信息發(fā)布系統(tǒng)是為用戶提供后臺(tái)發(fā)布信息的各種功能。本文所設(shè)計(jì)的系統(tǒng)提供了盡可能豐富的功能模塊,來(lái)減輕管理員的編程壓力。由于網(wǎng)絡(luò)管理員的工作主要是維護(hù)網(wǎng)絡(luò)和軟件的正常運(yùn)行,一般不會(huì)直接管理網(wǎng)站內(nèi)容,因此,網(wǎng)站信息發(fā)布系統(tǒng)允許管理員針對(duì)每個(gè)欄目授權(quán)管理員進(jìn)行管理與維護(hù),減輕管理員的工作量,并將工作量合理分配到“信息源”處。系統(tǒng)最終實(shí)現(xiàn)的主要功能如下:(1)管理員部分。包括管理員對(duì)系統(tǒng)信息的添加、刪除和修改操作,以及其他管理員權(quán)限分配。(2)用戶管理部分。包括管理員對(duì)普通用戶的增加、刪除和修改操作,以及所能涉及的權(quán)限范圍。(3)信息發(fā)布管理部分。該部分主要對(duì)其他用戶輸入的信息進(jìn)行編輯、添加、修改、刪除以及審核操作。(4)類別管理部分。主要是對(duì)類別的增加修改。
三 Struts框架在信息發(fā)布中的應(yīng)用
1.信息發(fā)布實(shí)現(xiàn)的功能
用戶成功登錄后便可以進(jìn)入管理后臺(tái)進(jìn)行信息的增加、修改、刪除操作,普通用戶只能管理自己的信息。具體流程如下:編寫(xiě)信息→提交→對(duì)信息的增刪、改查→待審核→審核通過(guò)即可發(fā)布。
2.設(shè)計(jì)過(guò)程
構(gòu)建struts用于傳遞參數(shù)的實(shí)體bean為:Article Action Form.java。具體代碼如下:
public class Article Action Form extends Action Form
private String action;private String userId;//省略類似代碼.
public String get UserId() { return userId;}
public void set UserId(String userId) { this.userId = userId;}
public void set Action(String action) { this.action = action;}
public String get Action () { return Action;}
//省略類似代碼
添加信息
if (forward equals Ignore Case(“save”)) {
article Form set UserId( (String) session.get Attribute (“userId”));
String content = article Form.get Article_text();
String article_shoft = article Form.get Article_shoft();
content = content.replace All(“\”,“”);
article_shoft = article_shoft.replace All(“\”,““); /
article Form.set Article_text(content);
article Form.set Article_shoft(article_shoft);
if (dao.save(article Form)) {request.set Attribute(“message”,“添加成功!”);}
else { request.set Attribute(“message”,“添加失??!”);}
return (action Mapping.find Forward(“addArticle”));}
//信息保存
public boolean save(Article Action Form article) {
Connection con = 1;
Prepared Statement ps = 1;
Encoding encoder = new Encoding();
db = new Db Connection();
try {con = db.get Connection();
con.set Auto Commit(1);
ps=con.prepareStatement(\"insertintoarticle(article_title,article_text,article_time,author,“+” article_class,userId,article_shoft) VALUES(?,?,?,?,?,?,?)\");
ps.set String(1, encoder.cn2uni(article.get Article_title()));
ps.set String(2, encoder.cn2uni(article.get Article_text()));
//省略部分代碼
}catch (SQL Exception ex1) {System.err.println(“保存數(shù)據(jù)錯(cuò)誤:” + ex1.to String());}finally { //省略部分代碼}
return 1;}
四 小結(jié)
Struts是一種基于MVC經(jīng)典設(shè)計(jì)模式的開(kāi)放源代碼的應(yīng)用框架,也是目前Web開(kāi)發(fā)中比較成熟的一種框架。本文利用Struts進(jìn)行信息發(fā)布系統(tǒng)的開(kāi)發(fā),Struts為Web開(kāi)發(fā)提供具有高可配置性的MVC開(kāi)發(fā)模式。
參考文獻(xiàn)
[1]James HolmesMcGraw. Struts: The Complete Reference[M]. Hill/Osborne,2004
〔責(zé)任編輯:王以富〕