• ベストアンサー

getParameterとgetInitParameterの違いについて

いつもお世話になっています。 現在HTMLファイルからServletを呼び出す処理を行っています。 Servletファイル側のdoPostメソッドのなかでよく記述してある HttpServletRequest.getparameter("パラメタ名")は HTMLファイルのFORMタグのなかにある情報を取得するものですが、 初期処理(initメソッド)でよく記述されている ServletConfig.getInitParameter("パラメタ名")は どこの情報を取得しようとしているものなのでしょうか? また public void doPost(HttpServletRequest request, HttpServletResponse response) という記述ではServletファイルが呼ばれた時に引数をrequestに取得しますが このときresponseの中身はNULLの状態なのでしょうか? responseの使い方がいまいちイメージできなくて。。 たくさん質問してすいません。 何かお気づきの方が居られましたら、ご教授ください。 宜しくお願いします。

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

  • ベストアンサー
  • covachan
  • ベストアンサー率38% (46/120)
回答No.1

>どこの情報を取得しようとしているものなのでしょうか?   web.xmlの中で設定されたパラメータの値を引き出します。 >このときresponseの中身はNULLの状態なのでしょうか?   response.setContentType("text/html; charset="+charset);   といったようなメソッドをすぐさま呼び出せるのでnullではありません。   もしnullであればNullPointerExceptionが発生するはずです。   普段プログラミングをしている中で少し考えてみればわかることです。 

takatoo
質問者

お礼

返信が大変遅くなり申し訳ございません。 ありがとうございます。 少し自分でも基礎の勉強が足りないと感じています。 ご回答ありがとうございます。

その他の回答 (1)

回答No.2

ServletConfig.getInitParameter("パラメタ名")は サーバ(実行環境)に設定している値を取り出します。データベースのサーバ側の設定情報などを読みます。これらは、Javaから、データベースに接続する際に必要なのですが、たまに、データベースの設定情報を変更したいときは、ソースコードを全部変更するより、サーバの設定ファイルを変更したほうが安全で確実なので、その様な仕組みになっています。 他にも、使用例はいろいろあるんですが。。思いつかないので。。 がんばってください。 >このときresponseの中身はNULLの状態なのでしょうか? 引数でもらう以上、意味があるからもらうわけで、NULLでは、ないと思います。responseは、サーバから、サーバにアクセスしたパソコンに対する返事を書きます。主に、httpヘッダの内容や、クッキーに関する情報を書きます。PrintWriterオブジェクトを取得するのもresponseオブジェクトです。

takatoo
質問者

お礼

返信が大変おそくなり申し訳ございません。 サーバー設定ファイルの存在にも気づいていませんでした。 もう少し基礎の勉強時間が必要のようです。 ご回答ありがとうございました。

関連するQ&A