2012-03-28 2 views
0

숫자 계산을위한 서블릿 프로그램이 있는데, html 인터페이스를 통해 제어하려고합니다. 시작 버튼을 누르면 프로그램이 실행을 시작해야하며 일시 중지 버튼을 누르면 서블릿 프로그램이 일시 중지되어야하며 다시 시작 버튼을 클릭하면 다시 시작해야합니다. 그런데 내가 쓰레드를 사용했다. 내 문제는 하나의 버튼을 클릭하여 서블릿에 값을 보낼 때마다, 그리고 서블릿 내부에서 버튼 값을 가져올 때 NullPointerException이 발생한다는 것입니다.Servlet getParameter

+0

코드가 없으면 도움을 줄 수 없습니다. –

답변

0

나는 그 목적을 위해 쓰레드를 사용하지 않을 것이고 일반적으로 서블릿에 쓰레드를 생성하는 것은 일반적으로 좋지 않습니다.

밀리 초당 하나의 숫자를 계산한다고하면 밀리 초 단위로 클릭하는 시간과 다른 시간 사이에 시간이 표시됩니다.

한 가지 해결 방법은 다음과 같습니다. 세션에서 시작 시간을 저장하십시오. stop =을 클릭하여 우리가하는 카운트를 얻습니다. currentTime-StartTime (세션에 저장 됨)

이제 정말로 쓰레드를 사용해야한다면 반드시 다른 클래스를 사용하여 생성하십시오. 제안 사항은 ThreadManager 클래스를 만들어 세션에 저장 한 다음 (이 경우 리스너 사용) 해당 세션 개체에서 시작할 수 있습니다. ThreadManager를 servletContext에 저장하는 것이 더 좋으며 세션 당 스레드를 만들 수있는 방법이 있습니다. 스레드를 생성하려면 스레드 클래스 대신 Executor 클래스를 사용하십시오. 또한 웹 컨테이너 내부에서 생성 된 스레드로 인해 스레드가 완전히 멈추지 않도록 스레드를 중지해야합니다.

몇 가지 코드를 제공하면 추가로 도움을받을 수 있습니다. 행운을 빈다, 재미있게 보내라.

+0

친애하는 Ed_Zero 님, 진실로 모든 문제에 대해 진심으로 감사 드리며 그 때 행운을 빕니다. 그 때 해결되기를 바랍니다. –