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

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

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

    posts - 9,  comments - 17,  trackbacks - 0
    看了blogjava上max老師關(guān)于Struts2.0的文章,于是開始學(xué)習(xí)Struts2.0了。但是始終會(huì)出現(xiàn)問題。
    我嚴(yán)格按照max老師的《為Struts 2.0做好準(zhǔn)備》中的方法,一步一步地建立了我的第一個(gè)Struts2.0的Project——Struts2_HelloWorld。

    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”中鍵入struts.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窗口

    到目前為止,我還沒用到Struts2.0的東西。但是就是這樣簡單的Hello World始終都無法順利顯示出來,都會(huì)出現(xiàn)HTTP Status 404錯(cuò)誤。于是我用了幾種方法去檢查錯(cuò)誤:
    (1)按照上面max老師的方法將Project打包到Tomcat的webapps目錄下。打開Internet Explorer,鍵入http://localhost:8080/Struts2_HelloWorld/,tomcat提示HTTP Status 404。
    (2)在tomcat中建立虛擬目錄<Context path="/Struts2_HelloWorld" docBase="F:\Struts2_HelloWorld\WebContent" debug="0" crossContext="true" reloadable="true"/>,然后打開Internet Explorer,鍵入http://localhost:8080/Struts2_HelloWorld/,tomcat提示HTTP Status 404。
    (3)在第(2)中將WEB-INF\web.xml刪除,然后打開Internet Explorer,鍵入http://localhost:8080/Struts2_HelloWorld/。這樣我可以看到我的Hello Worle了,所以我懷疑是web.xml出了問題,但是我始終找不出來出了什么問題。我的web.xml和max老師的一模一樣。

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_9" 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">

        
    <display-name>Struts2_HelloWorld</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>

     (4)最后將Project整個(gè)文件夾拷貝到tomcat的webapps目錄下,并且沒有將WEB-INF/web.xml刪掉。打開Internet Explorer,鍵入http://localhost:8080/Struts2_HelloWorld/WebContent,成功,只有這樣才可以得到和max老師一樣的結(jié)果。但是在做以下的步驟時(shí)又出現(xiàn)問題。
    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,出現(xiàn)以下錯(cuò)誤:

    HTTP Status 500 -


    type Exception report

    message

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

    exception

    org.apache.jasper.JasperException: File "/struts-tags" not found
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
    org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:160)
    org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:424)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:493)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1557)
    org.apache.jasper.compiler.Parser.parse(Parser.java:127)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
    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)
    

     

    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.


    Apache Tomcat/5.5.23

    max老師曾經(jīng)說過是少了某個(gè)jar包,但是我在WEB-INF/lib中導(dǎo)入了struts2.0.9的所有jar包。
    我的這個(gè)Project問題究竟出在哪里了?以我的判斷應(yīng)該是web.xml和jar包的問題,但是我真的找不出來了。我都被這個(gè)struts2整得心力交瘁了。有哪位大哥大姐叔叔阿姨能夠幫幫我?
    最好能夠給我點(diǎn)struts2的初學(xué)者教程就更好了!!!

    posted on 2007-08-21 21:46 Elven 閱讀(3076) 評(píng)論(6)  編輯  收藏

    FeedBack:
    # re: struts2.0
    2007-08-22 09:14 | mismo
    不會(huì)strut,頂一個(gè)  回復(fù)  更多評(píng)論
      
    # re: struts2.0
    2007-08-23 17:03 | 俗人
    請(qǐng)教,怎么在struts2中配置數(shù)據(jù)庫連接池啊,謝謝了啊   回復(fù)  更多評(píng)論
      
    # re: struts2.0
    2007-08-27 11:03 | asgard
    org.apache.jasper.JasperException: File "/struts-tags" not found
    不是都告訴你錯(cuò)誤了么?
    教程是死的,大家的環(huán)境千變?nèi)f化,不可能一帆風(fēng)順的。

    最好的檢查辦法就是手動(dòng)在你的應(yīng)用下的lib文件夾看看確定不缺少jar包,不要通過IDE。
      回復(fù)  更多評(píng)論
      
    # re: struts2.0
    2007-10-11 11:07 | syz
    沒用的包不要導(dǎo)進(jìn)去,只導(dǎo)這四個(gè)就行commons-logging-1.0.4.jar,freemarker-2.3.8.jar,ognl-2.6.11.jar,struts2-core-2.0.9.jar,xwork-2.0.4.jar,struts-tags" not found這個(gè)問題可以在web.xml中加一個(gè)<tablib>來引用struts-tags.tld
      回復(fù)  更多評(píng)論
      
    # re: struts2.0
    2008-07-25 10:42 | wk
    樓上的高手,加個(gè)QQ咯
      回復(fù)  更多評(píng)論
      
    # re: struts2.0
    2008-09-05 09:03 | chenwangdu
    如果采用虛擬目錄的話,docBase 指到WEB-INF目錄的上一級(jí)目錄!
    chenwangdu@vip.citiz.net  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    <2008年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章檔案

    搜索

    •  

    最新評(píng)論

    • 1.?re: struts2.0
    • 如果采用虛擬目錄的話,docBase 指到WEB-INF目錄的上一級(jí)目錄!
      chenwangdu@vip.citiz.net
    • --chenwangdu
    • 2.?re: struts2.0
    • 樓上的高手,加個(gè)QQ咯
    • --wk
    • 3.?re: struts2.0
    • 評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
    • --syz
    • 4.?re: 還是struts2問題
    • 為什么不直接使用wtp呢,完整的集成環(huán)境,非要自己配置干什么?
    • --cherishchen
    • 5.?re: 還是struts2問題
    • 多半是因?yàn)槟愕膚eb.xml中有什么錯(cuò)誤導(dǎo)致的,可以查tomcat的日志文件,看看其中有什么exception
    • --Tiger F

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 污网站在线观看免费| 狼友av永久网站免费观看| 亚洲AV成人片无码网站| 中文字幕亚洲色图| 性xxxx黑人与亚洲| 亚洲熟妇无码乱子AV电影| 成人黄页网站免费观看大全| 黄色网址在线免费| 亚洲人成影院午夜网站| 亚洲开心婷婷中文字幕| 免费国产成人高清在线观看麻豆| 国产成人免费高清激情视频| 99久在线国内在线播放免费观看| 一级毛片一级毛片免费毛片| 久久水蜜桃亚洲AV无码精品| 亚洲一区二区三区国产精品无码| 亚洲国产成人私人影院| 国产亚洲无线码一区二区| mm1313亚洲国产精品美女| 日韩免费观看视频| 久久综合AV免费观看| 99久久精品日本一区二区免费| 午夜亚洲乱码伦小说区69堂| 一本天堂ⅴ无码亚洲道久久| 亚洲成a人片在线观看无码专区| 亚洲精品tv久久久久久久久久| 在线视频免费国产成人| 国产麻豆免费观看91| 成人免费a级毛片| 国产精品1024永久免费视频 | 成人最新午夜免费视频| 2021国内精品久久久久精免费| 日本一区二区免费看| 免费国产在线视频| 特级无码毛片免费视频尤物| 国产成人精品无码免费看| 无码人妻丰满熟妇区免费| 无码av免费网站| 18禁无遮挡无码国产免费网站| 日本免费xxxx| 男女一进一出抽搐免费视频|