You re right that this is unlikely to work well as a webapp - typically they do take requests as their input, and do some processing to produce HTML output. Not always, but that s certainly the general framework that they re normally used in, and I don t think your particular case would fit the model too well.
It sounds, however, like you want to provide a webapp interface in order to query the status of your application. This does sound valid.
Really it seems like there are two separate components here:
- The application itself, which doesn t really have anything to do with the web and should run as a "normal" application on the box, probably being run as a background daemon/service.
- The status querying functionality, which listens for HTTP requests and serves up a relatively simple response based on the state of the application.
Of course, the app would need to have some way of communicating its status, which is really the crux of your question. One very simple way that may be appropriate, is if the application logs what it s doing to flat files/a database, and your status-displaying webapp reads this information and forms its response out of it.
Another approach would be to have the application provide some web service functionality; i.e. listen on its own sockets and provide responses to anything that calls it programmatically. Then your webapp could just make these calls and format the received data. See, for example, this CXF tutorial; if you don t have complicated requirements, web services can be as simple as writing a normal Java method, annotating it and dropping a new JAR in your classpath.
Finally you may be able to make JMX work - this is the same technology behind JConsole, and lets you define your own managed beans that can be queried. If you ve already defined some MBeans for JConsole, this would be a natural step. See this document for examples of how to write a client that also accesses this data.
Just remember that the fundamental question is one of how to programatically access the status of a running daemon, and there are a lot of ways to do it; with the "best" one depending on many factors.