隨筆-34  評(píng)論-1965  文章-0  trackbacks-0

          Struts作為MVC 2的Web框架,自推出以來不斷受到開發(fā)者的追捧,得到用廣泛的應(yīng)用。作為最成功的Web框架,Struts自然擁有眾多的優(yōu)點(diǎn):

          • MVC 2模型的使用
          • 功能齊全的標(biāo)志庫(kù)(Tag Library)
          • 開放源代碼

          但是,所謂“金無赤金,人無完人”,Struts自身也有不少的缺點(diǎn):

          • 需要編寫的代碼過多,容易引起“類爆炸”
          • 單元測(cè)試?yán)щy

          這些缺點(diǎn)隨著Web的發(fā)展越來越明顯。這就促生了Struts 2.0,它的誕生能很好的解決上述問題。 好啦,廢話就不多說了,現(xiàn)在就讓我們感受一下的Struts 2.0的魅力吧。

          1. 搭建開發(fā)和運(yùn)行環(huán)境
            1. 到Apache下載Struts 2.0包

            2. 打開Eclipse 3.2新建Web工程

              點(diǎn)擊菜單File\New\Project,出現(xiàn)如圖1所示對(duì)話框
              圖1 新建工程對(duì)話框
              圖1 新建工程對(duì)話框
              選擇Web\Dynamic Web Project,點(diǎn)擊“Next”,出現(xiàn)圖2對(duì)話框

              圖2 新建動(dòng)態(tài)Web工程對(duì)話框
              圖2 新建動(dòng)態(tài)Web工程對(duì)話框
              在“Project Name”中鍵入Struts2_HelloWorld,點(diǎn)擊“New”,出現(xiàn)以下對(duì)話框

              圖3 新建服務(wù)器運(yùn)行時(shí)對(duì)話框
              圖3 新建服務(wù)器運(yùn)行時(shí)對(duì)話框
              選擇“Apache\Apache Tomat v5.5”,點(diǎn)擊“Next”,出現(xiàn)以下對(duì)話框

              圖4新建服務(wù)器運(yùn)行時(shí)對(duì)話框
              圖4新建服務(wù)器運(yùn)行時(shí)對(duì)話框
              點(diǎn)擊“Finish”,關(guān)閉對(duì)話框。

            3. 將Struts 2.0 lib下的jar文件加到工程的構(gòu)建路徑(build path)

              圖5 Struts 2.0的lib目錄
              圖5 Struts 2.0的lib目錄
              按ctr+a全選,復(fù)制,再轉(zhuǎn)到Eclipse窗口,在“Project Explorer”子窗口中選中Struts2_HelloWorld\WebContent\WEB-INF\lib,然后粘貼。經(jīng)過Eclipse自動(dòng)刷新“Project Explorer”子窗口,剛才所粘貼的jar文件應(yīng)該會(huì)出現(xiàn)在Struts2_HelloWorld\Java Resources: src\Libraries\Web App Libraries下,如圖6所示:

              圖6 Project Explorer子窗口
              圖6 Project Explorer子窗口

            4. 打開web.xml文件,將其修改為以下代碼:
              <?xml?version="1.0"?encoding="ISO-8859-1"?>
              <!DOCTYPE?web-app?PUBLIC?"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN"?"http://java.sun.com/dtd/web-app_2_3.dtd">
              <web-app>
              ????
              <display-name>Struts?2.0?Hello?World</display-name>
              ????
              <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>
              ????
              <welcome-file-list>
              ????????
              <welcome-file>index.html</welcome-file>
              ????
              </welcome-file-list>
              </web-app>

            5. 新建struts.xml文件

              右鍵點(diǎn)擊,Struts2_HelloWorld\Java Resources: src,出現(xiàn)如圖7所示菜單
              圖7 新建Other菜單
              圖7 新建Other菜單
              點(diǎn)擊“Other”,出現(xiàn)新建對(duì)話框,如圖8所示

              圖8 新建對(duì)話框
              圖8 新建對(duì)話框
              點(diǎn)擊“Next”,出現(xiàn)新建文件對(duì)話框,如圖9所示

              圖9 新建文件對(duì)話框
              圖9 新建文件對(duì)話框
              在“File name”中鍵入sturts.xml,點(diǎn)擊“Finish”,然后將struts.xml的內(nèi)容修改為:

              <!DOCTYPE?struts?PUBLIC
              ????????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"
              ????????"http://struts.apache.org/dtds/struts-2.0.dtd"
              >
              <struts>
              ????
              <include?file="struts-default.xml"/>
              </struts>

            6. 新建index.html文件

              右鍵點(diǎn)擊Struts2_HelloWorld\WebContent,出現(xiàn)如圖10所示的菜單
              圖10 新建Other菜單
              圖10 新建Other菜單
              點(diǎn)擊“Other”,出現(xiàn)新建對(duì)話框,如圖11所示

              圖11 新建對(duì)話框
              圖11 新建對(duì)話框
              選擇Web\HTML,點(diǎn)擊“Next”出現(xiàn)如圖12所示的對(duì)話框

              圖12 新建HTML頁面對(duì)話框
              圖12 新建HTML頁面對(duì)話框
              在“File Name”中鍵入index.html,點(diǎn)擊“Next”,出現(xiàn)如圖13所示的對(duì)話框

              圖13 模板選擇對(duì)話框
              圖13 模板選擇對(duì)話框
              點(diǎn)擊“Finish”,將index.html的內(nèi)容修改為以下內(nèi)容:

              <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
              <html>
              <head>
              <meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8">
              <title>Hello?World</title>
              </head>
              <body>
              <h3>Hello?World!</h3>
              </body>
              </html>

            7. 將應(yīng)用程序打包到tomcat上

              右鍵點(diǎn)擊Struts_HelloWorld,出現(xiàn)如圖14所示的菜單
              圖14 工程菜單
              圖14 工程菜單
              點(diǎn)擊“Export\WAR file”,出現(xiàn)如圖15所示的對(duì)話框

              圖15 輸出對(duì)話框
              圖15 輸出對(duì)話框
              選擇“Web\WAR file”,點(diǎn)擊“Next”,出現(xiàn)如圖16所示的對(duì)話框

              圖16 輸出路徑對(duì)話框
              圖16 輸出路徑對(duì)話框
              輸入war文件的路徑(如%tomcat%\webapps\Struts2_HelloWorld.war),點(diǎn)擊“Finish”關(guān)閉對(duì)話框。

            8. 啟動(dòng)tomcat,運(yùn)行應(yīng)用程序

              打開你的Internet Explorer,鍵入http://localhost:8080/Struts2_HelloWorld/,窗口輸出如圖17所示
              圖17 Hello World窗口
              圖17 Hello World窗口

          2. 第一個(gè)Struts 2.0應(yīng)用程序——Hello World
            1. 新建類包(package)

              右鍵點(diǎn)擊Struts2_HelloWorld\Java Resources: src,出現(xiàn)如圖18所示菜單
              圖18 新建菜單
              圖18 新建菜單"
              點(diǎn)擊“New\Package”,出現(xiàn)如圖19所示對(duì)話框

              圖19新建Java類包對(duì)話框
              圖19新建Java類包對(duì)話框
              在“Name”鍵入tutorial,點(diǎn)擊“Finish”關(guān)閉對(duì)話框。

            2. 新建HelloWorld.java文件

              右鍵點(diǎn)擊Struts2_HelloWorld\Java Resources: src\tutorial,出現(xiàn)如圖20所示菜單
              圖20 新建菜單
              圖20 新建菜單
              點(diǎn)擊“New\Class”,出現(xiàn)如圖21所示對(duì)話框

              圖21 新建Java類對(duì)話框
              圖21 新建Java類對(duì)話框
              在“Name”中鍵入HelloWorld,在“Superclass”中鍵入com.opensymphony.xwork2.ActionSupport,點(diǎn)擊“Finish”關(guān)閉對(duì)話框。將HelloWorld.java的內(nèi)容修改為:

              package?tutorial;

              import?com.opensymphony.xwork2.ActionSupport;

              public?class?HelloWorld?extends?ActionSupport?{
              ????
              private?String?name;
              ????
              ????
              public?String?getName()?{
              ????????
              return?name;
              ????}

              ????
              ????
              public?void?setName(String?name)?{
              ????????
              this.name?=?name;
              ????}

              ????
              ????
              public?String?execute()?{
              ????????name?
              =?"Hello,?"?+?name?+?"!";?
              ????????
              return?SUCCESS;
              ????}

              }

            3. 在struts.xml中添加action映射(mapping)
              <!DOCTYPE?struts?PUBLIC
              ????????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"
              ????????"http://struts.apache.org/dtds/struts-2.0.dtd"
              >
              <struts>
              ????
              <include?file="struts-default.xml"/>
              ????
              <package?name="tutorial"?extends="struts-default">
              ????????
              <action?name="HelloWorld"?class="tutorial.HelloWorld">
              ????????????
              <result>HelloWorld.jsp</result>
              ????????
              </action>
              ????
              </package>
              </struts>

            4. 新建SayHello.jsp

              參考“新建index.html文件”步驟,彈出如圖22所示對(duì)話框
              圖22 新建對(duì)話框
              圖22 新建對(duì)話框
              點(diǎn)擊“Next”, 進(jìn)入下一步,如圖23所示

              圖23 新建JSP對(duì)話框
              圖23 新建JSP對(duì)話框
              在“File name”鍵入SayHello.jsp,點(diǎn)擊“Next”進(jìn)入下一步,如圖24所示

              圖24 模板選擇對(duì)話框
              圖24 模板選擇對(duì)話框
              點(diǎn)擊“Finish”關(guān)閉對(duì)話框,并將SayHello.jsp的內(nèi)容修改為:

              <%@?page?contentType="text/html;?charset=UTF-8"?%>
              <%@?taglib?prefix="s"?uri="/struts-tags"?%>
              <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
              <html>
              ????
              <head>
              ????????
              <title>Say?Hello</title>
              ????
              </head>
              ????
              <body>
              ????????
              <h3>Say?"Hello"?to:?</h3>
              ????????
              <s:form?action="HelloWorld">
              ????????????Name:?
              <s:textfield?name="name"?/>
              ????????????
              <s:submit?/>
              ????????
              </s:form>
              ????
              </body>
              </html>

            5. 新建HelloWorld.jsp(請(qǐng)參考上一步),HelloWorld.jsp的內(nèi)容為:
              <%@?page?contentType="text/html;?charset=UTF-8"?%>
              <%@?taglib?prefix="s"?uri="/struts-tags"?%>
              <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
              <html>
              ????
              <head>
              ????????
              <title>Hello</title>
              ????
              </head>
              ????
              <body>
              ????????
              <h3><s:property?value="name"?/></h3>
              ????
              </body>
              </html>

            6. 重新打包發(fā)布應(yīng)用程序

              先停止tomcat, 再將tomcat里webapps下的Struts2_HelloWorld.war和Struts2_HelloWorld文件夾刪除,參照“將應(yīng)用程序打包到tomcat上”重新發(fā)布應(yīng)用程序。

            7. 啟動(dòng)tomcat,運(yùn)行測(cè)試

              打開Internet Explorer,鍵入http://localhost:8080/Struts2_HelloWorld/SayHello.jsp,窗口輸出如圖25所示
              圖25 SayHello.jsp
              圖25 SayHello.jsp
              在“Name”鍵入字符串(如World),點(diǎn)擊Submit,轉(zhuǎn)到HelloWorld.jsp頁面,如圖26所示

              圖26 HelloWorld.jsp
              圖26 HelloWorld.jsp

          3. 單元測(cè)試Hello World

            在文章開始的時(shí)候提及,單元測(cè)試?yán)щy是Struts一大缺點(diǎn)?,F(xiàn)在讓我們?cè)隗w驗(yàn)一下,在Struts 2.0中是如何進(jìn)行測(cè)試的。

            1. 新建JUnit單元測(cè)試

              右鍵點(diǎn)擊Struts2_HelloWorld\Java Resources: src\tutorial,彈出如圖27所示對(duì)話框
              圖27 新建菜單
              圖27 新建菜單
              點(diǎn)擊“Next\Other”

              圖28 新建對(duì)話框
              圖28 新建對(duì)話框
              選擇“Java\JUnit\JUnit Test Case”,點(diǎn)擊“Next”

              圖29 新建JUnit 測(cè)試用例對(duì)話框
              圖29 新建JUnit 測(cè)試用例對(duì)話框
              選擇“New JUnit 4 test”,在“Name”中鍵入HelloWorldTest,在“Class under test”鍵入tutorial.HelloWorld,點(diǎn)擊“Next”

              圖30 選擇方法對(duì)話框
              圖30 選擇方法對(duì)話框
              選中HelloWorld\execute方法,點(diǎn)擊Finish。如果生成的HelloWorldTest.java文件的圖標(biāo)(Icon)出現(xiàn)紅色交叉標(biāo)志,請(qǐng)進(jìn)行以下步驟添加JUnit 4的jar包。

              右鍵點(diǎn)擊Struts2_HelloWorld,出現(xiàn)如圖所示菜單。 圖31 新建菜單
              圖31 新建菜單
              點(diǎn)擊“Build Path\Add Libararis”,彈出圖32對(duì)話框

              圖32 添加庫(kù)對(duì)話框
              圖32 添加庫(kù)對(duì)話框
              選中“JUnit”,點(diǎn)擊“Next”

              圖33 選擇版本對(duì)話框
              圖33 選擇版本對(duì)話框
              選擇“JUnit 4”,點(diǎn)擊“Finish”關(guān)閉對(duì)話框,并將HelloWorldTest.java的內(nèi)容修改為:

              package?tutorial;

              import?static?org.junit.Assert.assertTrue;

              import?org.junit.Test;

              import?com.opensymphony.xwork2.ActionSupport;

              public?class?HelloWorldTest?{

              ????@Test
              ????
              public?void?testExecute()?{
              ????????HelloWorld?hello?
              =?new?HelloWorld();
              ????????hello.setName(
              "World");
              ????????String?result?
              =?hello.execute();
              ????????
              ????????assertTrue(
              "Expected?a?success?result!",?ActionSupport.SUCCESS.equals(result));
              ????????
              ????????
              final?String?msg?=?"Hello,?World!";
              ????????assertTrue(
              "Expected?the?default?message!",?msg.equals(hello.getName()));
              ????}


              }

            2. 運(yùn)行單元測(cè)試

              右鍵點(diǎn)擊Struts2_HelloWorld\Java Resources: src\tutorial\HelloWorldTest.java,彈出如圖34所示菜單
              圖34 運(yùn)行為菜單
              圖34 運(yùn)行為菜單
              點(diǎn)擊“Run As\JUnit Test”,出現(xiàn)JUnit子窗口如圖35所示

              圖35 JUnit子窗口
              圖35 JUnit子窗口
              圖35的綠色矩形表示,所有單元測(cè)試通過。

          4. 總結(jié)

            上面的例子簡(jiǎn)單地演示了,Web 應(yīng)用程序的基本操作,也即是,頁面輸入->Action處理->再輸出到另外頁面。Struts 2.0的簡(jiǎn)單易用、方便測(cè)試相信也會(huì)給大家留下不錯(cuò)的印象吧。我相信,Struts 2.0作為一個(gè)全新的Web架構(gòu),將會(huì)再次掀起Web開發(fā)的熱潮。 不過,Struts 2.0還在測(cè)試中,正式版的發(fā)布還需些時(shí)日,所以文檔方面可能有所欠缺。請(qǐng)大家繼續(xù)留意我的博客,我會(huì)盡我所能為大家寫更多關(guān)于Struts 2.0的文章。

          posted on 2006-10-10 18:35 Max 閱讀(126072) 評(píng)論(345)  編輯  收藏 所屬分類: Struts 2.0系列
          評(píng)論共4頁: 上一頁 1 2 3 4 下一頁 

          評(píng)論:
          # re: 為Struts 2.0做好準(zhǔn)備 2006-12-05 10:52 | kevin666888
          為什么不能正確顯示中文:
          如果在SayHello.jsp頁面的輸入框中輸入中文,(如“世界”)

          提交后顯示的是亂碼,如"Hello, ?=?!"

          請(qǐng)各位指教。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2006-12-05 18:34 | Max
          HelloWorld.jsp中<%@ page contentType="text/html; charset=UTF-8" %>有沒有加上這個(gè)?
          在我的環(huán)境中沒有這個(gè)問題。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2006-12-07 21:20 | konhon 優(yōu)華
          非常詳細(xì)...
          我照做了下, 全通過  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2006-12-14 15:04 | xanbio
          @風(fēng)人園
          如果你是直接copy的過去就會(huì)有這個(gè)問題。。建議把配置文件按照上面的手寫一遍就好了。。
          我也遇到過這樣的問題  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2006-12-14 15:07 | xanbio
          不完全這樣,
          1.你需要在你的classpath下放置struts.properties文件。
          2.同時(shí)你需要將tomcat下的你的項(xiàng)目的啟動(dòng)文件的conttext元素的reload屬性設(shè)為true。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2006-12-24 01:48 | schop
          高級(jí)IT技術(shù)網(wǎng)
          http://www.paiming.org
          商務(wù)排名網(wǎng)
          http://www.paiming.biz
          文理校友
          http://www.suse.net.cn

          http://www.paiming.cc
          天馬行空人自如,
          高山流水子期悟.
          云開見日知音遇.
          淡雅素歌兩相圖。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-01-03 11:26 | flykite1983
          請(qǐng)問摟主為什么總是提示
          java.lang.NullPointerException呢?
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-01-05 13:31 | ss
          為什么我在新建服務(wù)器運(yùn)行不了呢?提示tomcat路徑不對(duì)。必須得設(shè)置這個(gè)嗎?
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-01-05 13:38 | ss
          新建服務(wù)器運(yùn)行,怎么點(diǎn)finish后不關(guān)閉呢,像死機(jī)一樣沒反應(yīng)了  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-01-09 16:57 | 阿輝[匿名]
          為什么總是提示org.apache.jasper.JasperException: File "/struts-tags" not found
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-01-19 03:01 | maming
          這個(gè)更像JSF的Action模式,但是更關(guān)注于web而非組件,做為表現(xiàn)層次的framework,JSF在組件化方面做得非常優(yōu)秀,但是如果加入驗(yàn)證等等附加內(nèi)容,它還要集成其它的東西;而Struts更像一個(gè)web的框架,盡管在Action方面似乎還不存在DI,但是在JSP方面的處理好像更靈活一些。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備[未登錄] 2007-02-26 14:18 | maomao
          為什么在web.xml這一步就通不過呢:
          嚴(yán)重: Error filterStart
          2007-2-26 14:14:07 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Context startup failed due to previous errors
          2007-2-26 14:14:08 org.apache.catalina.core.StandardHost getDeployer  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備[未登錄] 2007-03-15 10:28 | hunter
          @stoneshao

          不錯(cuò)﹐就是學(xué)起來不容易﹗﹗支持﹗﹗﹗加油﹗﹗
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-20 10:01 | linken
          Apache Struts 2 requires:( Servlet API 2.4 JSP API 2.0 Java 5 )come from Struts 2 doc
          誰知道那些服務(wù)器支持Servlet API 2.4?
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-21 14:57 | Max
          @linken
          較新一點(diǎn)版本的服務(wù)器都支持Servlet API 2.4,如Tomcat 5.x,Websphere 6.x, Weblogic 8.x或以上版本等  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-21 17:03 | 沒有
          type Status report

          message /Hello/

          description The requested resource (/Hello/) is not available.
          前臺(tái)顯示的錯(cuò)誤,后臺(tái)沒有錯(cuò)誤輸出。
          這是什么問題,搞了一個(gè)下午還是這樣。
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-21 17:55 | 沒有姓名
          我用的是struts2.0.6。按照方法去做,顯示出錯(cuò)是struts2過濾器出錯(cuò)。出錯(cuò)代碼如下。請(qǐng)那位大大幫忙給看一下是什么原因,整整弄了一個(gè)下午。
          信息: Parsing configuration file [struts-plugin.xml]
          2007-3-21 17:37:29 org.apache.catalina.core.StandardContext filterStart
          嚴(yán)重: Exception starting filter struts2
          Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean - jar:file:/C:/Program%20Files/tomcat5.5.23/webapps/Hello/WEB-INF/lib/struts2-spring-plugin-2.0.6.jar!/struts-plugin.xml:8:132
          at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:209)
          at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
          .................
          Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextAware
          at java.lang.ClassLoader.defineClass1(Native Method)
          at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
          ..................
          2007-3-21 17:37:30 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Error filterStart
          2007-3-21 17:37:30 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Context [/Hello] startup failed due to previous errors
          2007-3-21 17:37:30 com.opensymphony.xwork2.util.ObjectTypeDeterminerFactory <clinit>  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-22 13:16 | world7th
          這個(gè)系列的文章很好,謝了,老大  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-22 22:56 | Max
          @沒有姓名
          對(duì)于沒有配置成功的朋友,可以通過將Struts 2包的apps\struts2-blank-2.0.6.war解壓,加入自己的工程。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-28 16:53 | 鳳飛飛
          支持,繼續(xù)努力  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備[未登錄] 2007-03-28 23:31 | pts
          eclipse的WDT好難安裝,
          按照下載頁面的提示,同時(shí)下載了三個(gè)支持模塊:dtp,emf,gef,
          eclipse版本是3.2.2,全部安裝好后,已經(jīng)在"manager configuration"看到了插件wtp安裝正常的信息,但是在新建project中怎么死活沒有建立"動(dòng)態(tài)web project"項(xiàng)目.  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-29 16:07 | 小吳
          下載完struts 2.0 後..開始使用eclipse 3.2 第一步就跟作者的畫面不同了..是不是我少裝了什麼外掛呢  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-29 19:06 | ffgames
          你是怎么把wpt和myeclipse一起使用的?
          我這里就是不能
          可以告訴我嗎?
          我的郵箱是ffgames@163.com  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-29 22:43 | Max
          @pts
          @小吳
          @ffgames
          鑒于大家的問題,我會(huì)分別做一個(gè)WDT和MyEclipse的工程上傳到文章的后面。
          對(duì)于,之前給大家?guī)淼臒溃以诖吮硎厩敢狻?nbsp; 回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-03-30 09:29 | 謎老鼠
          我用的是NetBeans5.0,能否講講在Netbeans下如何搭建開發(fā)和運(yùn)行環(huán)境?謝謝!  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-02 14:38 | 毛毛
          行:29
          字符:1
          代碼:0
          錯(cuò)誤:'dojo' 未定義
          網(wǎng)址:http://127.0.0.1:8888/Struts2_Test/SayHello.jsp  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-02 14:40 | 毛毛
          誰能幫我解釋一下這是怎么回事啊
          行:29
          字符:1
          代碼:0
          錯(cuò)誤:'dojo' 未定義
          網(wǎng)址:http://127.0.0.1:8888/Struts2_Test/SayHello.jsp  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-03 12:37 | 小吳
          可以將taglib 的file 提供下載嗎???  回復(fù)  更多評(píng)論
            
          # 問一個(gè)關(guān)于中文亂碼的問題。 2007-04-03 17:44 | lhx
          我有一個(gè)注冊(cè)頁面register.jsp 如下,這樣在頁面上中文可以正確顯示,但是到action中取出來的“user.username”就是亂嗎了,該怎么解決???
          <%@ page contentType="text/html;charset=GBK"%>
          <%@ taglib prefix="s" uri="/struts-tags" %>
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          <title>Sign On</title>
          </head>
          <body>
          <s:form action="RegisterAction">
          <table>
          <tr>
          <td>姓名</td>
          <td><s:textfield key="user.username"/></td>
          </tr>
          <tr>
          <td>地址</td>
          <td><s:textfield key="user.address" /></td>
          </tr>
          <tr><td colspan="2"><s:submit/></td></tr>
          </table>
          </s:form>  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備[未登錄] 2007-04-07 21:19 | 呵呵
          為什么提示org.apache.jasper.JasperException: File "/struts-tags" not found   回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-07 22:56 | Max
          @lhx
          <%@ page contentType="text/html;charset=GBK"%>
          將頁面的輸出編碼設(shè)置為:GBK,但是又使用了:
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          告訴瀏覽器使用gb2312來顯示頁面。
          建議大家將編碼都設(shè)為utf-8,在我開發(fā)的過程中很少碰到亂碼的情況。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-07 22:59 | Max
          @呵呵
          可能少了某些JAR包。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-07 23:02 | Max
          不知道誰有沒有好的免費(fèi)的文件寄放服務(wù)?
          因?yàn)锽logjava只能擺放不超過2000kb的文件,所以我沒有辦法上傳工程文件。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-09 14:53 | open
          @風(fēng)人園
          請(qǐng)你加入這個(gè)試試:
          把HelloWorld

          更改為:HelloWorld.action看看的,應(yīng)該是這個(gè)的問題!
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-10 13:36 | ycscy
          type 例外レポート

          メッセージ

          説明 The server encountered an internal error () that prevented it from fulfilling this request.

          例外

          org.apache.jasper.JasperException: Exception in JSP: /SayHello.jsp:10

          7: </head>
          8: <body>
          9: <h3>Say "Hello" to: </h3>
          10: <s:form action="HelloWorld">
          11: Name: <s:textfield name="name" />
          12: <s:submit />
          13: </s:form>


          Stacktrace:
          org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
          org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
          org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
          org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


          原因

          java.lang.NullPointerException

          這是什么原因?  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-10 17:30 | ycscy
          我用的是struts2.06,上面這個(gè)問題是因?yàn)椴恢С謽?biāo)簽庫(kù)嗎,為什么會(huì)出現(xiàn)這樣的問題?  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-10 23:15 | Max
          @ycscy
          應(yīng)該不是這個(gè)問題。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-11 09:35 | ycscy
          這個(gè)到底是什么原因,能解釋一下嗎?謝謝!  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-13 11:22 | xj
          @badqiu1
          你是煞筆啊,我還說你更麻煩,還要寫程序,我一句話下去就有人去寫,比你更簡(jiǎn)單.像你這樣的人就是半瓶晃蕩,有本事自己寫一個(gè)類似的技術(shù)文章出來  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-16 01:18 | Sullivan
          我按照方法做了一下 可是為什么到HelloWorld是一個(gè)空值呢?   回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-16 22:38 | Max
          @Sullivan
          @ycscy
          對(duì)不起,你們給的信息太少,所以我無法判斷是什么原因。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-18 13:30 | jiajia
          新建struts.xml文件時(shí),這個(gè)文件的文件名是不是可以變化,還是說一定要使struts,另外放的地方有沒有什么說法  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-18 13:36 | jiajia
          啟動(dòng)tomcat時(shí),strurs2自動(dòng)得讀default-config.xml配置文件,那么怎么讀自己建的struts.xml文件   回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-18 23:05 | Max
          @jiajia
          Struts 2默認(rèn)會(huì)讀取classpath下的struts-default.xml,struts-plugin.xml,struts.xml這三個(gè)文件。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-19 09:49 | jiajia
          謝謝max的回答,再問一下struts-plugin.xml這個(gè)文件在哪個(gè)jar包里面,還是自己定義的  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備[未登錄] 2007-04-19 13:30 | Tony
          org.apache.jasper.JasperException: Exception in JSP: /SayHello.jsp:10

          7: </head>
          8: <body>
          9: <h3>Say "Hello" to: </h3>
          10: <s:form action="HelloWorld">
          11: Name: <s:textfield name="name" />
          12: <s:submit />
          13: </s:form>


          Stacktrace:
          org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
          org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
          org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
          org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


          原因

          java.lang.NullPointerException
          這個(gè)問題我也遇到了,我用的是tomcat5.5,配置文件都是和例子一樣的,可是就是無法解析標(biāo)簽,不知道是什么原因?還望指點(diǎn)下  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-19 23:19 | Max
          @jiajia
          struts-plugin.xml會(huì)在你下載的plugin的jar包中,如struts2-spring-plugin-2.0.6.jar。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-19 23:28 | Max
          @Tony
          你應(yīng)該沒在web.xml有配置struts 2的filter,試下將以下列代碼加到web.xml的<web-app></web-app>元素之間:
          <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>  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-25 00:42 | fish119
          好像需要Tomcat 5.5以上,5.0會(huì)有問題,諸如NullPointerExceptio之類的  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-29 13:41 | bbb
          我用test 文件夾Struts2_HelloWorld運(yùn)行時(shí)出現(xiàn)下面的錯(cuò)誤,請(qǐng)問如何解決?

          type Status report

          message /test/HelloWorld!excute

          description The requested resource (/test/HelloWorld!excute) is not available.  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-30 10:23 | agoo
          @沒有姓名
          嚴(yán)重: Exception starting filter struts2
          java.lang.NoClassDefFoundError: Lorg/codehaus/plexus/PlexusContainer;
          2007-4-30 10:18:39 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Error filterStart  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-04-30 20:11 | 食管家
          type Status report

          message /Struts2_HelloWorld/HelloWorld

          description The requested resource (/Struts2_HelloWorld/HelloWorld) is not available.



          是什么原因?


          另外:filter錯(cuò)誤好象是jar包的問題,你直接引用struts2-blank-2.0.6.war中的包吧??梢越鉀Q。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-03 21:39 | ec
          嚴(yán)重: Error filterStart
          2007-5-3 21:33:58 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Context startup failed due to previous errors
          2007-5-3 21:33:59 org.apache.catalina.core.StandardHostDeployer install
          信息: Installing web application at context path /balancer from URL file:D:\Tomcat528\webapps\balancer
          2007-5-3 21:33:59 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Error filterStart
          2007-5-3 21:33:59 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Context startup failed due to previous errors
          2007-5-3 21:33:59 org.apache.catalina.core.StandardHostDeployer install

          我已經(jīng)重新引用了struts2-blank-2.0.6.war中的Jar包仍然沒有解決這個(gè)問題,希望樓主回復(fù)~~  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-06 11:50 | 張先生
          在struts2.0.6中:
          org.apache.struts2.action.dispatcher.FilterDispatcher
          這一句咋也通不過,有啥辦法呢??  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-08 10:07 | Max
          @ec
          信息太少,我也無法判斷原因。

          @張先生
          “通不過”是什么意思?  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-08 20:53 | 張先生
          在struts2.0.6+weblogic9.1環(huán)境下:
          web.xml中是這樣寫的
          <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>
          <welcome-file-list>
          <welcome-file>index.html</welcome-file>
          </welcome-file-list>
          如果刪除里面的
          <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>
          后Context就可以啟動(dòng)了

          不知道是怎么回事?有以下提示:
          在啟動(dòng)weblogic9.1時(shí),出現(xiàn)了以下錯(cuò)誤:
          <Could not load user defined filter in web.xml:
          org.apache.struts2.dispatcher.FilterDispatcher.
          java.lang.IncompatibleClassChangeError
          at org.apache.struts2.dispatcher.Dispatcher.<clinit>(Dispatcher.java:83)
          at org.apache.struts2.dispatcher.FilterDispatcher.createDispatcher
          (FilterDispatcher.java:389)
          at org.apache.struts2.dispatcher.FilterDispatcher.init
          (FilterDispatcher.java:162)
          at weblogic.servlet.internal.FilterManager$FilterInitAction.run
          (FilterManager.java:311)
          at weblogic.security.acl.internal.AuthenticatedSubject.doAs
          (AuthenticatedSubject.java:321)
          web.xml內(nèi)容如下:
          <?xml version="1.0" encoding="UTF-8"?>
          <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
          http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
          <filter id="filterdispatcher">
          <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>
          <welcome-file-list>
          <welcome-file>index.jsp</welcome-file>
          </welcome-file-list>
          </web-app>
          所有struts2.0.6的包一個(gè)一個(gè)檢查了,沒問題.但就是啟動(dòng)不起來!
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-10 13:28 | 小學(xué)生
          老師```可以不可加我一下````我的QQ是530981086   回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-10 17:31 | gpiaofei2006
          全部按照步驟做完后,在SayHello.jsp,填上任意名字,執(zhí)行結(jié)果都是Hello,null!十分迷惑  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-13 13:58 | gpiaofei2006
          # re: 為Struts 2.0做好準(zhǔn)備 2006-10-26 22:57 | esmiles

          糾正一個(gè)錯(cuò)誤:
          HelloWorld.jsp中的<s:property name="name" />
          name屬性是錯(cuò)的。應(yīng)該改成value屬性,既:
          <s:property value="name" />

          HelloWorld.jsp中的<s:property name="name" /> 應(yīng)該不改變
          否則結(jié)果為:Hello,null;  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-16 13:21 | ning wang
          Could you tell me how to integration velocity 1.4 in struts2.0? I have readed your other example of Struts 2.0的Action講解.However it is failed when running in tomcat.

          The erro is
          No result defined for action tutorial.HelloWorld and result success - action - file:/C:/apache-tomcat-5.5.23/webapps/Struts2_HelloWorld/WEB-INF/classes/struts.xml:7:64

          the struts.xml is
          <!DOCTYPE struts PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
          "http://struts.apache.org/dtds/struts-2.0.dtd">
          <struts>
          <include file="struts-default.xml"/>
          <package name="tutorial" extends="struts-default">
          <action name="VMHelloWorld" class="tutorial.HelloWorld">
          <result name="SUCCESS" type="velocity">HelloWorld.vm</result>
          </action>
          </package>
          </struts>  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-17 08:26 | chunchong
          謝謝了,好文章。頂一下。摟主辛苦了  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備[未登錄] 2007-05-17 10:38 | 風(fēng)
          按照上面的提示出現(xiàn)下面的錯(cuò)誤。 請(qǐng)各位老大診斷診斷。
          致命的: フィルタ Struts2 の起動(dòng)中の例外です
          Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/C:/tomcat5.5.23/webapps/Struts2_HelloWorld/WEB-INF/lib/struts2-core-2.0.6.jar!/struts-default.xml:8:69
          at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:209)
          .....
          ..
          Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - jar:file:/C:/tomcat5.5.23/common/lib/struts2-core-2.0.6.jar!/struts-default.xml:8:69 - bean - jar:file:/C:/tomcat5.5.23/webapps/Struts2_HelloWorld/WEB-INF/lib/struts2-core-2.0.6.jar!/struts-default.xml:8:69
          at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:194)
          ... 33 more
          2007/05/17 10:32:14 org.apache.catalina.core.StandardContext start
          致命的: Error filterStart  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-18 09:25 | Max
          @ning wang
          你的問題是大小寫的問題,你可以試一下把“SUCCESS”改為“success”或干脆把name屬性去掉。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-18 09:29 | Max
          @風(fēng)
          嘗試一下將C:/tomcat5.5.23/common/lib/下的struts2-core-2.0.6.jar刪除,盡量不要把第三方的包放在這里。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備[未登錄] 2007-05-18 10:41 | 風(fēng)
          @Max
          謝謝max的回答.
          好文章。頂一下。摟主辛苦了  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-20 16:57 |
          @Max
          我用的是Struts2-2.0.6這個(gè)版本
          按照你說的做了以后啟動(dòng)TOMCAT就會(huì)報(bào)出下面的錯(cuò)誤,測(cè)試通不過,
          是不是跟你的版本不一樣的問題?
          嚴(yán)重: Exception starting filter struts2
          Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean - jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%205.5/webapps/Struts2-helloworld/WEB-INF/lib/struts2-spring-plugin-2.0.6.jar!/struts-plugin.xml:8:132
          at
          ..............
          Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextAware
          at java.lang.ClassLoader.defineClass1(Native Method)
          at java.lang.ClassLoader.defineClass(Unknown Source)
          at java.security.SecureClassLoader.defineClass(Unknown Source)
          at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
          at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
          at java.lang.ClassLoader.loadClassInternal(Unknown Source)
          at java.lang.ClassLoader.defineClass1(Native Method)
          at java.lang.ClassLoader.defineClass(Unknown Source)
          at java.security.SecureClassLoader.defineClass(Unknown Source)
          at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
          at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
          at com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:139)
          at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:181)
          ... 33 more
          2007-5-20 16:08:16 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Error filterStart
          2007-5-20 16:08:16 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Context [/Struts2-helloworld] startup failed due to previous errors  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-05-22 09:11 | Max
          @輝
          你是不是用了spring,打開src/struts.properties文件,將其內(nèi)容清空。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-03 20:34 |
          @Max
          我沒用Spring啊,另外在說的這個(gè)文件夾下面,我找不到struts.properties
          這個(gè)文件啊
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-04 23:27 | Max
          @輝
          試一下加一個(gè)空白的struts.properties文件。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-05 19:56 | xjq
          2.0.6中出現(xiàn):嚴(yán)重: Error filterStart 的原因是,build path里面多了一些plugin的包,只留一個(gè)core即可  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-07 17:41 | da yu
          謝謝樓主!STRUTS2.0很好!  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-09 18:09 | SoarDragon
          message

          description The server encountered an internal error () that prevented it from fulfilling this request.

          exception

          There is no Action mapped for action name HelloWorld. - [unknown location]
          com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
          org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
          org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
          org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-09 18:13 | SoarDragon
          這是什么錯(cuò)誤啊,配置文件我一個(gè)字母一個(gè)字母對(duì)過了,
          可是還出這種錯(cuò)誤  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-12 13:09 | EasefulMaple
          問一個(gè)相對(duì)無關(guān)的問題:就是你的eclipse用的哪些插件?????
          在哪里有下????

          官網(wǎng)我去過N次了,不過沒找到。。。。。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備[未登錄] 2007-06-14 10:39 | aa
          Thanks!!  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-19 11:36 | 任遨游
          請(qǐng)問我都配置成功了,但點(diǎn)submit按鈕時(shí),報(bào)以下錯(cuò)誤

          type Status report

          message /TestStruts2/HelloWorld

          description The requested resource (/TestStruts2/HelloWorld) is not available.

            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-19 13:17 | 任遨游
          @任遨游
          問題解決了。我用tomcat5.5.23,eclipse wtp 3.2 .struts2.0.8

          搞了昨天一下午,才配通,從apaceh下了好多包才搞定。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-19 22:12 | Max
          @任遨游
          對(duì)不起,由于版本的更改,不少內(nèi)容都有錯(cuò)誤,有時(shí)間想重新寫這篇文章。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-21 10:33 | 新手
          在JSP頁面我能不能不用STRUTS2.0的標(biāo)簽?

          如果可以.那么.我在<FORM ACTION="寫什么">
          那在struts.xml中ACTION 中的NAME一樣嗎?  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-22 15:20 | 新手
          <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>
          <welcome-file-list>
          <welcome-file>index.html</welcome-file>
          </welcome-file-list>


          為什么上面的代碼加到web.xml中后.就報(bào)404錯(cuò)誤.不加的話,還可以能看到index.xml這個(gè)頁面之后再報(bào)404錯(cuò)誤?

          急,在線等....

            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-22 15:32 | Max
          @新手
          1、<s:form />的action才與struts.xml中的Action名一樣,而<form />中的action應(yīng)為你的Action的路徑的全名如/mypath/myaction.action;

          2、你的應(yīng)用沒有被服務(wù)器成功加載,請(qǐng)檢查控制臺(tái)的輸出。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備[未登錄] 2007-06-22 16:39 | king
          怎么我也是是這個(gè)錯(cuò)???
          各位誰有demo給傳個(gè)能運(yùn)行的阿?
          majun4678@163.com

          嚴(yán)重: Exception starting filter struts2
          Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean - jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%205.5/webapps/Struts2-helloworld/WEB-INF/lib/struts2-spring-plugin-2.0.6.jar!/struts-plugin.xml:8:132   回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備[未登錄] 2007-06-22 21:48 | Edward
          Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean -

          看過來。。

          https://issues.apache.org/struts/browse/WW-2003  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-22 22:16 | Max
          @Edward
          @king
          將你的struts2-spring-plugin-2.0.6.jar包從工程去掉。
          希望這可以解決你們的問題。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-26 14:46 | 客人
          @Max
          謝謝你提供這個(gè)例子;www.mofile.com可以存放大文件,你的教程和代碼可以放上去,上傳速度也很快,先要免費(fèi)注冊(cè)。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-27 09:26 | ddr


          你不用拷貝所有的jar文件到lib中,可以只拷貝\apps\struts2-blank-2.0.*.war中的lib內(nèi)容。

          此時(shí)啟動(dòng)不會(huì)出錯(cuò)。
          我用的是struts 2.0.8,也存在這個(gè)問題。換了lib后好了。

          哪位好研究的,給看看什么問題。我覺得是包括的所有的jar時(shí),某些jar引用了spring的庫(kù)  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-06-28 10:02 | 客人
          type Status report

          message /Hello/

          description The requested resource (/Hello/) is not available.
          前臺(tái)顯示的錯(cuò)誤,后臺(tái)沒有錯(cuò)誤輸出。
          **********************************

          這樣的問題,我也遇到,但解決了;
          MAX的代碼沒有錯(cuò)誤,可以直接使用;為確保正常,STRUTS2的包可以用struts2-blank-2.0.6.war里面的(我用的struts2-blank-2.0.8.war)。

          大概目前的myeclipse 不支持struts2,所以
          要確認(rèn)struts.xml放在classes目錄下,內(nèi)容也要正確;

          同時(shí)建議MAX附上代碼,這樣有些問題,大家可以自己比較著來解決了.  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-02 10:47 | 小茶
          能否解釋下web.xml中配置的具體含義,比如:
          <display-name>Struts 2.0 Hello World</display-name>
          <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>
          上面標(biāo)簽的具體含義
          還有SayHello.jsp文件中的<s:textfield name="name" />,當(dāng)輸入內(nèi)容后提交應(yīng)該是調(diào)用了HelloWorld.java中的setName()方法;HelloWorld.jsp文件中的<s:property value="name" />,應(yīng)該是調(diào)用了HelloWorld.java中的getName()方法,這些是不是在struts2.0標(biāo)簽中定義好的,textfield中的第二個(gè)"name"是否要和HelloWorld.java中定義的name保持相同.
          能否就上面的幾個(gè)問題具體介紹下,我剛接觸struts2.0,期待您的回復(fù)!!!  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-02 23:20 | Max
          @小茶
          Struts 2是一個(gè)MVC模型的框架,它通過Dispatcher 過濾器(filter)和攔截器處理和控制Action。
          Action中的屬性值可以通過Javabean規(guī)范與請(qǐng)求是的參數(shù)綁定,所以<s:textfield />等Form標(biāo)志的name屬性必須與Action屬性名一致。
          更詳細(xì)的情況你可以參考Struts 2的官方文檔。  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-04 11:36 | FreeTime
          是因?yàn)榻坛躺习?struts.xml的名字寫成了sturts.xml。都是復(fù)制惹的錯(cuò)啊。
            回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-06 10:30 | DXYY
          message

          description The server encountered an internal error () that prevented it from fulfilling this request.

          exception

          There is no Action mapped for action name HelloWorld. - [unknown location]
          com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
          org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
          org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
          org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)   回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-06 10:34 | DXYY
          再加已補(bǔ)充,我的Strutss是用的2.0.6我的Tomcat是用的5.5的,我的jdk是用的1.5的  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-08 19:24 |
          @小吳
          重新下載一個(gè)版本
          我在2。08下通過,2。08的庫(kù)不能加得太多,最好用2。08-blank 下的5個(gè)庫(kù),否則通不過。對(duì)于中文問題,只要在SayHello.jsp中全部使用UTF-8,在HelloWorld.jsp中全部使用gb18030就全OK了  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-11 14:35 | skey
          您太強(qiáng)了,這么詳細(xì)!  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-12 16:30 | sunlarry
          謝謝MAX, 今天運(yùn)行了一下例子, 發(fā)現(xiàn)HelloWorld 404, 查了半天原來是COPY惹出來,struts.xml寫錯(cuò)名了! 呵呵! 看來懶就是不好  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-17 10:04 | ss
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-18 10:36 | 我是路人
          做為一個(gè)學(xué)習(xí)struts2的新手,總發(fā)現(xiàn)這方面的資料比較少.感謝你提供的文章,感謝你的付出.這樣的討論氛圍讓人欣慰.謝謝  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-18 17:31 | cainiao
          介紹的很詳細(xì),非常感謝!按照流程走了一遍!沒有問題!  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-19 16:46 | wyg405
          非常感謝!很好的東西!  回復(fù)  更多評(píng)論
            
          # re: 為Struts 2.0做好準(zhǔn)備 2007-07-20 16:42 | jarwang


          試了多次, goole多次.仍是中文亂碼???????
          全部的頁面都加了
          <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>

          還是亂碼.......

          請(qǐng)問:如何解決呢????多謝.....  回復(fù)  更多評(píng)論
            
          評(píng)論共4頁: 上一頁 1 2 3 4 下一頁 
          主站蜘蛛池模板: 浦东新区| 平利县| 南宫市| 鄯善县| 城市| 鄱阳县| 贵定县| 东乌| 海兴县| 克东县| 光泽县| 鞍山市| 大兴区| 沙河市| 普格县| 沈丘县| 温州市| 平谷区| 通许县| 邯郸县| 定安县| 通州市| 水富县| 滦平县| 抚州市| 全州县| 西畴县| 永清县| 涟水县| 新郑市| 临澧县| 甘孜县| 察隅县| 隆林| 泽普县| 喀什市| 武隆县| 耒阳市| 龙江县| 清苑县| 香格里拉县|