下圖為一個Struts的簡單原理流程圖,其中在web.xml中會設定什麼樣的url要交由ActionServlet來轉發給處理邏輯(例如 *.do),JSP File相當於View的可視化介面,當JSP File要把表單(Form)中的參數傳給商業邏輯處理時,ActionServlet會去struts-config.xml中尋找對應Form裡指定目標url的Action(相當於Control)和相應要物件實例化Form的Bean類別,ActionForm(相當於Model)。之後在Action中處理商業邏輯,並指定一個轉送目標url,這時就會轉送到struts-config.xml中對應轉送標的JSP或Action等。
我們的範例專案檔案配置如下:
- login.jsp : 身份認證的輸入畫面。
- loginSuccess.jsp : 認證成功的畫面。
- struts-config.xml : Struts的配置設定。
- LoginCheckAction : 處理身份認證商業邏輯的Action。
- LoginFormBean : 用來實例物件Form的Bean類別。
以下為程式碼,相關的解釋都在註解裡: