検索
連載

データベースの内容をCSV形式でダウンロードするJavaTips 〜JSP/サーブレット編

Share
Tweet
LINE
Hatena

 昨今では、データベースサーバに格納されているデータをHTML形式で出力し、ブラウザで参照するというシステムが一般的です。しかし、このようなHTML形式によるデータ出力は、データの閲覧には適していますが、再利用には不向きです。出力されたデータに対して何らかの加工や分析が必要な場合でも、HTMLファイルのままでは容易ではないからです。

 その点、CSV(Comma Separated Value:カンマ区切りテキスト)形式のデータなら、データベースへ取り込んで、容易に加工や分析を行うことができます。そこで、本稿ではデータベースから抽出したデータをCSV形式に整形し、クライアントからダウンロードできるようにする方法を紹介します。

 以下は、リクエストされたデータをデータベースサーバから取得し、CSV形式に整形するプログラムです。

Db2Csv.java

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***


 出力がHTMLではなく、ダウンロード用のデータであることを示しているのは、赤字の部分です。この2行の記述によって、クライアントは出力がダウンロード用のデータであることを認識し、デフォルトのファイル名を「db.csv」とします。もちろん、デフォルトのファイル名は自由に変更できます。

 なお、サーブレットクラスの動作にはデプロイメント・ディスクリプタ(web.xml)への登録が必要です。以下は、Tomcat 5におけるweb.xmlの記述例です。

web.xml

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***


 この設定により、サーブレットクラス「Db2Csv」を以下のURLでリクエストできるようになります(ここでは、アプリケーション名を「javatips」としています)。

・http://localhost:8080/javatips/db.csv

 url-pattern要素を工夫すれば、あたかも静的なCSVファイルにアクセスしているようにクライアントの側に見せることも可能となります。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る