JAVA - 从系统获取响应到用户界面
我是新来的java和我有servlet连接到某个系统并获取数据,同时调试代码,我看到我能够连接并获取数据,(我没有得到任何错误)。我使用下面的代码:JAVA - 从系统获取响应到用户界面
try { urlConnection.connect();
} catch (IOException e) {
String messagePrefix = "Connection error: ";
LOGGER.error(messagePrefix, e);
}
OutputStream clientOutStream = responseToClient.getOutputStream();
copyStream(backendInStream, clientOutStream);
responseToClient.setStatus(backendResponseCode);
int backendResponseCode = urlConnection.getResponseCode();
InputStream backendInStream = null;
try {
if (backendResponseCode < 400) {
backendInStream = urlConnection.getInputStream();
}
} catch (IOException e) {
String messagePrefix = "Input stream error: ";
LOGGER.error(messagePrefix, e);
}
现在我有这个简单的index.html和我的问题,我应该如何打印数据返回给浏览器?
(我不是能到HTML文件复制为代码:(
任何想法如何传递到用户界面的响应,我尝试添加响应标签,并把变量作为全球无成功...
回答:
是的,你可以通过调度员或HttpSession中,并使用jsp让你的后端在UI
响应发送响应简单地使用
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession();
session.setAttribute("backendresponse",backendresponse))
}
,并在你的JSP你可以在一个ArrayList数据存储为
<% ArrayList<> list=(ArrayList<>)session.getAttribute("backendresponse");
%>
现在你可以使用这个列表中使用<%的任何标记填充数据=%>,因为这是相当于任何表情说
<%for(int i=0;i<list.size();i++) {%>
<%=list.get(i).getData() %>
<%}%>
将打印响应在浏览器
print语句10UPDATE
在servlet你可以得到的参数
String url=request.getParameter("url") Class obj=new Class(url)
session.setAttribute("obj",obj);
response.sendredirect("disp.jsp")
在disp.jsp
<% ArrayList<> list=(ArrayList<>)session.getAttribute("backendresponse");
%>
<html>
<head>
</head>
<body>
<%for(int i=0;i<list.size();i++)
{%>
<h1> <%=list.get(i).getData() %></h1>
<%}%>
</body>
</html>
回答:
你应该拥有的PrintWriter以每行doGet方法的HTML:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
.
.
.
}
以上是 JAVA - 从系统获取响应到用户界面 的全部内容, 来源链接: utcz.com/qa/262630.html