【发布时间】:2015-02-13 22:35:50
【问题描述】:
我一直在使用 Spring MVC 测试一个 Web 应用程序,并且我目前正在为帐户开发一个编辑器页面。这个 JSP 页面能够编辑一个或多个帐户,用于不同的目的。例如,普通用户可以在此页面上编辑帐户数据。另一方面,管理员用户可以在此页面上编辑多个帐户。就逻辑而言(对我而言),管理员用户的多个帐户的版本是这样的:
- 用户选择一个帐户列表。
- 列表到达控制器。
- 控制器存储帐户列表。
- 控制器将用户引导至编辑页面。
- 用户填写编辑表单。
- 表单被发送到控制器。
- 控制器检索之前保存的帐户列表。
- 编辑表单数据会反映在记录列表中。
- 该列表已从存储中删除。
当用户不执行第 5 步并决定执行其他操作时,就会出现我的问题。如果不从存储中删除列表,服务器将遭受内存泄漏。检测用户退出非常重要,这会导致系统自动删除列表。
我选择将要编辑的帐户列表保存在服务器端,以防止它保存在用户端,用户很可能会篡改数据。
我可能会使用 JavaScript 来检测用户何时离开页面,但他/她可能会关闭 Javascript,这会导致同样的问题。因此,这是一个不切实际的解决方案。
我还没有开发它的实现,所以我现在只是在做计划。谁能帮我这个?难道我做错了什么? 我的逻辑是否有错误,还是我留下了一些有用的东西?
OBS:我正在使用 Tomcat 8.0 和 Spring MVC 4.1.1,以及 Java JDK 8。
【问题讨论】:
-
别管它,垃圾收集器最终会为你处理的。
-
您的数据保存在哪里,用户通常会选择多少数据?不建议在会话中存储大量数据 - 您应该只在会话中存储标识符列表,并在编辑时一次获取/持久化一个帐户。
标签: java spring spring-mvc tomcat servlets