■質問日: |
2001/11/26 |
■最終更新日: |
2007/12/05 |
■質問内容: |
HTTPSでダウンロードを行えるようにするには? |
■回答内容: |
ServletBaseを継承したサーブレットのinitメソッドの中で、setCacheControlType(CacheControlType.CACHE_OK)を呼び出しキャッシュOKにしてください。 (※これはInteret Explorerのバグに対応するためです。この設定を行わないと ダウンロード時に「Internet Explorerでは~~をダウンロードできません。 このインターネットのサイトを開くことができませんでした。要求された サイトが使用できないか、または見つけることができません。後でやり直 してください。」と表示されます。詳細は下記のサイトをご覧ください。 http://support.microsoft.com/default.aspx?scid=kb;ja;436605&Product=ieJPN *** 2007.12.05 追記 *** http://support.microsoft.com/default.aspx?scid=kb;ja;812935 http://support.microsoft.com/kb/323308/ja/ といった情報もあります。 ) Enterprise版でHTTP Sessionを使用しない場合、上記に加え、serviceメソッドをオーバライドして、setSessionメソッドをコメントアウトしCookieを毎回発行しないようにする必要があります。 ※補足事項 ダウンロード時など特定のHtmlFormのみキャッシュをOFFにしたい場合は、 次のように対処することができます。 jp.co.tenartni.xsv.CacheControlTypeには、 次の3つのキャッシュコントロールタイプがあります。 A. CACHE_OK: ブラウザのキャッシュに関して何も処理しません。 B. CACHE_NO: ブラウザにキャッシュをさせないようにします。 C. CACHE_EACH_HTMLFORM: 各HtmlFormオブジェクトのNoCacheプロパティの設定に依存します。 つまり、Cに設定しておけば各HtmlForm毎に、キャッシュ設定が可能になります。 又、HtmlForm実装クラスを作成する際に、HtmlFormを直接継承せずに、 アプリ用のベースFormクラスを用意すれば、各HtmlFormオブジェクトの NoCacheプロパティの設定が簡単にできます。 |
■添付資料: |
なし |