質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Struts 2

Apache Struts 2は、Apache Strutsプロジェクトにて開発されているオープンソースのJavaベースのWebアプリケーションフレームワークです。Sturts1に比べ、設定ファイルの削減、依存性の注入、POJO等の改善がなされています。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

1回答

10842閲覧

Eclipseで404[Not Found]エラーが出てしまいます

P_Egg

総合スコア6

Struts 2

Apache Struts 2は、Apache Strutsプロジェクトにて開発されているオープンソースのJavaベースのWebアプリケーションフレームワークです。Sturts1に比べ、設定ファイルの削減、依存性の注入、POJO等の改善がなされています。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2017/05/20 01:51

ActionとJSPを使ってホームページを作っています。
<s:form>を使って画面遷移させたいのですが、Submitボタンを押すと下記のようにエラーが出てしまいます。その他のページは、実行するとちゃんと表示されるので、原因が分かりません。

どなたか解決方法が分かる方いらっしゃいましたら、ご教授ください。

よろしくお願い致します。

エラーメッセージ
エラーメッセージ

###該当のソースコード
ディレクトリ

Action

JSP
JSP

struts.xml

web.xml
###試したこと
Struts.xmlの置き場所がいけないのかと思い、
プロジェクト/src/struts.xml,プロジェクト/src/actionパッケージ/struts.xml,プロジェクト/WebContent/WEB-INF/struts.xml
と、置き場所を色々変えてみたのですが、うまくいきません。
また、ネットで色々と解決方法を検索してみましたが、自己解決ができません。

###補足情報(言語/FW/ツール等のバージョンなど)
・Windows 10
・Eclipse 4.6
・Tomcat 8.5
・Struts 2.5.10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Actionクラスの設定(struts.xml)に誤りがあります。

MemgerRegistrationActionクラスは、actionパッケージに属していますので、次のように記述します。

xml

1<action class="action.MemberRegistrationAction" name="MemberRegistrationAction">

struts.xmlが正しく記述されていないことで、起動時にエラーが発生し、アプリケーションが正しく動きません。

なお、ブラウザに表示されているURLを見ていただくとわかるのですが、404(NOT FOUND)となっているURLが、MemberRegistration.jsp になっており、これはActionクラスのURLではありませんので、もう一度アプリケーションがエラーが出ずに起動したことを確認しましょう。

投稿2017/05/20 13:08

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

P_Egg

2017/05/21 03:32

ご回答いただきありがとうございます! 確認してみましたが、パッケージ名を入れるのを忘れていました。 パッケージ名を入れて実行してみたところ、やはり同様のエラーが出てしましいます。。。 struts.xmlの記述は以下になります。 <?xml version="1.0" encoding="UTF-8"?> <struts> <constant name="struts.devMode" value="true" /> <package name="UsaGym" namespace="/" extends="struts-default"> <action class="action.MemberRegistrationAction" name="MemberRegistrationAction" method="execute"> <result name="SUCCESS">/Confirm.jsp</result> </action> </package> </struts> また、struts.xmlの保管場所を、プロジェクト/src/struts.xml にすると、やはり同様のエラーが出てしまい、正しく実行されません。 保管場所が間違っているのでしょうか? よろしくお願い致します。
P_Egg

2017/05/21 03:44

以下、コンソールのエラー内容です。 ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console... ERROR DomHelper ドキュメントが無効です: 構文が見つかりません。 at (null:2:8) ERROR Dispatcher Dispatcher initialization failed 重大: フィルタ [struts2] の起動中の例外です [日 5 21 12:33:50 JST 2017] 重大: One or more Filters failed to start. Full details will be found in the appropriate container log file [日 5 21 12:33:50 JST 2017] 重大: 以前のエラーのためにコンテキストの起動が失敗しました [/UsaGym] [日 5 21 12:33:50 JST 2017] Caused by: ドキュメントが無効です: 構文が見つかりません。 - file:/C:/pleiades/pleiades/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/UsaGym/WEB-INF/classes/struts.xml:2:8
A-pZ

2017/06/26 13:33

他に考えられるケースとしては、struts.xmlにDTD宣言が書かれていませんので動作しません。Struts2.5系なら以下のようにDTD参照を追加しなければなりません。 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false"/> <constant name="struts.devMode" value="true"/> </struts>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問