6

我正在使用 spring 框架、hibernate 和 tomcat 开发一个 Java 项目。

背景:我有一个表单页面,它获取数据、验证、处理数据,并最终使用 hibernate 持久化数据。在处理数据时,我会在使用休眠之前进行一些特殊的命令(模型)操作。

问题:由于某种原因,我的 onSubmit 方法被调用了两次,第一次通过事情被正确处理。但是第二次不是;并且不正确的信息被保留。

我还注意到,在其他页面上,这些页面只是从数据库中提取信息并显示在屏幕上;那里也发生了双重请求。

有什么配置错误吗,我没有正确使用弹簧..对此有任何帮助都会很棒!

附加信息:

该应用程序仍在开发中。在测试应用程序时,我遇到了这个问题。我正在使用该应用程序,因为我希望它会被使用(单击,有效数据等......)

4

3 回答 3

1

如果您在 IE 中进行测试,请注意在某些版本的 IE 中它有时会提交两个请求。您在哪些浏览器中测试应用程序?

如果单击处理程序与提交按钮相关联并调用 submit() 并且不返回 false 以取消事件气泡,则会出现 javascript 问题。

于 2008-10-28T21:42:46.810 回答
0

可能就像用户单击链接两次、在服务器仍在处理第一个请求时重新提交表单或在 POST ed 页面上点击刷新一样简单。

您是否在服务器端做任何事情来解决来自用户的重复请求,例如这些请求?

于 2008-10-28T18:27:31.120 回答
0

这是刚起步的人面临的一个非常普遍的问题。并且对应用生态系统不太确定。为了部署一个 spring 应用程序,我们构建了 war 文件。然后我们把它放在tomcat的'webapps'文件夹中。然后我们使用终端运行tomcat实例(我假设是linux系统)。现在,我们在那个终端中设置了 env。

当我们为 spring 应用程序设置环境时,问题就出现了,其中可以部署多个 war 文件。然后我们必须迎合这样一个事实,即 env 必须是特定的 war 文件所独有的。

为了实现这一点,我们可以做的是为每场战争创建专属的环境文件。(例如war_1.sh、war_2.sh、.....、war_n.sh)等等。

现在我们可以获取我们必须为其部署相应战争的特定 env 文件。通过这种方式,我们可以隔离多个战争(应用程序)及其环境。

于 2019-07-19T06:11:59.230 回答