Struts2入門樣本教程

來源:互聯網
上載者:User

回顧Struts2的使用過程,網上搜的教程多多少少都會有點問題,重新記錄下建立過程,方便查閱。

1、下載Struts2的jar包

:http://archive.apache.org/dist/struts/binaries/

我用的是struts-2.3.14-all.zip這個版本

2、建立一個web project項目

下面給出所有檔案均建立完成後的工程師圖。


3、匯入Struts2所需jar包

因為只是樣本程式,只需要匯入Struts 2支援最小的包就可以了,網上很多教程中添加的最小包都有出入,教大家一個保險的方法。

解壓剛才下載的壓縮包struts-2.3.14-all.zip,在apps檔案夾下有個struts2-blank.war包,開啟它,到WEB-INF/lib目錄下,如所示,即為所需的最小包。包含的包應該和具體的Struts版本有關。


4、配置web.xml

下面進入到具體的配置編碼階段。

開啟web.xml,修改配置參數,修改後的具體配置如下。

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <display-name></display-name>    <!-- Struts2配置 -->  <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>  </web-app>

這裡需要注意的是

這裡面填入的類, 

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

Since Struts 2.1.3, use StrutsPrepareAndExecuteFilter instead or StrutsPrepareFilterand StrutsExecuteFilter if needing using the ActionContextCleanUp filter in addition to this one..即,從Struts 2.1.3起已被標註為過時的,改用StrutsPrepareAndExecuteFilter。
我剛用這個版本的時候還是填的org.apache.struts2.dispatcher.FilterDispatcher
結果報錯

************************************************************************                               WARNING!!!                            **                                                                     ** >>> FilterDispatcher <<< is deprecated! Please use the new filters! **                                                                     **           This can be a source of unpredictable problems!           **                                                                     **              Please refer to the docs for more details!             **            http://struts.apache.org/2.x/docs/webxml.html            **                                                                     ************************************************************************

如果你也遇到如上的錯誤,要仔細再檢查下了。


5、配置struts.xml下面需要建立struts.xml檔案,配置strust2要調用的action。直接建立在src目錄下,那樣部署的時候會自動發布到WEB-INF/classes目錄下,或者直接建立在WEB-INF/classes目錄下面。
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"    "http://struts.apache.org/dtds/struts-2.3.dtd">    <struts>        <package name="struts2" extends="struts-default">            <action name="HelloWorld" class="tutorial.HelloWorld">                <result>/HelloWorld.jsp</result>            </action>        </package>    </struts>

其中,package元素,作用類似於Java包的機制,他是用於分門別類的一個工具,extends屬性如他的名字一樣,它繼承了struts-default這個包的所有資訊,一般我們自己建立一個包最好都繼承它,因為他為我們提供了絕大部分的功能,你可以在struts2-core的jar包中的struts-default.xml檔案中找到這個包。action元素對應與你的表單,例如你的表單的action="welcome",那麼該表單提交後就會將參數交予action的name="welcome"的實作類別處理。result元素為action的結果,它由動作類返回的控制欄位選擇。
6、寫action類(HelloWorld.java)這個類主要用於struts2跳轉到這個action後。預設執行execute()方法。並根據結果返回字元,然後struts.xml根據返回的字元跳到相應的頁面
package tutorial;import com.opensymphony.xwork2.ActionSupport;public class HelloWorld extends ActionSupport{    public final static String MESSAGE = "Struts2 is up and running ...";        private String message;    /**     * @return the message     */    public String getMessage()    {        return message;    }    /**     * @param message the message to set     */    public void setMessage(String message)    {        this.message = message;    }    public String execute() throws Exception    {        setMessage(MESSAGE);        return SUCCESS;    }}
7、寫jsp頁面

建立一個jsp頁面來呈現資訊。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%@ taglib prefix="s" uri="/struts-tags" %><html>  <head>        <title>Hello World!</title>      </head>    <body>    <h2><s:property value="message" /></h2>  </body></html>


8、部署運行
在Tomcat中運行該項目,然後開啟瀏覽器,在地址欄中輸入:http://localhost:8080/Struts2Demo/HelloWorld
IE效果如下。



至此,最簡單的Struts2的使用方法介紹完畢。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.