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

Struts 2 實戰:使用者登入與驗證完整範例

     編輯:Java 相關知識

開發環境

MyEclipse 5.0 + Eclipse 3.2 + JDK 5.0 + Tomcat 5.5 + Struts 2 + JUnit 3.8

頁面流程設計

  1. Welcome.jsp:入口頁,提供「註冊」與「登入」連結。登入連結使用 <s:url action="Logon!input"/> 指定叫用 input 方法。
  2. Logon.jsp:登入表單,使用 Struts 標籤 <s:form action="Logon">、<s:textfield>、<s:password>、<s:submit>。
  3. Logon-validation.xml:聲明式驗證規則,username、password 必填,錯誤訊息對應資源檔鍵值。
  4. Menu.jsp:登入成功導向頁(示範用「功能建構中」)。

Action 類別實作

public class Logon extends ActionSupport {
    private String username, password;

    public String execute() throws Exception {
        if (isInvalid(username)) return INPUT;
        if (isInvalid(password)) return INPUT;
        return SUCCESS;
    }
    private boolean isInvalid(String v) { return v == null || v.length() == 0; }
    // getter/setter 省略
}

驗證失敗返回 INPUT 導回登入頁,成功返回 SUCCESS 導向選單。

Struts.xml 核心配置

<action name="Logon!*"
        method="{1}"
        class="com.cleversoft.struts2.demo.Logon">
  <result type="redirect-action">Menu</result>
  <result name="input">/Logon.jsp</result>
</action>
  • name="Logon!* 通配符匹配 Logon、Logon!input 等。
  • method="{1}" 將 ! 後字串作為方法名(input),等同 method="input"。
  • 成功重導向 Menu Action,驗證失敗返回 Logon.jsp。

執行驗證

存取 https://localhost:8080/struts2/Welcome.action:

  1. 首頁顯示連結。
  2. 點「Sign On」進入登入頁。
  3. 未輸入帳密送出 → 驗證失敗顯示錯誤訊息。
  4. 輸入正確帳密 → 登入成功導向選單頁。

本地化 (I18n) 整合

  1. 建立 package.properties:
    requiredstring=${getText(fieldName)}isrequired.
    username=User Name
    password=Password
  2. 修改 Logon-validation.xml:<message key="requiredstring"/>
  3. 修改 Logon.jsp 標籤標題使用 OGNL 取資源:
    <s:textfield label="%{getText('username')}" .../>

至此完成含驗證、國際化、通配符映射的 Struts 2 登入實戰範例。

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