2011-09-12 13 views
2

Struts2を学習しようとしていますが、動作するhello worldアプリケーションを作成できません。 JSPから要求があった場合、404(ページが見つかりません)というエラーが出ます。 libフォルダにlibファイルをすべて保存したまま、struts.xmlをクラスフォルダ内に配置しましたが、まだこのエラーが発生しています。ここでJSPから要求があったときに404エラーが発生する

は図である。

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Hello World</title> 
    </head> 
    <body> 
    <form action="HelloWorld"> 


    <input type="submit"> 
    </form> 

    </body> 
</html> 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
    <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> 
    <session-config> 
     <session-timeout> 
      30 
     </session-timeout> 
    </session-config> 
    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
     </welcome-file-list> 
    </web-app> 

これは私のstruts.xmlファイル

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

<struts> 
    <package name="default" extends="struts-default"> 
     <action name="HelloWorld" class="vaannila.HelloWorld"> 
      <result name="SUCCESS">/success.jsp</result> 
     </action> 
    </package> 
</struts> 

これはエラーです:

HTTP Status 404 - /Testi/HelloWorld

type Status report

message /Testi/HelloWorld

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

Apache Tomcat/6.0.33

+0

はどのようにこれをやっていますか? Eclipse IDEを使用していて、tomcatをサーバーとして追加しましたか?その最初のhtml/jspコードのファイル名は何ですか – Jayy

+0

これは、struts.xmlが見つからないことや、起動時にStruts2のロードを妨げるその他のエラーが発生している可能性があります。 –

答えて

3

これは、Struts2 : Using form actionに投稿したのと同じ質問です。

使用しているフォームタグに問題があります。これはストラットフォームタグではなく、strutsフォームタグ内のアクション属性は、HTMLタグ内のアクション属性内で異なって処理されます。

私の答えはStruts2 : Using form actionだと思います。

PS:あなたは、アクションの拡張子を変更していない場合、あなたは単にあなたの標準的なHTMLタグのアクションの最後に.actionを追加することによって、この作品を作ることができる場合があります。libにインポート

<form action="HelloWorld.action"> 
    ... 
</form> 
0

エラーログの内容を投稿できますか?要求されたリソースを見つけることができるようにサーバを設定すると、これはあなたのマッピングの問題かもしれませんし、クラスパス内のマッピングファイルを見つけることができないかもしれません。 struts.xmlファイルをクラスパスに配置する必要があります。Eclipseを使用している場合は、srcフォルダ内のstruts.xmlファイルを削除してください。eclipseはこれをどのように処理するかを知っています

struts2を学ぶ最も良い方法は、

  1. サンプル・アプリケーションは、あなたがどのような構造を理解するのに役立ちますので、公式サイト

    Example Applications:

    そこからサンプルアプリケーションは、これはあなたが理解し、Struts2のより良い学習するのに役立ちますすべての設定ファイルは、ハローシンプルな世界のアプリケーション

1

に必要なすべての依存関係が、私はTomcatの下に新しいフォルダを作成することをお勧め何で配置する必要があり、どのような場所で

  • を持っている1が必要。 webappsフォルダを開き、すべてのファイルを標準に従って配置し、IDEを使用している場合は試してみてください。最初から

    てみデバッグ、

    • あなたはlocalhostを打つことができるかどうかを確認最初:、8080のsucessfully
    • その後、あなたは かどうかを確認するために、サーブレット(従ってweb.xmlファイルを変更)を打ってみてください行くことができる。
    • 最後に、struts2アクションを実行してみてください。あなたが与えるURLマッピングが であることを確認してください。

    これはマッピング上の問題であると考えます。

  • 0

    追加Actionクラスに

    例:

    import com.opensymphony.xwork2.ActionSupport; 
    
    public class HelloWorldAction extends ActionSupport{ 
    
        //.... 
        //.... 
    }