隨筆 - 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 銀河使者 閱讀(187375) 評論(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.aygfsteel.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.aygfsteel.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
          主站蜘蛛池模板: 徐汇区| 宣城市| 哈尔滨市| 大竹县| 宁海县| 阳原县| 米泉市| 濉溪县| 双柏县| 唐海县| 乌兰浩特市| 绥化市| 突泉县| 通道| 昌图县| 东辽县| 兴城市| 玉龙| 蓬溪县| 通山县| 手游| 西林县| 偃师市| 河曲县| 奇台县| 肥城市| 舒兰市| 筠连县| 丰城市| 天水市| 汝州市| 台北县| 平南县| 酉阳| 海城市| 漳州市| 渭南市| 宝应县| 新泰市| 肥西县| 汝阳县|