- PR -

JSPとサーブレットでデータベース更新処理

投稿者投稿内容
DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2002-09-11 16:18
引用:

りょうちんさんの書き込み (2002-09-11 15:44) より:
ダンプを取ってみたのでそれも書いておきます。

java.lang.NullPointerException
at org.apache.jsp.kousin$jsp._jspService(kousin$jsp.java:104)



Tomcatであれば
$TOMCAT_HOME/work/ に
kousin$jsp.java
というような名前のファイルが出来ているはずです。
それの104行目にどんな処理があるか確認できますか?
りょうちん
ベテラン
会議室デビュー日: 2002/09/11
投稿数: 58
投稿日時: 2002-09-11 16:22
DaikiRyutoさんありがとうございます。

>それの104行目にどんな処理があるか確認できますか?

String str = new String(request.getParameter("inputName").getBytes("ISO_8859_1"), "Shift_JIS");

上記の様な処理が記述していました。
これはどういう意味なんですか?
DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2002-09-11 16:25
引用:

りょうちんさんの書き込み (2002-09-11 16:22) より:
DaikiRyutoさんありがとうございます。

>それの104行目にどんな処理があるか確認できますか?

String str = new String(request.getParameter("inputName").getBytes("ISO_8859_1"), "Shift_JIS");

上記の様な処理が記述していました。
これはどういう意味なんですか?



request.getParameter("inputName")
がnullになっていないでしょうか?
DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2002-09-11 16:28
引用:

DaikiRyutoさんの書き込み (2002-09-11 16:25) より:
引用:

りょうちんさんの書き込み (2002-09-11 16:22) より:
DaikiRyutoさんありがとうございます。

>それの104行目にどんな処理があるか確認できますか?

String str = new String(request.getParameter("inputName").getBytes("ISO_8859_1"), "Shift_JIS");

上記の様な処理が記述していました。
これはどういう意味なんですか?



request.getParameter("inputName")
がnullになっていないでしょうか?



えーとやや言葉足らずだったかもしれません。
jspファイルの50行目辺りに
<%

String str = new String(request.getParameter("inputName").getBytes("ISO_8859_1"), "Shift_JIS");

%>
という記述があると思いますが、ここのgetParameter("inputName")で値が取得できていないのではないでしょうか。
りょうちん
ベテラン
会議室デビュー日: 2002/09/11
投稿数: 58
投稿日時: 2002-09-11 16:32
___________________________________________
えーとやや言葉足らずだったかもしれません。
jspファイルの50行目辺りに
<%

String str = new String(request.getParameter("inputName").getBytes("ISO_8859_1"), "Shift_JIS");

%>
という記述があると思いますが、ここのgetParameter("inputName")で値が取得できていないのではないでしょうか。
___________________________________________

いえ、「System.out.println」で出力してみましたが、値は入っていました。。。


[ メッセージ編集済み 編集者: りょうちん 編集日時 2002-09-11 16:33 ]
DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2002-09-11 16:41
引用:

りょうちんさんの書き込み (2002-09-11 16:32) より:
___________________________________________
えーとやや言葉足らずだったかもしれません。
jspファイルの50行目辺りに
<%

String str = new String(request.getParameter("inputName").getBytes("ISO_8859_1"), "Shift_JIS");

%>
という記述があると思いますが、ここのgetParameter("inputName")で値が取得できていないのではないでしょうか。
___________________________________________

いえ、「System.out.println」で出力してみましたが、値は入っていました。。。


[ メッセージ編集済み 編集者: りょうちん 編集日時 2002-09-11 16:33 ]



そうですか。
ダンプからはこの行で例外が発生していると思われるので分解して試してみたらどうなるでしょうか。
たとえば(変数名はどうでもいいですが)、

String inputName = request.getParameter("inputName");
byte[] tmpByteAry = inputName.getBytes("ISO_8859_1");
String str = new String(tmpByteAry "Shift_JIS");

こんなふうにかえたらどこで例外が発生するでしょうか。
(場当たり的で申し訳ありません…)
りょうちん
ベテラン
会議室デビュー日: 2002/09/11
投稿数: 58
投稿日時: 2002-09-11 16:45
ありとうございます。一度今からやってみます。
しばらくお待ちください。
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-09-11 16:47
その前に、といっちゃなんですが、
parameter はくるかこないかわかんないので、

String str = request.getParameter("inputName");
if (if str!=null) {
str = new String(str.getBytes("ISO-8859-1"), "Shift_JIS");
} else {
// "inputName" が送られてこなかったときの処理
}

にしませう。

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