解決済み

JSP(HTML)~サーブレット~オラクルDBのデータの受け渡しについて

  • 困ってます
  • 質問No.972918
  • 閲覧数1514
  • ありがとう数3
  • 気になる数0
  • 回答数1
  • コメント数0

JSPにてコンボボックスがあるとします。そのコンボボックスで数字(1~10)を選択すると、その選択し送信した数字をサーブレットが受け取り、その数字に対するデータからオラクルDBに登録したり引っ張り出したりするとします。そこで質問なのですが、コンボボックスにてNULLをサーブレットに渡し、そのNULLをDBに入れたい場合、どのように書けば宜しいのでしょうか?私は以下のように現在書いています。
<JSP(HTML)>
<option value=null></option>
<option value="1">No.1</option>
<option value="2">No.2</option>
<option value="3">No.3</option>
<option value="4">No.4</option>
<option value="5">No.5</option>
<option value="6">No.6</option>
<option value="7">No.7</option>
<option value="8">No.8</option>
<option value="9">No.9</option>
<option value="10">No.10</option>
<サーブレットにて番号を受け取る>
Integer.parseInt(req.getParameter("NUMBER")),

ただ、これですと、NULLを選択してもサーブレットがString型と判断してしまい、型が違うというエラーが出てしまいます。私としては型とかは関係なく、NULL(からっぽ)ということをそのままDBへ渡してほしいだけなのですが・・・。
ちなみに、NUMBERはNOT NULL制約などはついておりません。ご助言を!!
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 65% (1332/2045)

う~ん・・・・。これ、サーブレットに渡るのは"null\0"という10バイトの文字列になるよなぁ? という事は? "null\0"はInterger.parseIntには渡せん。
 解決策としては、サーブレット側で、NUMBERパラメータを一旦文字列として取ってきて、「nullであるか調べ、そうならnullを保存する、そうでないならパース後の数字を保存する」という動作にしてやらんといかん。

#ところで、このサーブレット危険じゃないか? パラメータをintと期待した書き方をすると、悪意のあるユーザにNUMBER=999999999999やNUMBER=HOGEという様な不正なPOSTをされたら落ちるぞ。Webアプリケーションはこういう所に気を入れて作ってやらんとセキュリティホールになるので気をつけて。
お礼コメント
noname#15844

回答有難う御座いました。やはりNULLは一旦文字列で受け取らないといけないんですね~。参考になります。まだまだこの分野には初心者なもので、分からないことだらけなんですよ^^
投稿日時 - 2004-08-24 19:53:25
OKWAVE 20th Be MORE ありがとうをカタチに
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ