質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.90%

DBからデータを抽出してテキストファイルに吐き出す。(JAVA、Mysql)404エラー

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 6,185

score 18

DBが下記のようなものからデータを抽出して
csvファイルに吐き出すプログラムを下記の通り
作成しましたが404エラーとなります。
エラーのメッセージは下記の通りです。
何か解決策ないでしょうか?

DB sample
table sales
カラム No int、Date date,CD int
(環境)
Mysql
Eclipse
JDK1.8.0_45
Tomcat 6.0
(エラーログ)
6 25, 2016 9:29:01 午前 org.apache.catalina.core.AprLifecycleListener init
情報: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.8.0_45\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_65/bin/client;C:/Program Files/Java/jre1.8.0_65/bin;C:/Program Files/Java/jre1.8.0_65/lib/i386;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Java\jdk1.8.0_45\bin;C:\TMJF\maven3\apache-maven-3.0.3\bin;C:\Program Files\QuickTime\QTSystem\;C:\eclipse\eclipse-jee-luna-SR2-win32\eclipse;c:\Program Files\Microsoft SQL Server\110\Tools\Binn\;c:\Program Files\Microsoft SQL Server\110\DTS\Binn\;c:\Program Files\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;C:\Program Files\MySQL\MySQL Server 5.1\bin;C:\Program Files\apache-maven-3.0.3\bin;C:\Program Files\apache-ant-1.8.0\bin;C:\Program Files\MySQL\bin;C:\Mysql\bin;C:\eclipse\eclipse;;.
6 25, 2016 9:29:02 午前 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:dbPrj' did not find a matching property.
6 25, 2016 9:29:02 午前 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1を http-8080 で初期化します
6 25, 2016 9:29:02 午前 org.apache.catalina.startup.Catalina load

6 25, 2016 9:29:02 午前 org.apache.catalina.startup.Catalina start
情報: Server startup in 386 ms
//(Csv.javaのソース)
import java.io.*;
import java.util.*;
import java.sql.*;

public class Csv {

public Csv() {
super();
}

public static void main(java.lang.String[] args) {
try {
Csv dbWriter = new Csv();

dbWriter.createCSV("c:\\work\\test.txt", "");
} catch (Exception e) {

System.out.println("エラーです");
e.printStackTrace();
}
}

protected void createCSV(String fileName, String sql) throws Exception {

Vector datas = new Vector(); 

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/sample", "root", "root");

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from sales inner join customer ON sales.OrderNo = customer.OrderNo");

File file = new File(fileName);
FileWriter fw = new FileWriter(file);

ResultSetMetaData meta = rs.getMetaData();
int cnt = meta.getColumnCount();
for (int i = 1; i <= cnt; i++) {
String colName = meta.getColumnName(i);
datas.add(colName);
}

writeData(fw, datas);

while (rs.next()) {
for (int i = 1; i <= cnt; i++) {
String data = rs.getString(i);
datas.add(data);
}

writeData(fw, datas);
}
fw.close();
}

protected void writeData(FileWriter fw, Vector datas) throws IOException {

String buf = ""; 

if (datas != null && !datas.isEmpty()) {
for (int i = 0; i < datas.size(); i++) {
if (i > 0) {
buf += ",";
}
buf += (String) datas.get(i);
}
buf += "\n";
fw.write(buf);
datas.clear();
}
}

}

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

JavaクラスをWebアプリケーションで呼び出すには、ブラウザからのリクエストを受けるサーブレットが必須で、Webアプリケーションの中に含めなければなりません。なお、Webアプリケーションはmainメソッドが呼ばれることはありません。
書かれているCsv.javaはWebアプリケーションの中に含めてありますでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.90%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る