我有一个使用 HttpURLConnection 连接到 servlet 的 Java 应用程序。应用程序在连接到 url 时将它想要传递给 servlet 的参数嵌入到 url 中。因此 servlet 可以使用它的 doGet() 访问和处理这些参数。我已经完成了这部分(我可以访问参数并在 servlet 中显示它们)。
接下来我要做的是将这些参数从 servlet 传递到 JSP。我是request.setAttribute()
用来做的。但即使在 之后RequestDispatcherObj.forward(request, response)
,JSP 也不会打开。我什至试过了response.sendRedirect(url)
。
但是,如果我独立运行 servlet,则上述方法(forward() 和 sendRedirect())都可以正常工作,并且 JSP 页面会打开。
我想知道我做错了什么。
在此先感谢您的帮助。
代码:
Java 应用程序
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
}