用户刷新页面的重复提交数据问题及WEB-INF文件夹相关解析
2017-10-24 20:24
621 查看
问题:对于浏览器提示“您所查找的网页要使用已输入的信息。返回此页可能需要重复已进行的所有操作。是否要继续操作?”,很多程序猿做网页可能会遇到刷新页面时,浏览器刷新时提示上述文字。继续之后浏览器就会再次将上次的请求发送给页面,造成重新刷新页面时数据多次提交的问题
原因:首先分析服务器中使用的是request.getRequestDispatcher(url).forward(HttpServletRequest,HttpServletResponse);方法,导致url并未刷新,页面在服务器内部就完成了转发过程,导致多次访问访问此url,刷新url时重复提交数据。
解决方法:可以将原过程jsp-servlet-jsp,转变为jsp-servlet(通过response.sendRedirect(url))-servlet-jsp,在其中新建一个新的servlet,使用第一个servlet处理数据如session,然后重定向到第二个servlet,再转发到最后的jsp页面,(由于中间有一个重定向的过程,url会变成第二个servlet的访问URL,因此刷新不会重复提交数据)
扩展:可能有些小伙伴听到我上面的解释会好奇为什么这么麻烦要新加一个servlet,我也猜到你们心里可能想的就是使过程变为jsp-srvlert(-重定向)-jsp,因此我要给大家普及一下,在一个web项目中存放在web-root根目录下的jsp页面或者别的配置文件,可以通过浏览器输入相应的url直接访问下载,这是一个很危险的过程,很容易让有心人分析出网站中的一下相关数据,因此项目中jsp文件都是存放在web-root中WEB-INF中的,此文件夹中的文件不能通过浏览中输入相应的url获取到,可以通过src中的servlet文件转发跳转,因此比较安全,这就是为什么上面的过程为什么不用jsp-srvlert(-重定向)-jsp模式,因为根本通过浏览器输入URL是直接访问不到WEB-INF中的文件的!
如果各位小伙伴有什么更好的想法请告知我!谢谢大家了
原因:首先分析服务器中使用的是request.getRequestDispatcher(url).forward(HttpServletRequest,HttpServletResponse);方法,导致url并未刷新,页面在服务器内部就完成了转发过程,导致多次访问访问此url,刷新url时重复提交数据。
解决方法:可以将原过程jsp-servlet-jsp,转变为jsp-servlet(通过response.sendRedirect(url))-servlet-jsp,在其中新建一个新的servlet,使用第一个servlet处理数据如session,然后重定向到第二个servlet,再转发到最后的jsp页面,(由于中间有一个重定向的过程,url会变成第二个servlet的访问URL,因此刷新不会重复提交数据)
扩展:可能有些小伙伴听到我上面的解释会好奇为什么这么麻烦要新加一个servlet,我也猜到你们心里可能想的就是使过程变为jsp-srvlert(-重定向)-jsp,因此我要给大家普及一下,在一个web项目中存放在web-root根目录下的jsp页面或者别的配置文件,可以通过浏览器输入相应的url直接访问下载,这是一个很危险的过程,很容易让有心人分析出网站中的一下相关数据,因此项目中jsp文件都是存放在web-root中WEB-INF中的,此文件夹中的文件不能通过浏览中输入相应的url获取到,可以通过src中的servlet文件转发跳转,因此比较安全,这就是为什么上面的过程为什么不用jsp-srvlert(-重定向)-jsp模式,因为根本通过浏览器输入URL是直接访问不到WEB-INF中的文件的!
如果各位小伙伴有什么更好的想法请告知我!谢谢大家了
相关文章推荐
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- 关于刷新html页面,数据重复提交的问题
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- 解决后台提交表单数据时,重复F5刷新页面出现重复提交数据的问题。
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- 解决刷新页面造成的数据重复提交问题
- 网络充值支付过程游戏公司如何防止由于页面多次刷新导致重复提交数据导致多次充值的问题
- 解决刷新页面造成的数据重复提交问题
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- 关于WEB页面刷新重复提交问题 - Servlet篇(拦截器)
- easyui关于解决tab添加的页面通过href加载数据内容的页面刷新后form表单重复提交的问题;
- 如何防止刷新页面重复提交数据的问题
- 解决刷新页面造成的数据重复提交问题
- 解决刷新页面造成的数据重复提交问题
- 解决刷新页面造成的数据重复提交问题
- 解决刷新页面造成的数据重复提交问题
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- asp.net关于WEB端用户重复提交问题。禁用服务器控件按钮问题。
- .net 防止页面刷新重复提交(表单提交后保留上一次数据缓存,刷新提交)