最簡單的struts應用

博客園 一、搭建一個簡單的Struts2應用 具體爲一下幾個步驟: 一、引入Struts 2工程所需運行庫文件。 二、建立並配置web.xml文件 三、建立一個Action類 四、建立並配置struts.xml文件。 引入工程所需運行庫文件 目前我用到的Struts版本爲2.1.8.1 GA。 把如下幾個運行庫文件複製到工程的WEB-INF下的lib文件夾中。 Struts2_7FC9/image_4.png" class=" tc-normal-center" style="display:block;">Struts2%5F7FC9%2Fimage%5Fthumb%5F1%2Epng" alt="image" data-width="244" data-height="173" class=" tc-img-block notrust"/> 在web.xml中配置FilterDispatcher 配置WEB-INF下的web.xml文件 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* Struts2的核心控制器FilterDispatcher被設計成了過濾器,經過 標籤引入。 /* 說明全部客戶端請求都經由FilterDispatcher處理,並把過濾後的請求交給Struts2進行處理。 編寫Action Struts2直接使用Action來封裝HTTP請求參數,所以Action類應該包含與請求相對應的屬性,併爲該屬性提供對應的setter和getter方法。 爲Action類裏增長一個execute方法,由於Struts2框架默認會執行這個方法。這個方法自己並不作業務邏輯處理,而是調用其餘業務邏輯組件完成這部分工做。 Action類返回一個標準的字符串,該字符串是一個邏輯視圖名,該視圖名對應實際的物理視圖。 咱們如今要實現的是一個用戶登陸驗證,所以Action中提供用戶名和密碼兩個屬性。若是正確返回success不然返回error package wwfy.action.user; public class UserAction { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String execute() throws Exception { // 只有用戶名爲wwfy,密碼爲123456方可成功登錄 if (username.equals("wwfy") && password.equals("123456")) { return "success"; } else { return "error"; } } } Action有一下特色: Struts2框架中Action是一個POJO,沒有被代碼污染。 Struts2中的Action的execute方法不依賴於servlet API,改善了Struts1中耦合過於緊密,極大方便了單元測試。 Struts2的Action無須用ActionForm封裝請求參數。 相對Struts1框架而言,Struts2的邏輯視圖再也不是ActionForward對象,而是一個普通的字符串,利於分離和複用。 配置struts.xml Struts2框架的核心配置文件就是struts.xml,該文件主要負責Struts2應用中各Action的具體實現邏輯。struts.xml會根據不一樣請求找到具體的Action,而後根據Action返回的邏輯視圖名找到具體的物理視圖。 在WEB-INF/classes文件夾下建立struts.xml /jsp/error.jsp /jsp/error.jsp 該文件發佈的時候必須放置在WEB-INF/classes路徑下,當程序運行的時候會自動在該目錄下搜索struts.xml。 在action標籤中定義了name和class。name屬性對應的是用戶URL請求中的action名,好比在本應用中,用戶請求爲http://localhost:8080/Struts2/loginUser.action,那麼name屬性就應該爲loginUser。class屬性是處理請求的實現類(注意:要包含完整路徑),本應用的實現類是wwfy.action.user.UserAction。 result標籤訂義邏輯視圖和物理視圖之間的映射,在咱們的Action中,若是返回的字符串是"success」則由對應的success.jsp頁面進行處理;若是返回的字符串是"error」則由error.jsp頁面進行處理。 編寫視圖資源 一、登錄頁面login.jsp <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <%@ taglib prefix="s" uri="/struts-tags" %> 登錄頁面
二、登錄成功頁面success.jsp <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <%@ taglib prefix="s" uri="/struts-tags" %> 成功頁面

登錄成功!!!您的用戶名是 java

三、登錄失敗頁面error.jsp <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> 失敗頁面

登錄失敗!!!web

頁面中不少以s:開頭的標籤,這些是Struts2框架獨有的標籤庫. 整個應用的目錄結構是 image
相關文章
相關標籤/搜索