性格悪い人が優勝

今javaサーブレットとjspでツール作成中です。

DBにアクセスして、その内容をCSVファイルに書き出すというツールなのですが、サーブレットではjspにフォワードという処理と、ファイルに出力という処理の二つを同時に行うことができるのでしょうか。

たくさんの本やサイトにそれぞれ片方の処理だけする場合は載っているのですが、両方を並行して処理させる場合のサーブレットの書き方がわかりません。。

jspからの情報をもとにサーブレットでDAOを生成、DBにアクセスし、検索結果をDTO(一行の情報はBean)に格納し、それをサーブレットからjspにフォワード&CSV出力というものを作りたいと思っています。

よろしくお願いします。

A 回答 (2件)

そのCSVに出力というのは、サーバ側のディスクにファイル出力するのではなくて


クライアント端末にCSVファイルをダウンロードさせるということですよね?
サーバ側のディスクにファイル出力するだけなら、悩むことないですもんね。

つまり元の画面からダウンロードを指示する操作を行ったら
CSVがダウンロードされ、かつ画面も遷移する、みたいな動きをやりたいってことでしょうか?

であれば、HTTPで次画面HTMLの応答とCSVファイルの応答と2つの応答を、
2回のダウンロード支持操作の要求に対して同時に返すことはできないでしょう。
ダウンロード指示に対してはいったん次画面HTMLの応答を返し、
その<BODY>タグのonloadイベントとかで即CSVダウンロードの要求を投げ、
操作者には1アクションで両方やってるように見せかける、
みたいなせこい技を使うしかないように思います。
    • good
    • 0

ん? どこがわからないのかがよくわからない。

既にDAOの設計までできているなら、普通に「データベースアクセスした後、必要なデータを取得してセッションなどに保管し所定のJSPにフォワードする」というだけのことのように思うのだが。データベースアクセスと、フォワードの個々の処理はわかっているのなら、ただそれをつなげるだけのはず。一体、どの部分で、引っかかってるんだろうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!