Create a simple HTTP server with Java?
This is how I would go about this:
- Start a
ServerSocket
listening (probably on port 80). - Once you get a connection request, accept and pass to another thread/process (this leaves your
ServerSocket
available to keep listening and accept other connections). - Parse the request text (specifically, the headers where you will see if it is a GET or POST, and the parameters passed.
- Answer with your own headers (
Content-Type
, etc.) and the HTML.
I find it useful to use Firebug (in Firefox) to see examples of headers. This is what you want to emulate.
Try this link: - Multithreaded Server in Java
Use Jetty. Here's the official example for embedding Jetty. (Here's an outdated tutorial.)
Jetty is pretty lightweight, but it does provide a servlet container, which may contradict your requirement against using an "application server".
You can embed the Jetty server into your application. Jetty allows EITHER embedded OR servlet container options.
Here is one more quick get started tutorial along with the source code.
The easiest is Simple there is a tutorial, no WEB-INF not Servlet API no dependencies. Just a simple lightweight HTTP server in a single JAR.