管理人のわかりにくいコードよりも、以下に説明されているのが、一番シンプルでわかりやすいかと思い、リンクを貼っておきます。
Qiitaのリンク : https://qiita.com/ohke/items/bec00a69d3f538aab06b
[ 説明・感想 ]
- アノテーションを使っているので、web.xmlの記述がなくすっきりしている (最近はこれが普通か)
- 送信用ページでのクライアントのファイル名が使われ、サーバー内の隠蔽されたパスに保存されてるが、実際は違う名前で、別に設定されたパスに保存されることが多いと思います。
- サーバー内である場合、再配備の時に消えてしまうので、永続的利用を前提とした場合、上 2) が現実的
- あくまで、説明用としてご紹介して下さってるサンプルに、けちつけるのは控えます。
- JSP側で、ファイルサイズの制限をJavascriptで設定するのが、大容量アップロードを未然回避する為、重要と思いますが、servlet3の maxFileSize で制御出来るので、二重防御、将来的Javascript仕様変更の影響を受けず無難。
- マルチファイルの場合は、request.getParts()で配列でとれるので、ループして保存出来ます。
|