java中struts 框架基本配置小結

struts 框架實現的功能屬於mvc模式中的controller(控制層),以1.x版本爲例,其包含了五大重要組件即Action、ActionServlet、ActionMapping、ActionForward、ActionForm,而這都是一些類,下面就這個版本的配置過程做一個小節。
首先要新建一個Dynamic Web Project 並導入相關的jar 包如何
這裏寫圖片描述
並且也要引入 關於struts的配置文件,struts-config.xml文件。在這個文件中就是關於action、form-bean以及global-forward、forward的配置
接下來,就是寫相關的formBean及Action,其中Action相當於servlet其實也就是對servlet的封裝,而要寫一個Action就是要寫一個類讓它繼承Action這個類就是處理表單數據、完成頁面跳轉的,當然在繼承的同時也要重寫Action類的execute方法,具體的實現方法如下:

public class MyAction extends Action {

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        //這裏處理數據及調用業務邏輯等        
        return mapping.findForward("forword");//頁面跳轉
    }

}

Action 寫完後我們還要寫一個formBean,這裏就是對錶單信息的封裝,它要繼承自ActionForm類,裏面的數據成員要和頁面中的表單name字段屬性值一樣同時要生成setter和getter方法具體的類信息如下

public class FormBean extends ActionForm {
    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;
    }
}

類寫完後就要對這個兩個類進行配置了。
在對這兩個類進行配置前,我們還要對struts中大的控制器進行配置,因爲這個大的控制器就是struts的入口,有點像過慮器。這個大的控制器就是ActionServlet,而我們上面所說的Action就是小的控制是處理具體業務邏輯的,ActionServlet的配置如下:
這個是在web.xml中配置的

<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>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

其實本質上ActionServlet就是一個servlet。在這裏需要注意的是param-name的值必須是config,還有就是*.do代表以.do接尾的路徑都要調用這個大控制器。
以上步驟完成後就要在struts-config.xml中 對Action和formBean進行配置了。具體的配置如下:

<struts-config> 
    <form-beans>
        <form-bean name="formbean" type="com.ev.bean.FormBean" />
    </form-beans>
    <action-mappings>
        <action path="/login" type="com.ev.action.MyAction" name="formbean" >
            <forward path="/home.jsp" name="forword"></forward>
        </action>
    </action-mappings>
</struts-config>

其中的type屬性是引用的類名稱,action中的path表示調用該action時所用到的路徑,name屬性是對它所關聯的formBean的引用;forward的 path是要跳轉的頁面地址;form-bean就對ActionForm進行配置其中的name屬性是當和某個Action關聯時要用到。
最後就是要在頁面中調用了。調用如下

<form action="/teststruts1.3.10/login.do" method="post">
        用戶名:<input type="text" name="username" value=""/><br/>
        密碼: <input type="password" name="password" value=""/>
        <input type="submit" value="提交" />
    </form>

以上就是大概的配置步驟。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章