I am developing an online exam using JSP/Servlets which is nearing completion. I'm planning to add timer function for the entire exam that shows elapsed time in minutes. How do I implement this with a fool-proof technique to implement this, because using javascript would mean that the user can turn off the feature in the browser. Any help on this would be highly appreciated.
I am developing an online exam using JSP/Servlets which is nearing completion. I'm planning to add timer function for the entire exam that shows elapsed time in minutes. How do I implement this with a fool-proof technique to implement this, because using javascript would mean that the user can turn off the feature in the browser. Any help on this would be highly appreciated.
Share Improve this question asked Nov 29, 2008 at 9:01 DonXDonX 16.4k22 gold badges77 silver badges120 bronze badges 1- 1 You can find a very good script here: codecanyon.net/item/online-skills-assessment/9379895 It is a good starting point for people looking to develop Online Exam System – Aspiring Developer Commented Nov 21, 2014 at 11:55
6 Answers
Reset to default 8Record the time that the user started and finished on the server. The user will have to press a button to indicate that they've started the exam, which can trigger the server to stamp the start time; when the final answer is submitted, the server can record the total time taken.
At Terracotta, we recently developed a reference web application for online exam-taking. We also implemented a client-side timer with Javascript and the code is open-source if you'd like to take a look.
The main page for the docs and live demo is http://reference.terracotta.org
The project source for the last release is here: http://svn.terracotta.org/svn/forge/projects/exam/tags/release-1.0.1/
The actual Javascript timer code is here. Hopefully that's enough pointers to go on.
Better You trace exam starting time and store it into server.In client side you can use the count down timer.If they disable the javascript it affects the timer running in client.
Server Side
Store the time elapsed in the users session.
Your pages can display the time remaining in javascript, People can mess with the javascript but they have no capability of messing with your timing logic always get the time remaining from server.
Current Time - Start Time on all answers etc
You can make javascript a requirement in the user's browser, and use javascript+AJAX - every minute, get the updated time from the server or make sure the times are synchronised.
The better way to manage timer is on client side instead of server side. What will happen if the network is very slow?
A guy with poor internet speed can not finish exam since your logic is on server side. You may look Skill Evaluation Lab exam software timer management and implement like this.