Dalla discussione linkata: Since Java 1.6, there's a builtin HTTP server in Sun Oracle JDK (note: JDK, not JRE). The com.sun.net.httpserver package summary
Vuoi provare direttamente, al livello più basso, con i socket? Ok, ma allora devi comprendere come funziona HTTP .... i "form" arrivano poi dopo.
Se non l'hai già letto, inizia dal tutorial ufficiale: Trail: Custom Networking (The Java™ Tutorials)