我有一个用于计算数字的servlet程序,我想通过html接口控制它。 通过按下启动按钮,程序必须开始运行,按下暂停按钮,必须暂停servlet程序,单击重启按钮必须重新启动。顺便说一下我使用线程。我的问题是,每次我应该单击一个按钮并将其值发送到servlet,当我在servlet中获取按钮值时,会发生NullPointerException ...任何帮助?
答案 0 :(得分:0)
我不会为此目的使用Thread,并且通常在servlet中创建线程通常不是一个好主意。
假设我们每毫秒计算一个数字意味着:它会给我一次点击与另一次点击之间的时间,以毫秒为单位。
可以解决一个问题: 单击start =保存会话中的开始时间。 点击stop =获取我们的计数currentTime-StartTime(保存在会话中)
现在,如果你真的必须使用Threads,请确保使用另一个类创建它。 一个建议可能是创建一个ThreadManager类并将其存储在会话中(使用一个侦听器),然后在该会话对象中启动它。 甚至可以更好地将ThreadManager存储在servletContext中,并且可以为每个会话创建线程。 创建Threads有利于Executor类而不是Thread类。 还要确保停止线程,因为我们在Web容器中创建的线程可能会阻止它完全停止。
如果您提供一些代码,我可以进一步帮助您。 祝你好运,玩得开心。