Struts2入門級例子

1.     入門級例子

 

根據上述瞭解,要開發第一個Struts2程序,我們需要完成下面的事項:

 

l           web.xml中增加Filter(過濾器)配置

l           編寫Action

l           編寫Struts2的配置文件

l           編寫JSP

 

引入依賴包

我們的第一個Struts2應用程序,將基於最新的struts2版本:struts2.2.1版本。我們首先創建一個Web應用程序,引入下列依賴包:

 

這些依賴包,可以從Struts2.2.1的解壓目錄下的apps/struts2-blank-2.2.1.war文件中獲得。

 

Commons-fileuploadcommons-io是文件上傳必須的依賴包。

Freemarkerstruts2中的HTML相關標籤庫(taglib)的依賴包

JavassistognlOGNL相關依賴包(OGNLStruts2中的表達式語言,非常核心的依賴包)

Struts2-core就是struts2本身的類庫

Xwork-corestruts2非常核心的依賴包,正是它確定了請求處理的基本過程(它原本屬於webwork)

 

web.xml中增加過濾器配置

    <filter>

        <filter-name>struts2</filter-name>

        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

    </filter>

 

    <filter-mapping>

        <filter-name>struts2</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>

 

這個過濾器要過濾所有的請求。

 

編寫Action

 

這個Action類已經是簡單到不能再簡單了!

 

public class FirstAction {

    public String hello(){

       //每次調用,都是不同的對象!

       System.out.println("世界,你好"+this);

       return "success";

    }

}

 

增加Struts2的配置文件

類路徑的根目錄下,添加一個名爲struts.xml的文件,內容如下:

 

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

 

<struts>

    <package name="test" namespace="/test" extends="struts-default">

       <action

           name="hello"

           class="cn.com.leadfar.struts2.action.FirstAction"

           method="hello"

       >

           <result name="success">/first.jsp</result>

       </action>

    </package>

</struts>

 

 

Package中的name屬性是必須的,它可以是隨意的一個名稱,namespace是用來定義訪問ActionURL地址前綴(馬上就介紹如何訪問這個Action),它必須以“/”開頭extends表示本配置是繼承另外一個package中的配置信息(struts-defaultstruts2中的默認package)。

 

Action配置中的name是用來定義如何訪問Action的;class當然就是對應的action類了;method表示訪問action的哪個方法;result定義的是這個action調用的返回值代表的是轉向哪裏!

 

編寫JSP

 

請隨意編寫一個JSPfirst.jsp,並放置在web應用部署的根目錄下。

 

訪問Action

請在瀏覽器地址欄輸入:

 

http://localhost:[端口]/[Context Path]/test/hello.action

 

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