【転】web.xmlのトップページとstrutsのactionについての質問

1519 ワード

wel.xmlは、このように構成されています.Xmlコードコレクションコードです.
<welcome-file>index.action</welcome-file>  
strutsはこのように構成されています.Xmlコードコレクションコードです.
        <result type="redirectAction">index_view</result>  
    </action>  
    <action name="index_*" class="com.syspro.action.IndexAction" method="{1}">  
        <result name="success" >/template/index.ftl</result>  
    </action>  
私はこのように思い始めました.プロジェクトのURLを訪問する時(http://127.0.0.1:8080/test/)tomcatはweb.xmlのウェルカムファイルの構成に応じて自動的にURLにindex.actionを追加します.このurlはstrutsによってブロックされますので、IndexActionに移ります.最後にindex.ftlファイルに移ります.しかし、実際には、このような配置は資源が見つけられなかったエラーを報告します.
解決策はルートディレクトリの下でindex.actionファイルを作成します.どうしてこんなに濡れていますか?mcatでweb.xmlを読み込むと、設定されている歓迎ページがありますか?存在しないとエラーが発生します.なお、URLは要求されていません.上記の場合は、tomcatがindex.actionというファイルを探していますが、見つけられませんでしたので、間違えました.だから、urlを頼みませんでした.ルートディレクトリにindex.actionを追加すると、ファイルが見つかったので、エラーが発生しません.そして、tomcatは他のファイルを引き続きロードし、ファイルのロードが完了すると、このURLを要求し始めます.http://127.0.0.1:8080/test/index.action)をクリックして、歓迎ページを開きます.このURLを要求すると、このURLはstrutsによってブロックされ、action処理に移り、index.actionファイルが開けられませんでした.だからindex.actionで記入したものは何も表示されません.
また、web.xmlの構成では、strutsはすべてのURLをブロックしますので、index.actionのサフィックスがactionであろうと、他の何であろうと、indexのactionに移行できます.実際にはそうではないですが、なぜですか?
struts.xmlにはこのstruts.actions.extensionがありますので、strutsで処理するactionを設定します.普通はこのように設定できます.
設定しないなら、デフォルトはactionです.したがって、上の例は、あなたが配置したstruts.actions.extensionのサフィックスの場合にのみ成功します.