JSP: novo Socket ("www", 80); parou de trabalhar depois de anos trabalhando OK

Em um aplicativo JSP, no Tomcat, o código a seguir usado para produzir o endereço inteiro da página (deesta resposta):

String myUrl = "no network";
try {
    Socket s = new Socket("www", 80);
    myUrl = "http://"+s.getLocalAddress().getHostAddress()+":"+request.getLocalPort()+request.getRequestURI();
    s.close();
} catch (Exception ex) {
} finally {
}

Depois dissomiUrl teria o seguinte valor (não o endereço IP real):http://111.101.101.2:8080/mypage.jsp

Trabalha há vários anos.

Uma semana atrásmiUrl começou a ter "nenhuma rede" como valor, indicando que uma exceção aconteceu.

Eu emitiex.printStackTrace() e diz:java.net.UnknownHostException: www

Criando uma meia com o literal"www" costumava trabalhar, agora de repente parou de funcionar.

Pergunta, questão:

Qual é a razão técnica pela qual funcionou durante anos?Qual é a razão técnica pela qual parou de funcionar de repente?Qual seria a melhor maneira de produzir programaticamente todo o endereço de qualquer página JSP, sem propensão a erros?

EDIT: É um aplicativo de compartilhamento de arquivos, executando na estação de trabalho dos usuários. Quero que os usuários possam copiar o endereço para compartilhar links com outras pessoas ehttp://localhost:8080/downloadpage.jsp (como mostrado no campo de endereço do navegador) não é bom para compartilhar. Seria bom se você me mostrasse como obter essa mesma informação sem o hack do soquete.

questionAnswers(2)

yourAnswerToTheQuestion