What I am trying to do is to run a simple Servlet from a java class.
Actually I have a Servlet1 that is started from an html code through a post action. That servlet outputs some other html page but also calls a Java class. What I try to do now is to start a Servlet2 that outputs html code from that java class. I did:
URL url = new URL("http://localhost:8080/WebApplication/Servlet2");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
but the servlet2 is not opened in the browser even though i output in the proccessRequest method some html code.
Isn't the Servlet2 getting a request? Where i'm going wrong or what i'm missing?
Kind regards, Adriana
Ваш вопрос расплывчатый и двусмысленный, а функциональное требование неясно, поэтому я не могу дать подробный ответ, как выполнить конкретное функциональное требование.
Но, по крайней мере, следующая фраза немного странная:
но сервлет2 не открывается в браузере
Этот конкретный код никоим образом не откроет указанный URL в каком-то веб-браузере . Этот код Java никоим образом не взаимодействует ни с одним из установленных веб-браузеров на локальном компьютере. Если ваша единственная цель — открыть конкретный URL-адрес в веб-браузере по умолчанию на локальном компьютере (например, Firefox, MSIE и т. д.), вам скорее понадобится Desktop#browse()
. Например.
Desktop.getDesktop().browse(new URI("http://google.com"));
Если это тоже не то, что вы ищете, то я не знаю. Все, что я могу предложить, это пройти эту тему, чтобы узнать, как запускать и обрабатывать HTTP-запросы программно, используя код Java. Вероятно, вы отслеживаете файлы журнала веб-сервера, чтобы увидеть, был ли запрошен сервлет. Это произойдет только тогда, когда URLConnection
действительно инициирует запрос. Только вызов openConnection()
этого не сделает.