开发者

How to shutdown local tomcat server when closing browser window?

I hava a web app running on a local tomcat server.

When the user starts the app (via desktop shortcut) the server starts and the app is opened in a browser window. But when the user just clicks on the close button to stop the application the server is still running in the background - that's 开发者_StackOverflow社区annoying.

I tried to utilize the "unonload" and "onbeforeunload" events from javascript but unfortunately these events are also fired on some other requests in the app. So I can't use them, except I do a lot of refactoring.

Does anyone have an idea for a possible solution?

Btw, what I find interesting is the behaviour of Visual Studio when debugging a web application. When I close the browser window Visual Studio also gets a trigger to stop debug mode. So it seems it somehow notices the close event of the browser window, which would be exactly what I need. But I don't know how they do it...


Can you wrap the starting of Tomcat and launching your app in a batch file or shell script? (Not sure what your target OS is...)

The script/batch file would start Tomcat and then launch your application. When the user exits your application, the script/batch file would then shut down Tomcat.


You can setup a short session timeout, and use a HttpSessionListener. On sessionDestroyed(..) you can stop tomcat (using catalina.bat for example) .

Otherwise you can try to detect browser close, and send a shutdown message to the server using ajax (before the browser is closed).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜