JSP: новый сокет («www», 80); перестал работать после нескольких лет работы ОК
В приложении JSP в Tomcat следующий код используется для получения полного адреса страницы (изэтот ответ):
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 {
}
После этогоmiUrl
будет иметь следующее значение (не реальный IP-адрес):http://111.101.101.2:8080/mypage.jsp
Работает уже несколько лет.
Неделю назадmiUrl
начал иметь «нет сети» в качестве значения, указывая, что произошло исключение.
Я выпустилex.printStackTrace()
и говорит:java.net.UnknownHostException: www
Создание носка с буквальным"WWW" раньше работал, теперь внезапно перестал работать.
Вопрос:
Какая техническая причина, почему она работала годами?Какая техническая причина, почему она вдруг перестала работать?Каков был бы лучший способ программно создать полный адрес любой страницы JSP, который не подвержен ошибкам?РЕДАКТИРОВАТЬ: это приложение для обмена файлами, работающее на рабочей станции пользователей, я хочу, чтобы пользователи могли копировать адрес, чтобы делиться ссылками с другими, иhttp://localhost:8080/downloadpage.jsp
(как показано в поле адреса браузера) не подходит для обмена. Было бы полезно, если бы вы показали мне, как получить ту же самую информацию без взлома сокета.