使用jspsmartupload上传文件抛出的java.lang.IllegalStateException异常

在使用jspsmartupload组件上传文件时,如果同时上传多个文件就会抛出该异常,在此做下记录
    <fieldset>
            <legend align="left">文件上传</legend>
            <p>作者:<input type="text" id="author" name="author" /></p>
            <p>出版社:<input type="text" id="press" name="press" /></p>
            <p>上传文件:<input type="file" name="filename" /></p>
            <p>上传文件:<input type="file" name="filename" /></p>  <!--  此处使用多文件上传会抛出异常java.lang.IllegalStateException: Cannot forward after response has been committed -->
            <P><input type="submit" value="点击上传" /></P>
            <!-- <input type="hidden" name="flag" value="upload" /> -->

        </fieldset>
public void upload(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
        //实例化JspSmartUpload组件中的SmartUpload对象  该类对象的作用是实现上传
        SmartUpload smartUpload = new SmartUpload();
        //对 smartUpload对象进行初始化
        smartUpload.initialize(this.getServletConfig(), request, response);
        try {
            //调用upload方法实现文件 该方法会抛出异常
            smartUpload.upload();  
            Request req = smartUpload.getRequest();
            String author = req.getParameter("author");
            String press = req.getParameter("press");
            System.out.println("author="+author);
            Files files = smartUpload.getFiles();
            for(int i=0;i<files.getCount();i++){
                // 返回 JspSmartUpload 组件中的File类,每一个file对象代表一条form表单的文件域
                File file = files.getFile(i);
                //获取上传文件的文件名
                String fileName = file.getFileName();
                //将上传的文件保存到指定的位置下
                file.saveAs(SAVEPATH+fileName);
                //向request作用域中存入信息
                request.setAttribute("author", author);
                request.setAttribute("press", press);
                request.setAttribute("msg", "文件上传成功!");
                request.setAttribute("savepath", SAVEPATH);
                request.getRequestDispatcher("success.jsp").forward(request, response);
            }
        } catch (SmartUploadException e) {
            e.printStackTrace();
        }

    }

异常提示:java.lang.IllegalStateException: Cannot forward after response has been committed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值