- - PR -
getRequestDispatcher("パス")がよくわかりません。
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-08-13 10:37
駄目でしたとは? 通常のエラーとしては「404 Not Found」か「500 Internal Server Error」 のどちらかだとは思いますが、それによって対処も異なります。 まずは、「駄目でした」だけではどのような状態になっているのかわからないので、そのあたりの説明をもう少し詳しくした方が良いですよ。
amnakyさんが書かれているように System.out.println(getServletContext().getRealPath("仮想パス")); でもいいし、 サーブレットの出力ストリームを使って、 PrintWriter out = response.getWriter(); out.print(getServletContext().getRealPath("仮想パス")); とやればブラウザにも出力されます。 | ||||||||
|
投稿日時: 2003-08-13 17:25
[/quote]
とありますが、 [http://localhost:8080/first/jsp/test01.html] では見れていますか? 上記で見れなかったです。確認した所test1.htmlになっていました。 小さなミスですが、本当にみなさんお騒がせしました。 米山@クロノスさん、エラーの方は説明不足でしたね。 これから気をつけます。 みなさん有難う御座いました。 | ||||||||
|
投稿日時: 2003-08-14 11:35
みなさんお世話になっています。
またまた、質問です。 現在やってる事はスレッド名「ServletからJSPにパラメータを渡す方法について」 と同じ事なんですが、login.htmlファイル→サーブレット→login.JSPでエラーメッセージを出力 しています。 サーブレットでおくる //JSPファイルにパラメータを送る為の準備 request.setAttribute("error_message","パスワードが正しくありません"); //JSPファイルに取得した文字列を渡す sc.getRequestDispatcher("/jsp/login.jsp").forward(request,response); JSPで受け取る //エラーメッセージを出力 String message = request.getAttribute("error_message").toString(); //初アクセスか判定 if(message != null){ out.println(message); } htmlファイル→サーブレット→JSPではうまく行っています。 それをlogin.JSP→サーブレット→login.JSP (login.jspは同じソース) でしたいのですが上記のソースではうまくいきません。 login.JSPを直接ブラウザでアクセスすると Error: 500 内部のサーブレットのエラー: が出力されます。 解決法としてサーブレット側でgetRequestDispatcher("/login.jsp?xxx=xxx")で発行 jspでgetParameterにするしか解決方法はないのでしょうか? | ||||||||
|
投稿日時: 2003-08-14 12:38
こんにちは。わらびです。
>JSPで受け取る >//エラーメッセージを出力 >String message = request.getAttribute("error_message").toString(); 最初に、ここでNullPointerExceptionで死んでるんでしょう。 getParameter云々は関係ありません。 | ||||||||
|
投稿日時: 2003-08-14 15:09
わらびさんレス有難う御座います。
String message = request.getAttribute("error_message").toString で何か文字列がとれないとエラーになると言うことでしょうか? 上記ができないようでしたらサーブレットからURL?XXX=XXXでメッセージを飛ばしてJSP側で getParameterを利用してとるようにします。 | ||||||||
|
投稿日時: 2003-08-14 15:41
takaさんの書き込み (2003-08-14 15:09) より:
>String message = request.getAttribute("error_message").toString で何か文字列がとれないとエラーになると言うことでしょうか? なぜエラーになるのかわかっていますか? 見た限りでは、 String message = (String)request.getAttribute("error_message"); に変更すれば動くのではないかと思いますが。 | ||||||||
|
投稿日時: 2003-08-14 16:13
ukさんレスありがとうです。
なぜ、エラーになるのかよくわかりません。 JAVAははじめてで勉強中です。よく分かっていませんが 一ヶ月でグループウェアを完成させないといけないので 機能を寄せ集めてやってる感じです。 覚えてから開発したいのですが、そうはいかない所が辛いです。 | ||||||||
|
投稿日時: 2003-08-14 21:43
困ったときは、ログを活用しましょう。
TOMCAT_HOME/logs/の中に有効な情報がはいっています。 catalina.out はコンソール表示でstarckTraceしているならデバッグに有効でしょう。 hostname_log~~.txt の情報もデバッグに重宝すると思います。 その中で taka さんがつくったサーブレットやJSPの エラーライン番号が 表示されると思いますので、そのあたりを徹底的につぶしていってください。 何事もやっつけ仕事では後が苦しくなるとオモイマスヨ。 | ||||||||
