post提交上传文件后变成了get提交

J2EE 码拜 9年前 (2015-07-18) 2435次浏览 0个评论

<form  enctype=”multipart/form-data” method=”post”>
</form>
我用form表单提交上传文件夹,上传文件之后里面有处理就是读取文件内容
将文件内容存储到数据库,现在问题是我上传文件成功保存到数据库,然后我再刷新浏览器,
居然变成了get提交的方式,我servlet是用get来处理这个请求了,问问大家有没有碰到过这种问题。

#2

不知道为啥会出现在这种情况。
10分

#3

刷新浏览器后再次上传文件出现的问题么?
10分

#4

刷新浏览器,就和你在地址栏敲一下回车是一样的。而不是你页面中的按钮事件(提交表单

#5

回复4楼:

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

10分

#6

没有遇到过类似问题啊
10分

#7

LZ,你对2个方法跟踪一下嘛

#8

回复7楼:

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

#10

后台处理代码看下。

#11

回复10楼:

<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();  
}

#12

回复10楼:

我是做上传的

#13

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

#14

回复13楼:

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

#15

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

#16

回复15楼:

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

#17

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

#18

回复8楼:

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

#19

楼主,我也遇到了 ajax 提交后 post 变get的问题。你找到解决方法了没有?

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明post提交上传文件后变成了get提交
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!