0

これにアプローチする方法について、私はちょっと混乱しています。ユーザーがファイルを選択した直後に、ファイルをサーブレットにアップロードしています。次に、サーブレットはファイルを読み取り、フォームに入力します。アップロード部分に問題があります。うまくいけば、あなたがたどり、途中で問題を見つけることができるように、私が行ったことを段階的にリストします. 私はこのチュートリアルに従っています: http://docs.oracle.com/javaee/6/tutorial/doc/glraq.html

最初に、enctype="multipart/form-data" を ajax リクエストで設定する方法に取り組まなければなりませんでした。setRequestHeader を使用して修正できました。私のJSは次のようになりました:

$.ajax({  
            type: "POST",  
            url: "GenerateServlet",  
            data: "button="+filename,
            beforeSend: function(xhr) {xhr.setRequestHeader('Content-Type', 'multipart/form-data');},
            success: function(jsonResponse) {fillTemplate(jsonResponse);},
            error: function(jqXHR, textStatus, errorThrown) {alert(jqXHR+" - "+textStatus+" - "+errorThrown);}  
            });

さて、私はそれを解決しました。今、processRequest関数を作成しました。ただし、呼び出されていません。私の doPost メソッドが呼び出されたので、少なくとも私が行ったリクエストを実行していることがわかります。

ここから、サーブレットに何か不足しているのか、それとも ajax リクエストが間違っているのかわかりません。追加してみました:

@WebServlet(name = "FileUploadServlet", urlPatterns = {"/upload"})
@MultipartConfig

しかし、Eclipse はそれらのタイプを認識できませんでした。

誰が問題が何であるか知っていますか?

4

1 に答える 1

0

ファイルがアップロードされると、processRequest メソッドがサーブレットによって自動的に呼び出されると思っていました。私はアホです。

于 2013-08-02T15:13:22.947 に答える