我有一个统计数字的servlet程序,我想通过一个html接口来控制它。通过按下start按钮,程序必须开始运行;通过按pause按钮,必须暂停servlet程序;通过单击restart按钮,它必须重新启动。顺便说一句,我使用了线程。我的问题是,每次我应该单击一个按钮并将它的值发送给servlet时,当我在servlet中获取按钮值时,就会发生NullPointerException ...有什么帮助吗??
发布于 2012-08-01 02:49:02
我不会使用Thread来实现这个目的,而且通常在servlet中创建线程也不是一个好主意。
假设我们每毫秒计算一个数字,这意味着:它将以毫秒为单位给我一次单击和另一次单击之间的时间。
一种解决方法可能是:单击start =保存会话中的开始时间。单击stop =获取我们当前执行的计数the StartTime(保存在会话中)
现在,如果您确实必须使用Thread,那么一定要使用另一个类来创建它。一种建议是创建一个ThreadManager类并将其存储在会话中(为此使用侦听器),然后在会话对象中启动它。更好的做法是将ThreadManager存储在servletContext中,并且有一种方法可以在每个会话中创建线程。要创建线程,最好使用Executor类,而不是Thread类。此外,请确保您停止您的线程,因为我们在web容器中创建的线程可能会阻止它完全停止。
如果你提供一些代码,我可以进一步帮助你。祝你好运,玩得开心。
https://stackoverflow.com/questions/9916633
复制相似问题