Eclipse で Maven と struts 2 プロジェクトをセットアップしようとしていますが、問題があります。簡単な HelloWorld の例を作成し、その後他の機能を追加することにしましたが、問題が発生しています。
プロジェクトに「struts.xml」パスがあります: src/main/resources/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="default" namespace="/" extends="struts-default">
<action name="Login">
<result>/Pages/Login.jsp</result>
</action>
<action name="Index">
<result>/Pages/Index.jsp</result>
</action>
<action name="Welcome" class="com.contactweb.main.Contact">
<result name="SUCCESS">/Pages/Welcome.jsp</result>
</action>
</package>
</struts>
また、パス src/main/web/WEB-INF/web.xml とコンテンツを持つ web.xml があります。
<!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>ContactWeb</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
コマンドラインから「mvn clean install」を使用し、.war ファイルをターゲット フォルダーに取得します。その .war ファイルを Tomcat にデプロイします (これも正常にデプロイされます) が、URL を入力するとエラーが発生します:
要求されたリソース (/ContactWeb/Pages/Login.jsp) は利用できません。
url-s のみパスが異なる同じエラー (/ContactWeb/Login.jsp、/ContactWeb/Login.action など)。
私のプロジェクトには、Login.jsp、Index.jsp、および Welcome.jsp があります。それらは以下にあります: src/main/web/Pages
struts2 で URL に .action 拡張子を付ける必要があることをどこかで読んだことがありますが、機能しません。また、なぜ struts.xml にパッケージ名と名前空間があるのですか? 正確に何が必要ですか?私はそれが何を表示しようとしているページのためのものであるかを読みましたか?