サーブレットでpartをインポートできない
問題
JSPからフォームで送られたCSVファイルを受け取って表示するアプリケーションを作成しているのですが、ファイルを受け取る処理を行うpartを実装できません。
言語:Java
開発環境:Eclipse2020_12
サーバー:Apache Tomcat v6.0
発生している問題・エラー
出ているエラーメッセージを入力
例)
NameError (uninitialized constant World)
該当するソースコード
package servlet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;//エラーはここで発生。エラ〜メッセージは
//以下の通り。
//インポートされた javax.servlet.http.Part は見つかりません
/**
* Servlet implementation class CsvImportServlet
*/
@WebServlet("/CsvImportServlet")
@MultipartConfig(location = "c:/temp")
public class CsvImportServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/p7/csvImport.jsp");
dispatcher.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// リクエストからファイル情報を取得
request.setCharacterEncoding("UTF-8");
Part part = request.getPart("file");
InputStream csvStream = part.getInputStream();
InputStreamReader fr = new InputStreamReader(csvStream);
BufferedReader bf = new BufferedReader(fr);
//内容を読み込み、画面に表示するためリクエストスコープセット
String line = null;
StringBuilder sb = new StringBuilder();
while((line = bf.readLine()) != null) {
sb.append(line + "<br>");
}
request.setAttribute("result", sb.toString());
// 結果画面へフォワード
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/p7/csvImport.jsp");
dispatcher.forward(request, response);
}
}
自分で試したこと
サーブレット系のインポートができない時によく抜けているとされる「servlet-api.jar」は最初から追加済みです。
0