解决方案 »

  1.   

    知道,首选我是通过post提交过来的,servlet里面是doPost的处理方式来做转发,一般刷新浏览器的话相当于是重复提交的吧,按道理还是servlet的doPost来处理,但是我现在刷新浏览器就是doGet方法来处理了,本来就是来处理解决重复提交的问题的。
      

  2.   

    我跟踪调试了啊,事实就是servlet里面两个不同的doPost和doGet来处理的
      

  3.   


    <form  enctype="multipart/form-data" action="<%=uriPath%>/wf_agent/import.do" method="post" id="file_form">
    </form>protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
                ServletFileUpload upload = new ServletFileUpload( factory ) ; 
            List<FileItem> items = upload.parseRequest(request); 
           Iterator<FileItem> itr = items.iterator();  
    }
      

  4.   

    这个看不出什么问题,你在debug下观察,看刷新后是如何响应的
      

  5.   

    我提交后是doPost处理,因为我doPost处理后是做了转发,所以浏览器的链接地址还没变,
    然后我就刷新浏览器,然后就是servlet的doGet来处理请求了。
      

  6.   

    lz没必要纠结这个问题了。。你上传玩文件后自己写代码将页面刷新掉。。就ok了。
      

  7.   

    但是我要返回东西啊,我不想把那东西保存在Session里面。
      

  8.   

    你上传也是form提交的吧。。在返回这个上传页面的时候将你的一些标志放在隐藏域里面(针对你要返回的比较少,一般来说上传完了返回到页面的信息应该不多吧)
      

  9.   

    我跟踪调试了啊,事实就是servlet里面两个不同的doPost和doGet来处理的LZ,我想说的是:你用doPost做出来,里面在转发。采用的是post方式,当你刷新时候,就变成了get。我说的跟踪就是对于我们初级程序员来说最笨的方法,看后台刷新是如何跳进doGet里的,debug一步一步测试嘛。