いつもお世話になっております。
またまた質問させてください。
・Windows2000
・j2sdk-1_4_1_07-windows-i586
・jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49
・struts-1.2.7
で
http://www.hellohiro.com/struts.htm
を参考に勉強中です。
それぞれファイルを作成し、環境変数を設定して
SendMessageForm.java と SendMessageAction.java
をコンパイルしましたが、
注: .\javahello\SendMessageForm.java は推奨されない API を使用またはオーバーライドしています。
注: 詳細については、-deprecation オプションを指定して再コンパイルしてください。
と出てきますが、クラスファイルはできています。
このエラーが出てきてもそのまま使えるとの情報があったので、とりあえず先に進み
・struts-config.xml)の編集
・(ApplicationResources.properties)の編集 及び ASCIIファイルに変換
の作業を行いました。
しかし、http://localhost:8080/javahello/sendMessage.jsp
を開くと
javax.servlet.ServletException: キー "sendMessage.title" に対応するメッセージが見つかりません
・
・
・
javax.servlet.jsp.JspException: キー "sendMessage.title" に対応するメッセージが見つかりません
・
・
・
とHTTP Status 500 - がかえってきます。
・コンパイルをきちんと通せてないのがいけないのでしょうか?
それとも
・Strutsの設定がよくないのでしょうか?
初歩的な質問なのでしょうが、どうしても前に進むことができずに困っています。
どなたがご教授のほどお願いいたします。
No.3ベストアンサー
- 回答日時:
メッセージリソースの記録されているファイルにどれを使うかは web.xml で指定します。
ActionServlet の application という初期化パラメータで指定しているやつがそれです。
「サーブレットの初期化パラメータ」がわからなければサーブレットの基本を勉強しましょう。
スタックトレースの1行にはそれぞれクラス名、メソッド名、行番号が表示されています。どのような順序でメソッド呼出がおこなわれているかがわかりますので例外がどこで発生しているのかを突き止めることが出来ます。行番号がわかれば Apache から Struts のソースコードをダウンロードしてソースコードを見るわけです。
まずは例外を発生させる簡単なプログラムを作って読み方を勉強してみましょう。
わからないようでしたら焦点を明確にするため新しい質問として書き込んでみてはいかがでしょうか。
この回答への補足
yusukey様 アドバイスありがとうございました。
さっそく例外突き止める方法を勉強してみたいと思います。
ちなみにTomcatのバージョンとStrutsのバージョンは今使っているもので問題はないのでしょうか?
No.6
- 回答日時:
当初の問題は解決したということでしょうか?
いずれにせよ当初の問題とは独立した現象ではないかと思われます。
焦点を明確にするためにも別の質問として新しく投げてはいかがでしょうか。
参考になるかわかりませんがリアルタイムで似た問い合わせが進行しているようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …
yusukey様 ご回答ありがとうございました。
教えていただいた問合せに私も参加してみたいと思います。
たくさんのご指摘本当にありがとうございました。
No.5
- 回答日時:
今回の現象はJDKやTomcatのバージョンとは関係なく独立した問題でしょう。
Strutsがどういったサーブレットコンテナを必要とするかは以下のドキュメントに記載されています。
http://struts.apache.org/userGuide/installation. …
JDK のアップグレードを勧めたのは今回の問題とは直接関係ありませません。サポートが終了しているソフトはどのような場合にも利用はオススメしません。
この回答への補足
yusukey様 ご回答ありがとうございます。
Strutsの起動時に
致命的: null : Can't find file '/WEB-INF/tiles-defs.xml'
2005/08/31 11:07:14 org.apache.struts.tiles.TilesPlugin initDefinitionsFactory
となっていることがわかりましたのでここから解決していきたいと思います。
しかし、ファイルが見つかりません。といわれているのに、
'/WEB-INF/tiles-defs.xml'
は存在しています。
なぜ見つかりませんなどというエラーがかえってくるのでしょうか?
申し訳ありませんが、無知な私に教えていただけたら幸いです。
No.4
- 回答日時:
>ちなみにTomcatのバージョンとStrutsのバージョンは今使っているもので問題はないのでしょうか?
Tomcatのバージョンは書いてないのでちょっとわかりません。
可能であればもちろん最新バージョンを適用しておくのば無難でしょう。
Struts は1.2.7は最新バージョンのようですね。
気になるのはJDKのバージョンです。1.4.1はすでにリタイヤしていてサポートされていません。
http://java.sun.com/products/archive/j2se-eol.html
1.4.2か5.0にアップグレードすることをオススメします。
この回答への補足
yusukey様 ご回答ありがとうございます。
>Tomcatのバージョンは書いてないのでちょっとわかりません
Tomcatは 4.1を使用しています。
Tomcat4.1とStruts1.2で開発しても問題はないのでしょうか?
>1.4.2か5.0にアップグレードすることをオススメします。
このことがStrutsに影響しているのでしょうか?
ためしにアップグレードしてみます。
No.2
- 回答日時:
推奨されないうんぬんについては表示されているとおり、-deprecation オプションを指定してコンパイルすればどこを警告しているのか示してくれます。
メッセージが見つからない件については・・・なんでしょうね?
・見ているファイルが違っている(実行環境に正しくコピーされていない)
・前の行末に \(バックスラッシュまたは円マーク) が入っており行の先頭と認識されていない
といったところでしょうか?
最後の手段になりますが、スタックトレースから例外を発生している箇所を判断してソースコードを見るという手もあります。せっかくのオープンソース製品ですからね。
この回答への補足
yusukey様 アドバイスどうもありがとうございます。
>・前の行末に \(バックスラッシュまたは円マーク) が入っており行の先頭と認識されていない
の件に関しましては問題はなさそうです。
>・見ているファイルが違っている(実行環境に正しくコピーされていない)
につきまして気になっているのですが、
http://www.hellohiro.com/struts.htm
ではメッセージリソースファイル(ApplicationResources.properties)の編集
とありますが、ApplicationResources.propertiesが存在しなかったため作成しました。
MessageResources.propertiesというのはあったのですが・・・。
もう一つ気になっているのが、
(struts-config.xml)の編集
です。
追加という部分を追加しただけなのですが、私が編集したstruts-config.xmlには他の情報?もあります。
そこが影響しているのでしょうか・・・?
質問なのですが、
>スタックトレースから例外を発生している箇所を判断してソースコードを見るという手
というのはどのように行うのでしょうか?
お手数をおかけいたしますが、ご教授のほどよろしくお願いいたします。
No.1
- 回答日時:
ご指摘のコンパイル時のメッセージと、実行時の例外は無関係です。
コンパイル時の警告につきまして詳細はわかりませんが、実行時の例外はメッセージにあるとおり、特定のメッセージが存在しないことによるものです。
ApplicationResources.properties に sendMessage.title のキーのメッセージがあるかどうか確認してみましょう。
つまり、
sendMessage.title=
で始まる行があるかどうかです。
この回答への補足
yusukey様 早速の回答ありがとうございます。
>ApplicationResources.properties に sendMessage.title のキーのメッセージがあるかどうか確認してみましょう。
との指摘で確認したところ
「sendMessage.title=Struts\u3067Hello World」
と始まっています。
ちなみにコンパイルエラーで
SendMessageForm.java:44: 警告: org.apache.struts.action の org.apache.struts.act
ion.ActionError は推奨されません。
errors.add("name" , new ActionError("error.name.required"));
とあったので、ActionErrorをActionMessageに変更してみました。
警告メッセージは消えたのですが、やはりHTTP Status 500 -・・・
と同じエラーがかえってきます。
どこに原因があるのでしょうか?
教えてください。よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
- Excel(エクセル) エクセルの編集オプション セル移動 2 2022/04/02 09:19
- その他(ソフトウェア) 特定のpremiere proのファイルが開けなくなりました。 1 2022/11/16 12:31
- C言語・C++・C# condaコマンドに対応したプロキシ設定が思うようにならないようです。 2 2022/04/11 17:15
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Visual Basic(VBA) VBAで自動集計(特定セルコピー月ごとに値貼り付け)したい。 6 2023/06/25 11:37
- PDF ワードで作った文書のPDF化 5 2023/04/10 16:56
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javax.servlet は存在しません...
-
log4jについて
-
IIS環境でJAVAを使用したい
-
.jarファイルの中身って書き換...
-
macでjavaをはじめたいのですが...
-
javaコンパイル用バッチファイ...
-
javaの簡単なソースがコンパイ...
-
LaTeXでのアンダーバーの入力
-
コンパイルエラーに出てくる、i...
-
コンパイルができないのですが...
-
サクラエディタでjavaのプログ...
-
javaが文字コードの影響でコン...
-
eclipseの構文エラーについて
-
java サーブレットのサンプルプ...
-
Fortranで書かれたプログラムの...
-
exlipseでデバックエラーが発生...
-
JAVAでC/C++の条件コンパイルの...
-
【逆コンパイル】JadEclipseの...
-
パッケージ org.gjt.mm.mysqlは...
-
Eclipse3.5EEでJavaのコンパイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
javaが文字コードの影響でコン...
-
Eclipse3.5EEでJavaのコンパイ...
-
コンパイルエラーに出てくる、i...
-
javax.servlet は存在しません...
-
IIS環境でJAVAを使用したい
-
サクラエディタでjavaのプログ...
-
Javaのコンパイル結果が表示さ...
-
「識別子がクラス名でも名前空...
-
eclipseの設定のJREとコンパイ...
-
javaの簡単なソースがコンパイ...
-
eclipseの構文エラーについて
-
JAVAでC/C++の条件コンパイルの...
-
dokojavaのコンパイルについて
-
TeXで図を挿入できません.助け...
-
LaTeXでのアンダーバーの入力
-
Log4jのインストール
-
逆コンパイルの見方について
-
TOMCAT_HOMEって?
-
Javaについて教えてね。
おすすめ情報