- PR -

Null値が返ってしまうのですが・・

投稿者投稿内容
花瓶夫
ベテラン
会議室デビュー日: 2003/10/01
投稿数: 50
投稿日時: 2003-11-18 20:45
お世話様です。基本的な事なんですが、悩んでます。'10001'の番号を文字列として入力してサーブレットに渡しているのですが、どうしても、Null値が返ってきてしまいます。今までこのようなことは無かったのですが、どのような原因が考えられるのでしょうか?くだらない質問ですが、宜しくお願いします。

アプリケーションサーバ Tomcatです。
htmlの一部
<form method="post" action="eigyou/kokyakuKensakuServlet">
<imput type="text" name="kokyakuid" size="20" maxlength="5">

サーブレットの一部
String kenKokyakuid = request.getParameter("kokyakuid");
System.out.println(kenKokyakuid);
カルキヌキ
会議室デビュー日: 2003/09/22
投稿数: 16
投稿日時: 2003-11-18 23:12
×imput
○input
では?
toppo
ベテラン
会議室デビュー日: 2003/10/28
投稿数: 89
お住まい・勤務地: 東京・池袋
投稿日時: 2003-11-19 00:18
引用:

花瓶夫さんの書き込み (2003-11-18 20:45) より:
お世話様です。基本的な事なんですが、悩んでます。'10001'の番号を文字列として入力してサーブレットに渡しているのですが、どうしても、Null値が返ってきてしまいます。今までこのようなことは無かったのですが、どのような原因が考えられるのでしょうか?くだらない質問ですが、宜しくお願いします。

アプリケーションサーバ Tomcatです。
htmlの一部
<form method="post" action="eigyou/kokyakuKensakuServlet">
<imput type="text" name="kokyakuid" size="20" maxlength="5">

サーブレットの一部
String kenKokyakuid = request.getParameter("kokyakuid");
System.out.println(kenKokyakuid);




もう少し手がかりを下さい。

これだけだと予想する範囲が広すぎます。
</form>が欠けているとか。
サーブレットが違うとか。

確認として、
1.横取り丸等で通信内容を調べる。(入力内容が渡っているかどうか)
2.Servletのoutの前後にログを入れてみる。(期待しているServletに処理が渡されているか。)

とか、自分か確認したけど、ここがこんな風に思うようになっていないようだ。
のように書いてくれると、もしかしたら何か答えられるかもしれません。

私では無理かも知れませんが、ほかの方がなんとか。。
begood
ベテラン
会議室デビュー日: 2003/09/12
投稿数: 97
お住まい・勤務地: とうきょー
投稿日時: 2003-11-19 00:35
***.equals(kenKokyakuid)とかやったりしていませんよね・・・。

どこの文でnullPointerがでているか、print文を疑いのある部分においてみて、確認するのがひとつの手かと思われ・・・。
アティ
ベテラン
会議室デビュー日: 2003/08/14
投稿数: 91
お住まい・勤務地: KANAGAWA
投稿日時: 2003-11-19 08:20
引用:

begoodさんの書き込み (2003-11-19 00:35) より:
***.equals(kenKokyakuid)とかやったりしていませんよね・・・。

どこの文でnullPointerがでているか、print文を疑いのある部分においてみて、確認するのがひとつの手かと思われ・・・。



nullが返ってきているって言ってるので、nullpointerは関係ないと思いますが?
未記入
大ベテラン
会議室デビュー日: 2003/06/28
投稿数: 219
投稿日時: 2003-11-19 08:43
おはようございます。
> System.out.println(kenKokyakuid);
この出力結果はどのように確認されましたか?
当然ブラウザには反映されないと思うのですが・・・。
begood
ベテラン
会議室デビュー日: 2003/09/12
投稿数: 97
お住まい・勤務地: とうきょー
投稿日時: 2003-11-19 08:56
nullPointerと勘違いしてしまいました・・・。すいませんでした。
花瓶夫
ベテラン
会議室デビュー日: 2003/10/01
投稿数: 50
投稿日時: 2003-11-19 12:53
皆さま返答、大変感謝します。ServletとBeansの方はコンパイルエラーがでていないので、問題なのは、HTMLの方だと思われるのですが、いろいろとあやしい所を変更したりと試してみたのですが、未だ解決しません。Servletのパラメータを受けとる段階で、printを置いた結果がnullで出力されていましたので、やはり、htmlが問題と思うのですが、このソースコードに何かおかしい所がありましたら、ご指摘いただけたら幸いです。宜しくお願いします。

-:kokyakensaku.html

<html>
<head>
<title> 顧客検索</title>
</head>
<body>
<center>
<h2>顧客検索</2>
<form method="post" action="/eigyou/kokyakuKensakuServlet">
顧客ID : <input type="text" name="kokyakuid" size="20" maxlength="5" autocomplete="off">
<br><br><br>
<input type="submit" value="顧客情報検索" onclick="return confirm('この顧客IDでよろしいですか?');">
<input type="reset" value="リセット" ><br>
</form>
<a href="/eigyou/jsp/kokyakuMenu.jsp">顧客管理用画面に戻る</a>
</center>
</body>
</html>

-:kokyakuKensakuServlet

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

import mybeans.*;
public class kokyakuKensakuServlet extends HttpServlet{
public void doPost(HttpServletRequest request,   HttpServletResponse response)
throws IOException, ServletException{
  try{
System.out.println("kokyakukensakuServlet.javaはじまり");

//Servletコンテナと通信オブジェクト
ServletContext sc = getServletContext();
//セッションオブジェクト
HttpSession session = request.getSession(true);

//kaishaKensakuBeansのオブジェクトの生成
kokyakuKensakuBeans kkb = new kokyakuKensakuBeans();

         //エンコーディング
request.setCharacterEncoding("Shift_JIS");

//パラメータをフォームより取得
String kenkokyakuid = request.getParameter("kokyakuid");

//パラメータのチェック
System.out.println("kenkokyakuid");

request.setAttribute("kkb",kkb);


//顧客の検索メソッド
if(kkb.KennsakuID(kenkokyakuid) == true){
//リクエストスコープで保存 RequestDispatcher rd = sc.getRequestDispatcher("/jsp/kokyakuKensaku.jsp");
rd.forward(request,response);
}else{
RequestDispatcher rd = sc.getRequestDispatcher("/html/kokyakuKensakuError.html");
rd.forward(request,response);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}

スキルアップ/キャリアアップ(JOB@IT)