<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數據加載中……

    Struts2教程1:第一個Struts2程序

    本文為原創,如需轉載,請注明作者和出處,謝謝!


     在本系列教程中我們將學習到Struts2的各種技術。在本教程中使用的工具和程序庫的版本如下:

    開發工具:MyEclipse6

    Web服務器:Tomcat6

    Struts版本:Struts2.0.11.1

    JDK版本:JDK1.5.0_12

    J2EE版本:Java EE5.0

        在本系列教程中Web工程的上下文路徑都是struts2,如果在Web根目錄有一個index.jsp文件,則訪問路徑如下:

    http://localhost:8080/struts2/index.jsp

        由于MyEclipse6目前并不支持Struts2,所以我們需要到struts.apache.org去下載Struts2安裝包。要想正常使用Struts2,至少需要如下五個包(可能會因為Struts2的版本不同,包名略有差異,但包名的前半部是一樣的)。

    struts2-core-2.0.11.1.jar

    xwork-2.0.4.jar

    commons-logging-1.0.4.jar

    freemarker-2.3.8.jar

    ognl-2.6.11.jar

        Struts2雖然在大版本號上是第二個版本,但基本上在配置和使用上已經完全顛覆了Struts1.x的方式(當然,Struts2仍然是基于MVC模式的,也是動作驅動的,可能這是唯一沒變的東西)。Struts2實際上是在Webwork基礎上構建起來的MVC框架。我們從Struts2的源代碼中可以看到,有很多都是直接使用的xwork(Webwork的核心技術)的包。既然從技術上來說Struts2是全新的框架,那么就讓我們來學習一下這個新的框架的使用方法。

        如果大家使用過Struts1.x,應該對建立基于Struts1.xWeb程序的基本步驟非常清楚。讓我們先來回顧一下建立基于Struts1.xWeb程序的基本步驟。

    1.        安裝Struts。由于Struts的入口點是ActionServlet,所以得在web.xml中配置一下這個Servlet

    2.        編寫Action類(一般從org.apache.struts.action.Action類繼承)。

    3.        編寫ActionForm類(一般從org.apache.struts.action.ActionForm類繼承),這一步不是必須的,如果要接收客戶端提交的數據,需要執行這一步。

    4.        struts-config.xml文件中配置ActionActionForm

    5.        如果要采集用戶錄入的數據,一般需要編寫若干JSP頁面,并通過這些JSP頁面中的form將數據提交給Action

    下面我們就按著編寫struts1.x程序的這五步和struts2.x程序的編寫過程一一對應,看看它們誰更“酷”。下面我們來編寫一個基于Struts2Web程序。這個程序的功能是讓用戶錄入兩個整數,并提交給一個Struts Action,并計算這兩個數的代數和,如果代碼和為非負數,則跳轉到positive.jsp頁面,否則跳轉到negative.jsp頁面。

     

    【第1步】 安裝Struts2

        這一步對于Struts1.xStruts2都是必須的,只是安裝的方法不同。Struts1的入口點是一個Servlet,而Struts2的入口點是一個過濾器(Filter)。因此,Struts2要按過濾器的方式配置。下面是在web.xml中配置Struts2的代碼:

    <filter>
        <filter-name>struts2</filter-name>
        
    <filter-class>
            org.apache.struts2.dispatcher.FilterDispatcher            
        
    </filter-class>
    </filter>
    <filter-mapping>
        
    <filter-name>struts2</filter-name>
        
    <url-pattern>/*</url-pattern>
    </filter-mapping>

     

    【第2步】 編寫Action

        這一步和Struts1.x也必須進行。只是Struts1.x中的動作類必須從Action類中繼承,而Struts2.x的動作類需要從com.opensymphony.xwork2.ActionSupport類繼承。下面是計算兩個整數代碼和的Action類,代碼如下:
    package action;
      
    import com.opensymphony.xwork2.ActionSupport;
      
    public class FirstAction extends ActionSupport
    {
        
    private int operand1;
        
    private int operand2;
      
        
    public String execute() throws Exception
        {
            
    if (getSum() >= 0)  // 如果代碼數和是非負整數,跳到positive.jsp頁面
            {
                
    return "positive";
            }
            
    else  // 如果代碼數和是負整數,跳到negative.jsp頁面
            {
                
    return "negative";
            }
        }
      
        
    public int getOperand1()
        {
            
    return operand1;
        }
      
        
    public void setOperand1(int operand1)
        {
            System.out.println(operand1);
              
    this.operand1 = operand1;
        }
      
        
    public int getOperand2()
        {
            
    return operand2;
        }  
        
    public void setOperand2(int operand2)
        {
            System.out.println(operand2);
            
    this.operand2 = operand2;
        }
        
    public int getSum()
        {
            
    return operand1 + operand2;  // 計算兩個整數的代碼數和
        }
    }
     

    從上面的代碼可以看出,動作類的一個特征就是要覆蓋execute方法,只是Struts2execute方法沒有參數了,而Struts1.xexecute方法有四個參數。而且execute方法的返回值也不同的。Struts2只返回一個String,用于表述執行結果(就是一個標志)。上面代碼的其他部分將在下面講解。

    【第3步】 編寫ActionForm

        在本例中當然需要使用ActionForm了。在Struts1.x中,必須要單獨建立一個ActionForm類(或是定義一個動作Form),而在Struts2ActionFormAction已經二合一了。從第二步的代碼可以看出,后面的部分就是應該寫在ActionForm類中的內容。所以在第2步,本例的ActionForm類已經編寫完成(就是Action類的后半部分)。

    【第4步】 配置Action

        這一步struts1.xstruts2.x都是必須的,只是在struts1.x中的配置文件一般叫struts-config.xml(當然也可以是其他的文件名),而且一般放到WEB-INF目錄中。而在struts2.x中的配置文件一般為struts.xml,放到WEB-INF"classes目錄中。下面是在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="struts2" namespace="/mystruts"
              extends
    ="struts-default">
              
    <action name="sum" class="action.FirstAction">
                  
    <result name="positive">/positive.jsp</result>
                  
    <result name="negative">/negative.jsp</result>
              
    </action>
          
    </package>
      
    </struts>
     

    <struts>標簽中可以有多個<package>,第一個<package>可以指定一個Servlet訪問路徑(不包括動作名),如“/mystruts”。extends屬性繼承一個默認的配置文件“struts-default”,一般都繼承于它,大家可以先不去管它。<action>標簽中的name屬性表示動作名,class表示動作類名。

        <result>標簽的name實際上就是execute方法返回的字符串,如果返回的是“positive”,就跳轉到positive.jsp頁面,如果是“negative”,就跳轉到negative.jsp頁面。在<struts>中可以有多個<package>,在<package>中可以有多個<action>。我們可以用如下的URL來訪問這個動作:

    http://localhost:8080/struts2/mystruts/sum.action

    Struts1.x的動作一般都以.do結尾,而Struts2是以.action結尾。

    【第5步】 編寫用戶錄入接口(JSP頁面)

    1.       主界面(sum.jsp

    Web根目錄建立一個sum.jsp,代碼如下:

    <%@ page language="java" import="java.util.*" pageEncoding="GBK" %>
      
    <%@ taglib prefix="s" uri="/struts-tags"%>
      
      
    <html>
          
    <head>
              
    <title>輸入操作數</title>
          
    </head>
      
          
    <body>
               求代數和
              
    <br/>
              
    <s:form action="mystruts/sum.action" >                
                  
    <s:textfield name="operand1" label=" 操作數1"/>
                  
    <s:textfield name="operand2"  label=" 操作數2" />        
                  
    <s:submit value="代數和" />            
              
    </s:form>
          
    </body>
      
    </html>
     

    sum.jsp中使用了Struts2帶的tag。在Struts2中已經將Struts1.x的好幾個標簽庫都統一了,在Struts2中只有一個標簽庫/struts-tags。這里面包含了所有的Struts2標簽。但使用Struts2的標簽大家要注意一下。在<s:form>中最好都使用Struts2標簽,盡量不要用HTML或普通文本,大家可以將sum.jsp的代碼改為如下的形式,看看會出現什么效果:

             ... ...

               求代數和

              <br/>

              <s:form action="mystruts/sum.action" >               

    操作數1<s:textfield name="operand1" /><br/>

    操作數2<s:textfield name="operand1" /><br/>

                  <s:submit value="代數和" />           

              </s:form>

              ... ...

        提示一下,在<s:form>Struts2使用<table>定位。

    2.       positive.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
      
    <%@ taglib prefix="s" uri="/struts-tags" %>
      
      
    <html>
        
    <head>
          
    <title>顯示代數和</title>
        
    </head>
        
        
    <body>    
          代數和為非負整數
    <h1><s:property value="sum" /></h1>
        
    </body>
      
    </html> 
     

    3.       negative.jsp

     <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
      
    <%@ taglib prefix="s" uri="/struts-tags" %>
      
      
    <html>
        
    <head>
          
    <title>顯示代數和</title>
        
    </head>
        
        
    <body>
          代數和為負整數
    <h1><s:property value="sum" /></h1>
          
        
    </body>
      
    </html> 

     

        這兩個jsp頁面的實現代碼基本一樣,只使用了一個<s:property>標簽來顯示Action類中的sum屬性值。<s:property>標簽是從request對象中獲得了一個對象中得到的sum屬性,如我們可以使用如下的代碼來代替<s:property value=”sum”/>

     

    <%

     com.opensymphony.xwork2.util.OgnlValueStack ovs =

    (com.opensymphony.xwork2.util.OgnlValueStack)request.getAttribute("struts.valueStack"); 

     out.println(ovs.findString("sum")); 

    %>

        啟動Tomcat后,在IE中輸入如下的URL來測試這個例子:

    http://localhost:8080/struts2/sum.jsp


    下一篇:Struts2教程2:處理一個form多個submit





    Android開發完全講義(第2版)(本書版權已輸出到臺灣)

    http://product.dangdang.com/product.aspx?product_id=22741502



    Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


    新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

    posted on 2008-04-15 22:41 銀河使者 閱讀(187361) 評論(77)  編輯  收藏 所屬分類: Struts2 原創

    評論

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    struts 1.x 挺好的一個框架改成這樣,悲哀!!!
    2008-04-18 14:59 | 山東人

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    贊一個! struts 2 的開發效率比1高很多
    2008-04-27 17:59 | 漠漠

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    如果IDE很好支持的話,開發效率大幅提高!
    2008-04-29 11:37 | folcan

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    太好了再詳細就可以出書了
    2008-07-22 22:28 | eee

    # re: Struts2教程1:第一個Struts2程序[未登錄]  回復  更多評論   

    寫得太棒了 一看就明白了struts2的原理流程 感激萬分額 ,struts2不再神秘 o(∩_∩)o...
    2008-08-18 01:47 | 小毅

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    剛搞懂Struts 1.x流程,就看了Struts2.x這篇文章
    2008-08-21 10:01 | Angel_小勇

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    頂一個!
    2008-08-25 17:22 | 十三

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    寫的非常的好,我剛剛開始學就領悟了不少。
    2008-08-27 20:39 | 曉鵬

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    good
    2008-08-28 14:00 | ixix

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    支持原創,謝謝交流!
    2008-09-01 23:51 | 心夢帆影

    # re: Struts2教程1:第一個Struts2程序[未登錄]  回復  更多評論   

    謝謝!
    2008-09-22 22:39 | tom

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    說的不完全正確,有些片面
    2008-09-25 08:44 | yefeng

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    寫得很清楚,謝謝!
    2008-11-01 11:15 | daoyongyu

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    我測試了,總是報,找不到action,這個怎么解決呢?可以發郵件告訴我嗎?
    fordfox@foxmail.com
    2008-11-10 15:03 | luo

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    真的運行不了啊
    2009-02-11 22:23 | 123

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    @123
    運行不了可能是配置錯了,把錯誤信息和配置方法貼出來看看。Java的東西剛開始是誰都會為配置頭痛,慢慢就好了。
    2009-02-11 22:32 | 銀河使者

    # re: Struts2教程1:第一個Struts2程序[未登錄]  回復  更多評論   

    頁面上那個sum屬性從哪來的呢?莫非是action中的getSum?
    2009-03-12 14:13 | yxy

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    @yxy
    是的,這個sum屬性是Action類的屬性,通過getSum方法獲得這個值,如果對struts 2處理數據的原理不了解,可以看下面的文章:
    Struts 2雜談(1):ValueStack對象的傳送帶機制
    http://www.tkk7.com/nokiaguy/archive/2009/02/archive/2009/02/11/254314.html
    2009-03-12 14:44 | 銀河使者

    # re: Struts2教程1:第一個Struts2程序[未登錄]  回復  更多評論   

    @銀河使者
    sum,我在action類里沒看有這個類變量啊,只有一個getSum()方法,莫非struts2可以把getXXX方法中的XXX映射成一個變量?
    2009-03-12 23:03 | yxy

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    @yxy
    在Java中沒有屬性語法,所謂屬性,只是getter和setter方法的組合,如果只有getter方法,則該屬性是只讀屬性。 如果訪問的屬性是sum,Struts 2會自動調用Action類中的getSum方法來獲得sum屬性的值,調用setSum方法來設置sum屬性的值。

    實際上,java中的屬性訪問就是訪問getter和setter方法。

    2009-03-13 08:40 | 銀河使者

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    @yxy
    另外,包含getter和setter方法的類可以稱為JavaBean
    2009-03-13 08:46 | 銀河使者

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    @yxy
    還有就是Java中的屬性只是getter和setter方法,并不一定要有sum變量,getter方法可以從其他的資源獲得相應的值,如文件、網絡。當訪問sum變量時,struts 2會自動調用getSum方法。
    2009-03-13 08:51 | 銀河使者

    # re: Struts2教程1:第一個Struts2程序[未登錄]  回復  更多評論   

    @銀河使者
    謝謝,我了解了,我以前看的大部分例子,只有class里面有變量,才對這個變量setter、getter,所以一下子沒理解過來。看來還是了解少了啊
    2009-03-13 11:17 | yxy

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    運行不起來,出現404錯誤: The requested resource () is not available.
    2009-03-13 15:09 | likestruts

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    @likestruts
    404是沒找到web資源,路徑錯了,或配置時有錯誤。把你的詳細步驟以及訪問的url發出來看看。
    2009-03-13 15:48 | 銀河使者

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    樓主,我用的是,struts2.0.14,tomcat5.5,在web.xml下要寫下面這種東西嗎?為什么一直報“org.apache.jasper.JasperException: JSP ファイル "/struts-tags" が見つかりません”

    <taglib>
    <taglib-uri>/struts-tags</taglib-uri>
    <taglib-location>/WEB-INF/lib/struts2-core-2.0.14.jar
    </taglib-location>
    </taglib>

    2009-04-10 11:12 | helphelphelp

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    @helphelphelp
    不需要,報這個錯誤可能是你的JSP代碼有錯誤!仔細檢查一下。
    2009-04-10 15:55 | 銀河使者

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    警告: No configuration found for the specified action: 'mystruts/sum.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
    請問上面的警告會是哪里出了問題呢?謝謝!
    2009-04-22 13:41 | mysheros

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    在服務端的控件臺中,或eclipse的console里
    2009-04-22 13:49 | 銀河使者

    # re: Struts2教程1:第一個Struts2程序[未登錄]  回復  更多評論   

    謝謝,但是我發布以后如果輸入兩個正書,一切正常,輸入如果有負數就會報404,No result defined for action action.FirstAction and result input

    console里面的錯誤是
    WARNING: Error setting value
    ognl.MethodFailedException: Method "setNum1" failed for object action.FirstAction@c524dd [java.lang.NoSuchMethodException: setNum1([Ljava.lang.String;)]

    另外我也不斷得到
    WARNING: No configuration found for the specified action: 'mystruts/sum.action' in namespace: '/mystruts'. Form action defaulting to 'action' attribute's literal value.
    05-May-2009 09:26:27 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn

    的報錯,我嘗試過delete namespace="/mystruts" 在 struts.xml但是為題依然存在
    2009-05-05 09:31 | Tom

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    樓上的那個警告是因為這篇教程上的<s:form>不標準。
    需要寫成
    <s:form name="sumform" method="post" action="sum" namespace="/mystruts">

    .action是不需要加上的。
    namespace需要標出。
    2009-12-06 14:43 | xinyu126

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    對我太重要了,再次感謝
    2010-08-20 10:41 | 袁征

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    謝謝,幫助真的很大!
    2010-09-09 20:49 | 本拉登

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    頂!
    我頂!
    我狂頂!
    我頂到死!
    2010-11-15 23:21 | goshinever

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    學習了
    2010-11-26 21:12 | sss

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    不錯啊,有收獲,雖然不多,,頂Good
    2010-12-26 13:28 | Jocson

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    我是一個struts2.0的初學者,所以就照著你說的做,然后就也出現了你BlogJava別人回復的那些問題。后來搞定。發現你的第4步 "而在struts2.x中的配置文件一般為struts.xml,放到WEB-INFclasses目錄中" 讓我產生了誤解,我就在MyEclipse下面的Navigator視圖中的classes下面創建了這個文件,但是報了 cant find source 的錯誤,后來發現這個文件是需要在src下面創建,在編譯的時候會自動編到classes目錄下面。希望博主下次文章能更加具體點(把我們當文盲最好),因為我們很多java初學者的還有很多常識不知道。
    2011-02-22 17:03 | ljjy23

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    非常不錯,看了之后思路清晰,但對于我們初學者來說,能否給出:上面的文件需要放置在什么位置?就象struts.xml應該放置到WEB-INF/src(備注:會自動編譯到WEB-INF/classes)那就更完美了!
    2011-03-23 20:01 | 林子

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    對我幫助很大,頂起
    2011-04-12 22:52 | blacksun

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    我覺得看了以后感覺還不錯。剛好那些名字我不會放位置、 看了感覺會了那么一點,
    2011-04-15 23:30 | 曉琳

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    有問題的,sum.jsp中的form沒對應的action,根本就轉不過去
    2011-05-04 17:59 | fatestar

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    寫得太好太詳細了 我沒接觸過struts2 但是看完之后 就大概明白了
    2011-05-09 23:13 |

    # re: Struts2教程1:第一個Struts2程序[未登錄]  回復  更多評論   

    我不想用MyEclipse 我只想用Eclipse,請問我要怎么整合啊?
    2011-05-12 09:32 | 小菜鳥

    # re: Struts2教程1:第一個Struts2程序[未登錄]  回復  更多評論   

    寫的真好,希望作者可以寫的再詳細一點,把每個知識點都能在例子下講一下,讓讀者看的更明白點,還有就是后續希望把spring和hibernate也能詳細的講解一下,因為java就是玩框架呢。萬分感謝
    2011-05-16 16:30 | java

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    好東西啊 真的!!!
    2011-05-31 21:33 | ealge

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    你的代碼不能再判斷頁面上顯示sum的值,
    <h1><s:property value="sum" /></h1>
    顯示不出來,沒有sum屬性,在Action里你的返回方法只有operand的相加
    2011-06-30 13:02 | finalarcher

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    yes
    2011-07-12 17:32 | ss

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    把struts。xml配置文件放到srcxia
    2011-07-19 10:38 | yangyang

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    太感謝作者了,寫得太好了!
    2011-08-03 10:07 | yll

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    寫的不錯
    2011-08-03 15:40 | yhc

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    頁面不能顯示sum的值 請問該怎么解決?》
    2011-11-07 16:48 | truck

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    很好的文章,我才開始學習struts2希望老師能多出點struts2的文章
    2011-11-11 09:34 | 小徐

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    老是報404錯誤,~~~
    2011-12-01 16:16 | pengkw

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    缺少了
    public void setOperand1(int operand1){
    this.operand1 = operand1;
    }
    2011-12-14 18:32 | xwd

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    @helphelphelp
    我無所謂Struts1,Struts2.x一樣的然啊
    2011-12-30 01:48 | 叫我老子就行

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    我啥都不會!我老師啥都不給我叫,光給我班的同學講,不信不要說我亂嗷嗷叫哦
    2011-12-30 01:51 | 叫我老子就行

    # re: Struts2教程1:第一個Struts2程序[未登錄]  回復  更多評論   

    講的挺好,如果有視頻就更好了。。。
    2012-01-18 11:55 | zheng

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    很好的教程,不過一開始就把標簽用進來感覺有點暈
    2013-05-09 16:47 | 商商

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    struts.xml文件放在src目錄下
    2013-06-07 00:29 | asd

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂
    2013-07-11 17:02 | adsfasdlfjkalskdgja

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    hujintao
    2013-07-19 16:19 | 133

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    struts2的第一個樣例helloworld出錯啦,各種方法都解決不了,求幫忙
    具體問題在http://bbs.51cto.com/viewthread.php?tid=1065695&pid=5353805&page=1&extra=page%3D1#pid5353805
    2013-07-29 10:53 | aimsky10

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    動作驅動,請樓主解釋下具體是什么意思?
    2013-09-09 08:37 | 哈林

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    寫得太好太詳細了 我沒接觸過struts2 但是看完之后 就大概明白了。
    Apache的Struts2是一個優雅的,可擴展的框架,用于創建企業準備的Java Web應用程序。該框架旨在簡化整個開發周期,從構建,部署,維護應用程序隨著時間的推移。 Apache的Struts2最初被稱為WebWork2。
    本教程將教你如何使用Apache的Struts創建企業級Java Web應用程序。
    讀者
    本教程是專為需要了解Struts2.x 框架中及其應用Java程序員準備的。
    前提條件
    繼續本教程之前,你應該有一個很好的了解了Java編程語言。 MVC框架和JSP或Servlet 有一個基本的了解是很有幫助的。
    1 - Struts 2 快速指南
    一個快速的Struts為Struts程序員參考手冊。
    2 - Struts 2 有用資源
    Struts的網站,書籍和文章的集合:
    Apache Struts 項目 - http://struts.apache.org/
    Struts2教程 - http://www.yiibai.com/struts_2/
    Sun's Site on JSP - http://java.sun.com/products/jsp/.
    2013-11-14 07:45 | 哈林木

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    寫的不錯
    2013-11-18 14:53 | 支持你

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    這個寫的真的挺好的 連那個登錄的頁面都謝了 對我這種初學者來說 太給力了 頂起
    2013-11-25 20:27 | 我頂你

    # re: Struts2教程1:第一個Struts2程序, 404錯誤的參考一下  回復  更多評論   

    我按照樓主的方法配置, 啟動tomcat時報錯,如下:
    ......
    嚴重: Error filterStart
    2012-11-3 13:34:40 org.apache.catalina.core.StandardContext start
    嚴重: Context startup failed due to previous errors,
    ......
    且訪問頁面時報404錯誤, 提示The requested resource (/struts2/) is not available. 研究了一下, 原來我用的是tomcat5.0, jdk1.5 與 tomcat5.0之間的 TransformerFactoryImpl 類存在沖突引起的。

    要把TOMCAT5.0安裝目錄下的兩個JAR包刪除就可以
    1、\Tomcat 5.0\common\lib\tools.jar
    2、\Tomcat 5.0\common\endorsed\xml-apis.jar

    詳細參考: http://www.tkk7.com/wjywilliam/archive/2008/04/27/196637.html
    2014-02-07 16:06 | 呂小布

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    大哥時代在進步好不。@山東人
    2014-02-09 20:32 | 便便

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    寫得通俗易懂,學習了
    2014-04-02 00:11 | shunshine

    # 。。。  回復  更多評論   

    .。。。。
    2014-04-02 17:44 | 。。。

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    web中配置成/*之后,表單提交不能用sum.action.應該直接用sum
    2014-04-24 11:24 | 蔣雨辰

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    2014-06-04 16:02 | 我不是樓主

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    報這個錯:
    Problem accessing /Struts2 Reason: 503



    我建了2個struts2的例子了,都是報503,誰來幫幫我下
    2014-06-04 16:04 | 我不是樓主

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    struts代碼下載:http://www.zuidaima.com/share/search.htm?key=struts
    2014-06-12 22:14 | zuidaima

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    縱觀樓上回帖無數,我輩心煩,技術之多之雜令人心煩,今找到關于struts2教程最好的網站,請大家觀賞:http://www.strutshome.com/
    2014-07-12 23:43 | deepwater

    # re: Struts2教程1:第一個Struts2程序  回復  更多評論   

    struts.xml中的這一句,絕對不能要,會導致action無法解析
    <?xml version="1.0" encoding="UTF-8" ?>
    2015-01-08 23:03 | evo

    # re: Struts2教程1:第一個Struts2程序[未登錄]  回復  更多評論   

    寫的很好 流程很詳細 正好最近需要學習一下struts2 看了頓悟 頂一個
    2015-03-25 15:55 | dsy
    主站蜘蛛池模板: 国产亚洲精品看片在线观看| 日韩精品免费一线在线观看 | 久久亚洲精品国产亚洲老地址| 全亚洲最新黄色特级网站 | 国产99视频精品免费视频7| 91高清免费国产自产拍2021| 亚洲高清免费视频| 黄网站在线播放视频免费观看| 亚洲 暴爽 AV人人爽日日碰| 亚洲va在线va天堂va不卡下载| 久久亚洲国产精品五月天婷| 四只虎免费永久观看| 日本午夜免费福利视频| aa级一级天堂片免费观看| 亚洲视频免费一区| 免费人成视频在线观看网站| 青青操免费在线视频| fc2免费人成为视频| 亚洲第一视频在线观看免费| 九九免费久久这里有精品23 | 亚洲国产精品无码久久九九| 四虎在线视频免费观看| 成人免费看黄20分钟| 欧美日韩国产免费一区二区三区| 成人黄色免费网址| 无码av免费毛片一区二区| 足恋玩丝袜脚视频免费网站| 中文字幕免费高清视频| 18禁美女裸体免费网站| 在线看片免费人成视久网| 麻花传媒剧在线mv免费观看| 久久久久久精品免费免费自慰| 最近中文字幕mv免费高清在线| 99re热精品视频国产免费| 99久久99热精品免费观看国产 | 亚洲国产精品无码一线岛国| 亚洲精品美女久久777777| 亚洲AV无码精品色午夜果冻不卡| 亚洲精品乱码久久久久久久久久久久 | 日本在线看片免费人成视频1000 | 亚洲AV无码久久|