- ベストアンサー
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の使い方がいまいちイメージできなくて。。 たくさん質問してすいません。 何かお気づきの方が居られましたら、ご教授ください。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>どこの情報を取得しようとしているものなのでしょうか? web.xmlの中で設定されたパラメータの値を引き出します。 >このときresponseの中身はNULLの状態なのでしょうか? response.setContentType("text/html; charset="+charset); といったようなメソッドをすぐさま呼び出せるのでnullではありません。 もしnullであればNullPointerExceptionが発生するはずです。 普段プログラミングをしている中で少し考えてみればわかることです。
その他の回答 (1)
- kamkamkam3
- ベストアンサー率42% (216/514)
ServletConfig.getInitParameter("パラメタ名")は サーバ(実行環境)に設定している値を取り出します。データベースのサーバ側の設定情報などを読みます。これらは、Javaから、データベースに接続する際に必要なのですが、たまに、データベースの設定情報を変更したいときは、ソースコードを全部変更するより、サーバの設定ファイルを変更したほうが安全で確実なので、その様な仕組みになっています。 他にも、使用例はいろいろあるんですが。。思いつかないので。。 がんばってください。 >このときresponseの中身はNULLの状態なのでしょうか? 引数でもらう以上、意味があるからもらうわけで、NULLでは、ないと思います。responseは、サーバから、サーバにアクセスしたパソコンに対する返事を書きます。主に、httpヘッダの内容や、クッキーに関する情報を書きます。PrintWriterオブジェクトを取得するのもresponseオブジェクトです。
お礼
返信が大変おそくなり申し訳ございません。 サーバー設定ファイルの存在にも気づいていませんでした。 もう少し基礎の勉強時間が必要のようです。 ご回答ありがとうございました。
お礼
返信が大変遅くなり申し訳ございません。 ありがとうございます。 少し自分でも基礎の勉強が足りないと感じています。 ご回答ありがとうございます。