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

Struts 1.1 安裝與登入範例完整實作 (含目錄結構)

     編輯:Java 程式設計入門

1. Struts 1.1 安裝步驟

  1. 下載 jakarta-struts-1.1.zip 解壓
  2. 將 webapps/struts-blank.war 複製至 Tomcat/webapps
  3. 重啟 Tomcat,自動展開成 struts-blank 空白專案模板
  4. 參考 struts-example.war 學習完整功能示範

2. 登入系統完整範例

2.1 Logon.jsp (視圖)

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ page contentType="text/html; charset=gb2312" %>
<html:html>
<head><title>Logon</title></head>
<body>
  <html:errors/>
  <html:form action="/Logon" focus="username">
    username: <html:text property="username" size="25"/>
    password: <html:password property="password" size="25"/>
    <html:submit property="submit"/>
  </html:form>
</body>
</html:html>

2.2 LogonForm.java (ActionForm)

package com.logon.app;
import org.apache.struts.action.ActionForm;

public class LogonForm extends ActionForm {
    private String username;
    private String password;

    public LogonForm() { username = null; password = null; }
    // getter/setter 省略
    public void reset(ActionMapping mapping, HttpServletRequest request) {
        username = null; password = null;
    }
}

2.3 LogonAction.java (Action)

package com.logon.app;
import javax.servlet.http.*;
import org.apache.struts.action.*;

public class LogonAction extends Action {
    public ActionForward execute(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) throws Exception {
        LogonForm f = (LogonForm) form;
        ActionErrors errors = new ActionErrors();
        if ("bluesunny".equals(f.getUsername()) && "bluesunny".equals(f.getPassword())) {
            return mapping.findForward("success");
        } else {
            errors.add("login", new ActionError("Logon.failed"));
            saveErrors(request, errors);
            return mapping.findForward("failure");
        }
    }
}

2.4 web.xml

<web-app>
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list><welcome-file>Logon.jsp</welcome-file></welcome-file-list>
  <taglib><taglib-uri>/tags/struts-bean</taglib-uri><taglib-location>/WEB-INF/struts-bean.tld</taglib-location></taglib>
  <taglib><taglib-uri>/tags/struts-html</taglib-uri><taglib-location>/WEB-INF/struts-html.tld</taglib-location></taglib>
  <taglib><taglib-uri>/tags/struts-logic</taglib-uri><taglib-location>/WEB-INF/struts-logic.tld</taglib-location></taglib>
  <taglib><taglib-uri>/tags/struts-tiles</taglib-uri><taglib-location>/WEB-INF/struts-tiles.tld</taglib-location></taglib>
</web-app>

2.5 struts-config.xml

<struts-config>
  <form-beans>
    <form-bean name="LogonForm" type="com.logon.app.LogonForm"/>
  </form-beans>
  <action-mappings>
    <action path="/Logon"
            type="com.logon.app.LogonAction"
            name="LogonForm"
            scope="request"
            input="Logon.jsp">
      <forward name="success" path="/success.jsp"/>
      <forward name="failure" path="/Logon.jsp"/>
    </action>
  </action-mappings>
  <message-resources parameter="resources.application"/>
</struts-config>

2.6 resources/application.properties

Logon.failed = Logon failed! Please Logon in again!

2.7 success.jsp

successfully!

3. 專案目錄結構

/app (Context Root)
  Logon.jsp, success.jsp
  /WEB-INF
    web.xml, struts-config.xml
    /lib
      struts.jar, commons-*.jar
    /classes
      /com/logon/app
        LogonForm.class, LogonAction.class
      /resources
        application.properties

4. 部署與測試

  1. 編譯 Java 類別至 WEB-INF/classes
  2. 將專案目錄 app 放入 Tomcat/webapps 或打包成 app.war
  3. 啟動 Tomcat,瀏覽 https://localhost:8080/app/
  4. 輸入 username/password = bluesunny → 顯示 success.jsp;否則回到 Logon.jsp 顯示錯誤訊息

總結

此範例涵蓋 Struts 1.1 核心 MVC 流程:JSP 標籤庫綁定 ActionForm → Action 處理邏輯與驗證 → ActionErrors 回報錯誤 → struts-config.xml 統一導航。掌握此架構即可擴展至實務專案。

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