HttpURLConnection을 사용하여 서블릿에 연결하는 Java 애플리케이션이 있습니다. 애플리케이션은 연결할 때 url에있는 서블릿에 전달할 매개 변수를 포함합니다. 서블릿은 doGet()을 사용하여 이러한 매개 변수에 액세스하고 처리 할 수 있습니다. 나는이 부분을 다룰 것이다. (매개 변수에 액세스하여 서블릿에 전달할 수있다.)서블릿의 RequestDispatcher.forward() 메소드가 작동하지 않습니다.
다음으로 서블릿에서 JSP로이 매개 변수를 전달하고 싶습니다. 나는 그것을하기 위해 request.setAttribute()
를 사용하고있다. 그러나 RequestDispatcherObj.forward(request, response)
이후에도 JSP는 열리지 않습니다. 심지어 response.sendRedirect(url)
시도했습니다.
그러나 서블릿을 독립적으로 실행하면 위의 메소드 (forward() 및 sendRedirect())가 모두 제대로 작동하고 JSP 페이지가 열립니다.
내가 뭘 잘못하고 있는지 궁금해.
미리 도움을 주셔서 감사합니다.
CODE :
자바 응용 프로그램
serverAddress = new URL("http://localhost:8080/WebApp/ServletPath"+"?message1"+"="+message);
(HttpURLConnection)serverAddress.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept-Charset", charset);
connection.setReadTimeout(10000);
connection.connect();
서블릿
message = request.getParameter("message1");//working
request.setAttribute("message1", message);//to be read in the jsp
url="/index.jsp";
RequestDispatcher dispatcher=getServletContext().getRequestDispatcher(url);
dispatcher.forward(request, response);//Works when servlet is run independently but not when the servlet is called from the App
}
일부 코드는 더 명확해질 것입니다 ... –
Java 응용 프로그램을 실행할 때 어떤 일이 발생할 것으로 예상합니까? 그리고 "서블릿이 독립적으로 실행될 때"는 무엇을 의미합니까? 앱이 서블릿에 요청을 보낼 때 브라우저에 JSP가 표시 될 것으로 예상하지 않습니까? –
예 실제로 그런 일이 일어날 것으로 예상하고있었습니다. – CCGooner