0

UploadCoupon.jsp画像のアップロード用に次のようなjspファイルがあります

<form:form commandName="uploadcoupon" enctype="multipart/form-data" method="POST">
    <form:input type="file" path="couponImage" class="file_1 required"/><br/>
    <form:errors path="couponImage" cssClass="error" style="color:red" /><br/>
    <input id="uploadCouponButton" type="submit" value="" class="form-submit" />
</form:form> 

Bean クラスはCoupon.java以下のようになります

public class Coupon {

    MultipartFile couponImage;

    public MultipartFile getCouponImage() {
        return couponImage;
    }

    public void setCouponImage(MultipartFile couponImage) {
        this.couponImage = couponImage;
    }

}

Dispatcher サーブレットには次のコードがあります

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>

コントローラーUploadCoupon.javaは以下の通り

public class UploadCoupon extends SimpleFormController
{

    public UploadCoupon()
    {
        setCommandClass(Coupon.class);
        setCommandName("uploadcoupon");
    }

    @Override
    protected ModelAndView onSubmit(HttpServletRequest request,
                                    HttpServletResponse response,
                                    Object command,
                                    BindException errors) throws Exception {

        try {

            Coupon coupon = (Coupon)command;

            MultipartFile multipartFile = coupon.getCouponImage();

            // image type of file processing...

        } catch (Exception e) {
             System.out.println("Exception -"+e.getMessage());
        }

        mv = new ModelAndView(new RedirectView("UploadCoupon.htm");
        return mv;

    }

}

このコードは、localhost の Glassfish サーバーにデプロイすると正常に動作しますが、Glassfish サーバーのリモート ホストにデプロイすると、multipartFile オブジェクトが null になり、NullPointerException が発生します。リモートホストにデプロイする際に何が問題なのか理解できませんか?

4

2 に答える 2

0

問題がどこにあるのか理解しています。画像を取得する前にhttpRequestオブジェクトを使用しないでください。私の場合、スプリングコントローラーを呼び出してHttpセッションをチェックする前に、フィルターでhttpRequestオブジェクトを使用していました。ファイルのアップロードの場合に備えてこのフィルターを削除し、コードが正常に機能するようになりました。

于 2013-06-24T12:32:30.547 に答える