首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Struts 入門經驗總結:安裝、實例、優缺點與實施建議

     編輯:Java 程式設計入門

安裝驗證

  1. 下載 Struts 1.1 Release 版解壓
  2. 將 webapps/*.war 複製至 Tomcat/webapps
  3. 重啟 Tomcat,訪問 https://localhost:8080/struts-example/index.jsp 出現 "powered by Struts" 即成功

專案快速建立技巧

複製 struts-example/WEB-INF 至新專案目錄,清空 src、classes、struts-config.xml 內容,即得乾淨 Struts 專案骨架。

用戶註冊完整範例

reguser.jsp (大量使用 Taglib)

<html:form action="/regUserAction" focus="logname">
  <html:text property="logname" size="20" maxlength="20"/>
  <html:password property="password" size="20" maxlength="20"/>
  <html:password property="email" size="30" maxlength="50"/> <!-- 應改用 html:text -->
  <html:submit/> <html:reset/>
</html:form>

struts-config.xml

<form-bean name="regUserForm" type="org.cjea.struts.example.RegUserForm"/>
<action path="/regUserAction"
        type="org.cjea.struts.example.RegUserAction"
        attribute="regUserForm"
        scope="request"
        validate="false">
  <forward name="failure" path="/messageFailure.jsp"/>
  <forward name="success" path="/messageSuccess.jsp"/>
</action>

RegUserForm.java

public class RegUserForm extends ActionForm {
    private String logname, password, email;
    // getter/setter/reset 省略
}

RegUserAction.java

public class RegUserAction extends Action {
    public ActionForward perform(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest req,
                                 HttpServletResponse res) {
        // 取得參數、處理資料庫邏輯、回傳 forward
    }
}

Servlet 演進對比

傳統 JSP/Servlet/JavaBeanStruts 架構
Servlet 兼任 Controller、資料取得、邏輯處理ActionServlet 專司導航,FormBean 封裝資料,Action 處理邏輯

Struts 優缺點分析

優點

  • 開源、原始碼可審視
  • Taglib 極大提升開發效率、減少 Scriptlet
  • 集中式導航配置 (struts-config.xml) 讓系統脈絡清晰,利於維護移交

缺點

  • Taglib 學習曲線陡峭,初期影響開發速度
  • Controller 拆分為三層 (ActionServlet/FormBean/Action) 增加複雜度

實施經驗五條建議

  1. 整體規劃先行:模組劃分、FormBean/Action 數量估算,專人維護 struts-config.xml
  2. 評估團隊熟悉度:趕專案且無經驗者,建議勿貿然導入
  3. Taglib 與美工協作:大量 Taglib 可能限制頁面靈活度,需權衡
  4. 漸進式學習 Taglib:先掌握表單相關標籤,再深入 Logic/Bean/Tiles
  5. 專案大小皆適用:小專案練習架構,大專案發揮導航優勢

總結

Struts 是優秀的 J2EE MVC 實作,掌握其核心配置與標籤庫,配合團隊規範,能顯著提升專案可維護性。建議在中型以上專案或長期維護系統中採用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved