2016-06-15 29 views
2

私はファイルをアップロードする必要のあるJava WebAppを持っています。私は、インターネット上で見つけたものによると、ここで私が試したものです:HttpServletRequest#getPartは存在しませんか?

public class FileUploadController extends HttpServlet { 
    private final String UPLOAD_DIRECTORY = "C:/uploads"; 

    @Override 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     Part filePart = request.getPart("file"); 
    } 

しかし、IDEは、未定義のシンボルgetPart不満。そこで、私は先に進み、少なくともこのメソッドを得るためにサーブレットAPI 3.0が必要であることを発見しました。私のプロジェクトにはサーブレットAPI 2.5しかありませんでした。 pom.xmlファイルのAPIの必要バージョンを2.5から3.0-alpha-1(これは自動完成で提案されたもの)から変更し、プロジェクトをクリーンビルドしました。

しかし、このエラーはまだありません。getPartはありません。私は何か見落としてますか?

+0

注意'javax.servlet.http.HttpServletRequest'は実際に' getPart'メソッドを定義していないことに注意してください。私は今、非常に混乱しているように感じます。 – RichouHunter

答えて

2

Servlet APIの3.0バージョンの開発中にアーティファクトIDがjavax.servlet-apiに変更されました。バージョン3.0-alpha-1は非常に初期のプレリリースであり、まだgetPart(String)メソッドを持っていない可能性があります。

次の依存関係を使用し、サーブレットAPIの現在の3.0.xのリリースを取得するために:私は、「依存関係」フォルダ内と `サーブレットAPI-3.0-α-1と確認

​​
+0

さて、そのトリックをやって!どうもありがとう!私はなぜオートコンプリートがこれを表示していないのかわかりません、私はそれにあまり頼るべきではありません。私のジョーク:) – RichouHunter

関連する問題