0

画像をパブリック フォルダーにアップロードするのに苦労しています。パブリック フォルダーは、Webapp フォルダー内の WEB-INF の兄弟です。

this.getClass().getResource("/images/16x16").toString()nullポインタ例外を返すような試み 。

画像フォルダーをリソースとして追加しました

    <mvc:resources mapping="/images/**" location="/public/images/" />

それを達成する方法はありますか?これを読んでくれてありがとう

4

1 に答える 1

3

まず第一に、webapp のフォルダーにアクセスしてファイルを書き込めると考えるべきではありません。アプリは war ファイルとして展開される可能性があり、アプリを再展開すると、アップロードされたすべてのファイルが失われます。アップロードしたファイルを別の場所に保存します。

次に、Class.getResource()クラスパスからリソースをロードします。ファイル システムまたは webapp のコンテキストからは読み込まれません。Class.getResource()は、WEB-INF/classes、WEB-INF/lib の jar の 1 つ、またはコンテナーのクラスパスの jar に格納されているリソースのみを検索します。

Web アプリケーションのコンテキストから何かをロードする必要がある場合 (この場合はすべきではありません)、ServletContext.getResource() (またはgetResourceAsStream())を使用します。

于 2012-02-08T14:05:18.047 に答える