- ベストアンサー
ServletOutputStreamについて
Harry_の回答
JSP だと、スクリプトレット以外の部分が、 空白行なども含めて、自動的に out.print() に変換されてしまっているんじゃないですか。 work ディレクトリ(TOMCATの場合)などにある、 JSP から自動生成されたサーブレットのコードなどを 確認してみてはどうでしょう。 もしそうなら、JSP ではなくサーブレットで 実装すべきです。 もうひとつ、PDFファイルはテキストとして開いても、 そこそこ読めるので、ダウンロードしたファイルが 元のファイルとどう異なるかを比較するのもよいかと 思います。
関連するQ&A
- サーブレットでのファイルダウンロードについて
サーブレットでファイルのダウンロードを 行うプログラムを作成しているのですが ときどきダウンロードするファイルが切れている 場合があります。 なので実際のファイルとダウンロード時のファイル の違いがあった場合はJSPでalert表示を行いたい のですが、うまく実行できません。 処理としては response.setHeader(......) response.setContentType(......) 等の設定を行い ダウンロードするファイルのInputStream を作成、OutputStreamにgetOutputStream() を取得してwriteしています。 上記のwriteする時に件数をカウントして このサーブレットの呼び元のjspに返却したい のですが、取得ができません。 何か参考になるサイトなどないでしょうか? よろしくお願いします。
- ベストアンサー
- Java
- 静的ページからのサーブレット起動について
今、JSPとサーブレットの勉強を行っております。 サーブレット側でデータを取得して JSP側で表示を行いたいと思っているのですが フォームアクション等を行わずに、JSP⇒サーブレット⇒JSPと 実施する事は可能でしょうか? URLアクセス ⇒ JSPからサーブレットの処理を呼び出し ⇒ サーブレットから クラスを利用してデータを取得 ⇒ JSPへデータを渡して表示 というように、URLアクセスのみで一連の処理を行いたいです。 サーブレットからJSPにセッション経由でデータを渡して表示する事や JSPからクラスを利用する方法では成功していますが できるだけMVCモデルに準拠した方法で行いたく思っており かつ、コントローラとしてサーブレットを使ってみたくて このような事に挑戦しております。 可能かどうかだけでもわかると非常に有難いですので ご存知の方、どうかよろしくお願い致します。
- ベストアンサー
- Java
- ServletからXMLを読み込む方法
こんにちわ。 JSPからGETで受け取ったデータと、ローカルXMLファイルのデータの画面表示をサーブレットを使って行いたいと思っています。 このとき、XMLファイルからのデータ取得方法が分かりません。 普通のJavaであればDOMとしてXMLを操作したことがあるのですが、サーブレットの場合、違ってくるのでしょうか。 簡単な例等を教えていただけると嬉しいです。 お手数ですが、お分かりになる方、どうぞご教授くださいませ。
- 締切済み
- Java
- 配列をセッションに割り当てた後で
javaBeanでDBにアクセスして、取得した値を配列に格納します。その配列をサーブレット側でgetメソッド使って取得し、セッションに割り当てます。その後、JSP側でセッションを通して配列の各要素を取り出し表示させたいのですが<%= session.getAttribute("Date") %>←(Dateが配列)では配列の各要素ではなく配列そのものが取り出されるのか、 [Ljava.lang.String;@737371 のような文字が表示されてしまいます。 セッションで割り当てられた配列の各要素の値の取得のやり方がわかる方どうかご教授お願いします。
- ベストアンサー
- Java
- サーバー上のフォルダ情報の取得
サーバー上の特定のフォルダ内にある全ファイル名を取得するサーブレット(JSP、アプレット、javaScript)を作成したいのですが、ファイル名を取得する方法がわかりません。 こういった機能をサポートしているクラス(パッケージ)があれば教えてください。
- 締切済み
- Java
- テキストBOXから取得した文字コードの扱いについて
JSPで記述したページのテキストBOXに入力されたSJIS形式の日本語文字データをサーブレットに送信してそれを取得して、文字のエンコードを行う際に気がついたのですが String text = request.getParameter("text"); byte[] bytes =text.getBytes("ISO8859_1"); text=new String(bytes, "SJIS"); のようにすればサーブレットで扱う時に正しく日本語表示できるのですが String text = request.getParameter("text"); byte[] bytes =text.getBytes("SJIS"); text=new String(bytes, "SJIS"); とすると正しく表示されません。 text.getBytes("SJIS");で取得格納されるbyteのデータに違いがあるようです。この場合取得されるbyteの配列は3つになっています。 ISO8859_1で取得するとbyte配列は2つになっています。このISO8859_1のbyte配列のデータと同じ中身のものを単にString(byteデータ,文字コード)のコンストラクタに入れるとSJISの文字コードで正しく変換出来ています。 要するにもともとSJISの文字データをgetByte("SJIS")で変換したものがなんで、もとに戻せないのかということです。また、違う文字コードのISO8859_1ではSJISに対応したbyteの配列になるのかということです。 ひどい乱文ですみませんが、よろしくお願いします。
- 締切済み
- Java
- JSP URLに表示される拡張子 .jsp
Servlet、JSPの開発を行っているのですが・・・ ページを表示する際のアドレスに「http://hogehoge/test.jsp」とJSPの拡張子が表示されると思うんですが、この拡張子を表示させずにアクセスする方法はあるでしょうか? サーバー:Apache 2.2.3 Tomcat:Apache Tomcat 5 OS:CentOS 5 自分で考えた方法 ・ApacheのProxy設定でJSPファイル一つずつ設定していく ・JSPファイルへのアクセスに対してもサーブレットを介して、dispacher.forward(request, response)を使う。 ※forwardだったらサーブレットのアドレスのままになったので。 どちらも結構面倒なんですが・・・他に方法はあるでしょうか?
- ベストアンサー
- Java
- サーブレットとJSPの連携
サーブレットで定義された文字列をJSPに渡して表示させるようにしたいのですが、 サーブレットからJSPへのデータの渡し方がよくわかりません。 参考書やWEBカンファレンスなどのサンプルを見るとすべてサーブレット、Beans、JSPの連携ばかりです。 そもそもサーブレットとJSPだけのWEBアプリケーションは作れないのでしょうか? もしくは、Beansを使用したほうが何かと効率がいいからなのでしょうか? どなたか是非教えてください。
- ベストアンサー
- Java
お礼
返事が遅れまして、すいません。 質問の内容がまずかったです。 実装しているのはサーブレットです。 で、この問題ですが、close()とflush()がどうもまずいようでした。 実は、このクローズした後に、まだサーブレットの処理が続いているため、イリーガルエクセプションが発生し、ファイルが壊れてしまったようです。 とりあえず、対処としてはデータをリクエストにセットして、ディスパッチのサーブレットで、改めてストリームでダウンロードするようにしました。