2013-02-28 46 views
2

我正在jsp中进行测验评估系统。我想存储用户的响应温度(保存响应为他/她点击特定的单选按钮)。我如何存储这些回复.n什么是安全&易于使用?Jsp测验保存回复临时文件

在此先感谢:)

+0

会话?目前还不清楚你真的想做什么。 – 2013-02-28 12:37:31

+0

让我告诉你...我有30个盒子可以导航到30个问题。每当用户点击一个特定的box.via ajax调用用户从数据库中得到特定的问题。现在的问题是我想维护状态的单选按钮回答users.so我可以维护用户的答案... – user2119554 2013-02-28 16:04:42

回答

0

您可以使用本地cookie。使用html JavaScript。然后在你的头页中有一个函数(我希望你有一个头包含jsp或一个显示每个问题的主jsp)

无论哪种方式 - >每个页面上都会有通用的java脚本来保存,删除和获取cookie,然后初始化控件。

另一种方式是使用会话,但会增加服务器上的RAM使用量,但它更安全。但在这种情况下,当您只想保存多页表单的状态时,我会在客户端上使用cookie,然后在表单最终提交时销毁它们(Cookie的生命可以是此会话,并且您可以明确地将其删除最终提交)。

你需要cookie的代码吗?可以通过搜索来获得example

一旦用户导航回页面,该问题的cookie将告诉您要选择哪个单选按钮。选择一个特定的按钮search would help它的行: document.getElementById('q1ans1')。checked = false; document.getElementById('q1ans2')。checked = true;

如果你想有一个循环/数据驱动approcah可以使用Java脚本EVAL让每个单选按钮,像这样: OBJ1 =的eval( “Q” + questionNumber + “ANS” + ansLoop) obj1.checked = cookieValueWithDefault;

+0

感谢您的想法多一个选项是我可以使用ajax保存对应的无线电响应数据库...?是否需要更多时间Lan?我认为维护会话和Cookies会比将数据立即保存在数据库中更困难,然后如果用户修改他的答案,我们可以进行更新查询.....是否会起作用? – user2119554 2013-02-28 18:39:46

0

确定可以保持在分贝。将意味着很多数据库更新,但如果同时使用的用户数量不是很大,那么也可以。在后端使用ejb或其他txn mgt和db池。

优点是即使用户没有完成你的部分响应。

+0

我打算使用HashMap来存储响应,但问题是如何将这些Hashmap值(键/值)存储在Session或Cookie中?请帮助 – user2119554 2013-03-03 17:27:05

+0

可以将完整哈希映射存储为会话中的java对象。 – tgkprog 2013-03-04 12:38:00

+0

用于cookies将对其进行简化或命名约定,并将每个问题和每个答案存储在单独的cookie中。 – tgkprog 2013-03-04 12:39:00