?? 基于mvc模式struts框架研究與應(yīng)用詳解—jsp教程1.htm
字號:
onload=resizepic(this) align=absMiddle border=0></A><BR>圖2
Struts框架圖</P><BR> 由圖2可以看出,在Struts框架中Controller功能由ActionServlet和ActionMapping對象構(gòu)成,核心是一個Servlet類型的對象ActionServlet,它用來接受客戶端的請求。ActionServlet包括一組基于配置的ActionMapping對象,每個ActionMapping對象實現(xiàn)了一個請求到一個具體的Model部分中Action處理器對象之間的映射。
<BR><BR> Model部分由Action和ActionForm對象構(gòu)成。所有的Action處理器對象都是開發(fā)者從Struts的Action類派生的子類。Action處理器對象封裝了具體的處理邏輯,調(diào)用業(yè)務(wù)邏輯模塊,并且把響應(yīng)提交到合適的View組件以產(chǎn)生響應(yīng)。Struts提供的ActionForm組件對象可以通過定義屬性描述客戶端表單數(shù)據(jù)。開發(fā)者可以從它派生子類對象,利用它和Struts提供的自定義標(biāo)記庫結(jié)合可以實現(xiàn)對客戶端的表單數(shù)據(jù)的良好封裝和支持,Action處理器對象可以直接對它進(jìn)行讀寫,而不再需要和request、response對象進(jìn)行數(shù)據(jù)交互。通過ActionForm組件對象實現(xiàn)了對View和Model之間交互的支持。<BR><BR> View部分是通過JSP技術(shù)實現(xiàn)的。Struts提供了自定義的標(biāo)記庫,通過這些自定義標(biāo)記可以非常好地和系統(tǒng)的Model部分交互,通過使用這些自定義標(biāo)記創(chuàng)建的JSP表單,可以實現(xiàn)和Model部分中的ActionForm的映射,完成對用戶數(shù)據(jù)的封裝。<BR><BR> <B>基于MVC模式的Struts框架的應(yīng)用</B><BR><BR> 下面通過一個具體實例說明如何應(yīng)用Struts框架構(gòu)建應(yīng)用程序。該實例是一個全面預(yù)算管理系統(tǒng)中的預(yù)算資料模塊,包括資料錄入、資料查詢、資料修改和資料刪除四個功能,用于完成預(yù)算資料的錄入、查詢、修改及刪除。<BR><BR> 具體在使用Struts框架時,對應(yīng)各個部分的開發(fā)工作主要包括:<BR><BR> 1、構(gòu)建視圖<BR><BR> 在Struts框架中,視圖的實現(xiàn)主要采用JSP技術(shù),但與傳統(tǒng)的JSP相比有兩個顯著的不同。<BR><BR> 首先,在Struts下使用JSP開發(fā)視圖,在頁面中沒有包含任何的腳本程序,只是單純的完成數(shù)據(jù)傳送以及接收和顯示返回的數(shù)據(jù)。對數(shù)據(jù)的處理以及頁面的跳轉(zhuǎn)都在業(yè)務(wù)層中來實現(xiàn)。這樣做實現(xiàn)了業(yè)務(wù)邏輯和表示邏輯的完全分離,提高了一個應(yīng)用程序的性能和可擴(kuò)展性,并有利于程序的復(fù)用。<BR><BR> 第二,Struts框架提供了一組可擴(kuò)展的自定義標(biāo)記庫,主要包括:
Bean標(biāo)記、
Logic標(biāo)記、HTML標(biāo)記和模板標(biāo)記。通過使用標(biāo)記,可以簡化創(chuàng)建用戶界面的過程,并且更好地實現(xiàn)數(shù)據(jù)的封裝。通過使用這些自定義標(biāo)記創(chuàng)建的JSP表單,可以實現(xiàn)和業(yè)務(wù)層中的ActionForm的映射,非常好地和系統(tǒng)的業(yè)務(wù)邏輯部分交互。<BR><BR> 下面給出資料錄入頁面的部分實現(xiàn)代碼:<BR><BR>
<DIV class=code><%@ page contentType="text/html; charset=GBK"
%><BR><%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"
%><BR><%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"
%><BR><%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"
%><BR><html><BR><head><BR><title><BR>前期準(zhǔn)備資料錄入<BR></title><BR><link
rel="stylesheet" type="text/css"
href="../images/mobile.css"><BR></head><BR><body
bgcolor="#ffffff"><BR><html:form action="/information/budgetinfoadd"
enctype="multipart/form-data"><BR><table width="95%" border="1"
cellspacing="1" cellpadding="2" bordercolor="#CBE7F8"
align="center"><BR><tr bgcolor="#F2F9FD"><BR><td
width="20%">類型:</td><BR><td><BR><html:select property="infoType"
styleClass="input2"><BR><html:options collection="TypeList"
property="id"
labelProperty="typeName"/><BR></html:select><BR></td><BR></tr><BR>……<BR></table><BR></html:form><BR></body><BR></html></DIV><BR> 程序中首先引入了HTML、Bean和Logic標(biāo)記庫,然后用action指出調(diào)用的Action組件的絕對路徑,標(biāo)記<html:form>和</html:form>封裝了表單數(shù)據(jù),在業(yè)務(wù)層中用相應(yīng)的ActionForm組件可以將輸入的數(shù)據(jù)全部得到。<BR><BR> 可以看出在視圖中沒有進(jìn)行任何的業(yè)務(wù)邏輯的處理,其主要作用是給出客戶端顯示的信息和處理結(jié)果,以及請求的轉(zhuǎn)發(fā),它是和用戶交互的接口。<BR><BR> 2、構(gòu)建模型<BR><BR> 模型采用JavaBean和EJB組件,設(shè)計和實現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯。根據(jù)不同的請求從Action派生具體Action處理對象,完成“做什么”的任務(wù)來調(diào)用由Bean構(gòu)成的業(yè)務(wù)組件,創(chuàng)建由ActionForm
的派生類實現(xiàn)對客戶端表單數(shù)據(jù)的封裝。</DIV></TD></TR>
<TR>
<TD class=t14 align=middle>首頁 上一頁 <B>[1]</B> <A class=a14
href="http://www.68design.net/Development/JSP/21315-2.html">[2]</A>
<A class=a14
href="http://www.68design.net/Development/JSP/21315-2.html">下一頁</A>
<A class=a14
href="http://www.68design.net/Development/JSP/21315-2.html">尾頁</A></TD></TR>
<TR>
<TD align=middle>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-8303457437254535";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text";
google_ad_channel = "";
google_color_border = "fafafa";
google_color_bg = "fafafa";
google_color_link = "333333";
google_color_text = "333333";
google_color_url = "333333";
//-->
</SCRIPT>
<SCRIPT src="基于MVC模式Struts框架研究與應(yīng)用詳解—JSP教程1.files/show_ads.js"
type=text/javascript></SCRIPT>
</TD></TR>
<TR>
<TD align=middle height=35>上一篇:<A
href="http://www.68design.net/Development/JSP/21316-1.html">J2EE應(yīng)用服務(wù)器Jboss
+ Tomcat安裝攻略</A> 下一篇:<A
href="http://www.68design.net/Development/JSP/21244-1.html">介紹JSP中request屬性的用法</A></TD></TR>
<TR>
<TD align=middle>
<SCRIPT language=javascript
src="基于MVC模式Struts框架研究與應(yīng)用詳解—JSP教程1.files/news.info2.js"
type=text/javascript></SCRIPT>
</TD></TR>
<TR>
<TD align=right bgColor=#f2f2f2 height=1></TD></TR>
<TR>
<TD align=right>【<A title=收藏的網(wǎng)頁將被永久的保存到收藏夾
href="javascript:AddFav()">收藏此頁</A>】【<A
href="javascript:window.print()">打印</A>】【<A
href="javascript:window.close()">關(guān)閉</A>】</TD></TR>
<TR>
<TD align=right bgColor=#cedac5 height=1></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=4 cellPadding=0 width="100%" bgColor=#ffffff
border=0><TBODY>
<TR>
<TD width="50%" bgColor=#dbefe0 height=28><STRONG
class=t14> 相關(guān)文章</STRONG></TD>
<TD class=t14 width="50%"
bgColor=#dbefe0><STRONG> 我要點評</STRONG></TD></TR>
<TR>
<TD vAlign=top align=middle>
<TABLE cellSpacing=0 cellPadding=0 width="96%" border=0>
<TBODY>
<TR>
<TD>·<A
href="http://www.68design.net/Development/JSP/21242-1.html">JSF和Struts框架的錯誤控制與封裝處理</A></TD></TR></TBODY></TABLE></TD>
<TD align=middle><IFRAME
src="基于MVC模式Struts框架研究與應(yīng)用詳解—JSP教程1.files/CA8LCHGN.htm" frameBorder=0
width=330 scrolling=no height=156></IFRAME></TD></TR></TBODY></TABLE><BR>
<TABLE cellSpacing=1 cellPadding=12 width="98%" bgColor=#e8e8e8
border=0><TBODY>
<TR>
<TD bgColor=#f9f9f9
height=65><STRONG>免責(zé)聲明</STRONG>:本站刊載此文不代表同意其說法或描述,僅為提供更多信息,也不構(gòu)成任何建議。對本文有任何異議,請聯(lián)絡(luò):68design#163.com
<BR><STRONG><FONT
color=#ff3300>轉(zhuǎn)載要求</FONT></STRONG>:作者及來源信息必需保留。轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點的水印。</TD></TR></TBODY></TABLE><BR></TD>
<TD bgColor=#cedac5><IMG height=1
src="基于MVC模式Struts框架研究與應(yīng)用詳解—JSP教程1.files/di.gif" width=1></TD>
<TD vAlign=top align=right width=309 bgColor=#ffffff>
<TABLE height=461 cellSpacing=0 cellPadding=0 width=300 border=0>
<TBODY>
<TR>
<TD height=461>
<SCRIPT language=javascript
src="基于MVC模式Struts框架研究與應(yīng)用詳解—JSP教程1.files/news.right2.js"
type=text/javascript></SCRIPT>
<TABLE cellSpacing=1 cellPadding=0 width=300 bgColor=#cbe3d1
border=0>
<TBODY>
<TR>
<TD align=middle width=250 bgColor=#edf8f0 height=250>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-8303457437254535";
/* 300x250, 創(chuàng)建于 08-6-6 */
google_ad_slot = "0126992657";
google_ad_width = 300;
google_ad_height = 250;
//-->
</SCRIPT>
<SCRIPT src="基于MVC模式Struts框架研究與應(yīng)用詳解—JSP教程1.files/show_ads.js"
type=text/javascript>
</SCRIPT>
</TD></TR></TBODY></TABLE>
<SCRIPT language=javascript
src="基于MVC模式Struts框架研究與應(yīng)用詳解—JSP教程1.files/news.right3.js"
type=text/javascript></SCRIPT>
</TD></TR></TBODY></TABLE><IFRAME
src="基于MVC模式Struts框架研究與應(yīng)用詳解—JSP教程1.files/pc.htm" frameBorder=0 width=300
scrolling=no height=650></IFRAME><BR></TD></TR>
<TR>
<TD bgColor=#cedac5 colSpan=3 height=1></TD></TR></TBODY></TABLE><BR>
<TABLE class=en cellSpacing=0 cellPadding=5 width=980 align=center
bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD class=en vAlign=bottom align=middle><FONT color=#ffffff><A
href="http://main.68design.net/aboutus.aspx" target=_blank>關(guān)于我們</A> | <A
href="http://main.68design.net/gbook/list.aspx" target=_blank>在線反饋</A> |
<A href="http://main.68design.net/baojia.aspx" target=_blank>廣告報價</A> | <A
href="http://main.68design.net/link.aspx" target=_blank>友情鏈接</A> | <A
href="http://main.68design.net/contact.aspx" target=_blank>聯(lián)系我們</A> | <A
href="http://main.68design.net/exempt.aspx" target=_blank>免責(zé)聲明</A> | <A
href="http://main.68design.net/art/operate/contribute.aspx"
target=_blank>在線投稿</A> | <A href="http://main.68design.net/sitemap.html"
target=_blank>網(wǎng)站地圖</A></FONT></TD></TR>
<TR>
<TD class=en2 align=middle>Copyright ? 2003-2007 68design.net, All Rights
Reserve <FONT
color=#ff6600>【找網(wǎng)頁設(shè)計師,當(dāng)然上網(wǎng)頁設(shè)計師聯(lián)盟】</FONT></TD></TR></TBODY></TABLE></BODY></HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -