電子書籍の厳選無料作品が豊富!

JAVAサーブレットで、わからないことがありお伺いいたします。
名前、タイトル、メッセージが入力されていないと、エラー画面になるように設定したと思っています。

ソースが3つあり、

(1)拡張子jspのソース
 ここでBBSの投稿フォームおよび投稿後のフォームの呼び出し

(2)拡張子javaのソース
 フォームから入力された内容の取得および「bean」へ登録

(3)拡張子javaのソース
 投稿内容の値の保持および取り出し
となっています。

(2)に
if(!isEmpty(name) && !isEmpty(subject) && !isEmpty(message) ){
// beanにフォームデータをセット

があるので下記を記述しました。

}else {ServletContext sc = getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("/error.jsp");
rd.forward(request, response); }

それでも、どれか一つを抜かして「投稿」ボタンを押しても、元の初期画面に戻ってしまいエラー画面が出ません。

記述の仕方がいけないのでしょうか。
宜しくお願い致します。

A 回答 (3件)

javax.servlet.http.HttpServlet


の親の
javax.servlet.GenericServlet

log(String msg)
が実装されていますので、
javax.servlet.http.HttpServlet
を継承していれば何もしないで
log("処理開始:引数hoge="+hoge);
のように使えます。

出力ファイルは…環境に環境によって違うでしょうが、
自分の場合は
Tomcat 4.1.31
で、examplesに試し用のサーブレットで試したら
[Tomcatのインストールディレクトリ]\logs
以下に
localhost_examples_log.2005-05-16.txt
というファイルで出力されていました。
ご参考までに…。


log4jについては
http://www.techscore.com/tech/Java/index.html#J2EE
を参考になさるといいとお思います。

参考URL:http://www.techscore.com/tech/Java/index.html#J2EE
    • good
    • 0
この回答へのお礼

遅くなり申し訳ありません。
お調べいただきありがとうございます。
log4jでログを確認したいと思います。

お礼日時:2005/05/23 09:35

ログですが、出せますよ。


サーブレットならHttpServletクラスを継承しているはずなので、
logメソッド
が実装されているはずです。
(…今手元にサーブレットのjavadocがないので「はず」で回答しています…。)

出力ファイルは…記憶があやふやですが、
Tomcatのインストールディレクトリの下にlogというディレクトリがあるので、そこに出力されたような…

それか、初期画面に表示しちゃうとか…。(^^;A

log4jというログ出力のパッケージがありますので、そちらを使ってみるのもいいかもしれません。
(log4jの使い方覚えないといけませんが…。)

とりあえずサーブレットのjavadocを調べてlogメソッドを使用するのが1番てっとり早いと思います。
    • good
    • 0

(2)のisEmpty()


がどういう判断をしているか?
name、subject、messageがどうなっているか?
ですね。
name,subject,messageがStringと仮定しますが、
nullだったらtrueを返すところ、実際には""(長さ0の文字列)が入っているためfalseを返していたりしませんか?

まずは問題の切り分けですね。
デバッガを使用しているのなら、ステップ実行などを行って、
if(!isEmpty(name)&&!isEmpty(subject)&&!isEmpty(message)){
 A
}else{
 B
}
Aに入っているのか、Bに入っているのか?
(デバッガがなければログを出力してみる)
isEmpty()で引数の値をログに出力してみるなどして、
どこにどういう値が入ってきて、どこを通っているか?
を探ってみるといいと思います。

念のためをいうと、
name,subject,message
の値を取得したところからログなどに出した方がいいかもしれませんね。

この回答への補足

お返事ありがどうございます。(だいぶ遅れてすみません。)
ログの出し方はどうすればいいのでしょうか?
今現在、j2sdkとTomcatしかインストールしていませんが、それでも出せますでしょうか?

補足日時:2005/05/15 14:17
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!