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

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

ただいまの
回答率

88.64%

javaからのDB送信

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 470

tm46

score 13

formからの数値と文字をフォルダとDBに取得したいですがエラーが出てしまいDBにデータを格納できませんどうやればよいか教えてください。
/*
コンパイル方法:
c:\Tomcat 7.0\webapps\chat\WEB-INF> javac -cp .;lib\commons-fileupload-1.0.jar;"C
:\Tomcat 7.0\lib\servlet-api.jar" classes\FileUpload.java
*/
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
/*

  • 作成日: 2008/08/29, modified: 2018/11/29
    */
    /**
  • @author T.Akahane
    */
    public class FileUpload extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();

try{
DiskFileUpload fu = new DiskFileUpload();
if ( ! fu.isMultipartContent( request ) ) {
throw new ServletException("Not Suppoted Request: " + request.getContentType() );
}
//(最大アップロードファイルサイズ 1MB*20=20MB)100MBに変更 2017.10.30
fu.setSizeMax(1000000*100);
//(バッファの大きさ)
fu.setSizeThreshold(131072);
//(テンポラリファイルの置き場所)
fu.setRepositoryPath(System.getProperty("java.io.tmpdir"));

//リクエストをパース
List list = fu.parseRequest(request);
for (Iterator iter = list.iterator(); iter.hasNext(); ) {
//Itemの取得
FileItem item = (FileItem) iter.next();
String fldName = item.getFieldName();

//通常のフォームからのデータなら
if(item.isFormField()){
if(fldName.equals("Tname")){
byte[] b1 = item.get();
//out.println(Arrays.toString(b1));
String nickname = new String(b1, "UTF-8"); // 文字コード変換
out.print(nickname + "<br>");
}
if(fldName.equals("Tcon")){
byte[] b2 = item.get();
String message = new String(b2, "UTF-8");
out.print(message + "<br>");
}
if(fldName.equals("DaT")){
String date = item.getString();
out.print(date + "<br>");
}        

}
else if(fldName.equals("Tnum")){
int num = item.getInteger();
out.print(num + "<br>");
}
//ファイルなら
else{
//ファイル名(絶対パスからファイル名を抽出)
String fileName = new File(item.getName()).getName();
// modified by akahane 2008.11.12 ~,-の文字化け対策
fileName = fileName.replaceAll("~", "_");
fileName = fileName.replaceAll("-", "_");
fileName = fileName.replaceAll("&", "&"); // 2009.12.9 &のエスケープ

//保存するファイルパス
String pathName = getServletContext().getRealPath("doc");

//ファイルオブジェクト作成
File savePath = new File(pathName);
File saveFile = new File(savePath, fileName);
out.print(fileName + "<br>"); // ファイル名

// 同名のファイルが存在した場合
if(saveFile.exists()){
out.println("同名のファイルが存在するため、アップロードできませんでした。<br>");
out.println("戻るボタンで前のページに戻ってください。");
out.close();
}
else {
//ファイル書き出し
item.write(saveFile);
}

}
}
}catch(Exception e){
out.println(e);
}finally {
// 2013.4.17 IEで起こるアップロードエラーのため sendRedirect() -> forward() に変更
ServletContext application = getServletContext();
RequestDispatcher disp = application.getRequestDispatcher("/ue_.jsp");
disp.forward(request, response);
}
} // doPost method

} // class FileUpload

エラー
エラー: シンボルを見つけられません
int num = item.getInteger();
^
シンボル:   メソッド getInteger()
場所: タイプFileItemの変数 item

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正、ベストアンサー選択の依頼

  • yukkuri

    2018/11/29 18:37

    せめてこーどは```( {の左)で囲みましょう

    キャンセル

  • tm46

    2018/11/29 18:38

    有難うございます

    キャンセル

  • yukkuri

    2018/11/29 18:39

    編集できますのでしてください。

    キャンセル

回答 1

0

item(FileItem)にgetInteger() メソッドがないと言われてますね。

  int num = item.getInteger();


コード部分は<code>機能を使って見やすくしてくれたらと思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

関連した質問

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