In Java fai cosi':
String host = InetAddress.getLocalHost().getHostAddress();
oppure cosi':
String host = InetAddress.getLocalHost().getHostName();

Sotto windows funziona bene, purtroppo sotto linux getLocalHost() tende sempre a restituire l'interfaccia di loopback, in quel caso devi controllare tutte le interfacce di rete, recuperarne gli indirizzi ed escludere, appunto, quello di loopback.

In jsp non saprei.