JAVA-从系统获取对UI的响应

JAVA-从系统获取对UI的响应,java,servlets,java-8,Java,Servlets,Java 8,我是java新手,我有一个servlet,它连接到某个系统并获取数据,在调试代码时,我看到我能够连接并获取数据(我没有收到任何错误)。我使用以下代码: try { urlConnection.connect(); } catch (IOException e) { String messagePrefix = "Connection error: "; LOGGER.error(messagePref

我是java新手,我有一个servlet,它连接到某个系统并获取数据,在调试代码时,我看到我能够连接并获取数据(我没有收到任何错误)。我使用以下代码:

    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);
        }
试试看{
urlConnection.connect();
}捕获(IOE异常){
String messagePrefix=“连接错误:”;
LOGGER.error(messagePrefix,e);
}
OutputStream clientOutStream=responseToClient.getOutputStream();
copyStream(后端InStream、clientOutStream);
responseToClient.setStatus(后端响应代码);
int backendResponseCode=urlConnection.getResponseCode();
InputStream backendInStream=null;
试一试{
if(后端响应代码<400){
backendInStream=urlConnection.getInputStream();
} 
}捕获(IOE异常){
字符串messagePrefix=“输入流错误:”;
LOGGER.error(messagePrefix,e);
}
现在我有了这个简单的index.html,我的问题是如何将数据打印回浏览器

(我无法将html文件复制为代码:(


如果知道如何将响应传递到UI,我会尝试添加响应标记并将变量作为全局变量,但没有成功…

是的,您可以使用dispatcher或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");


%>
在您的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>


您应该使用doGet方法,该方法让PrintWriter获取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>");
    .
    .
    .
}
public void doGet(HttpServletRequest),
HttpServletResponse响应)引发IOException,ServletException
{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
out.println(“”);
out.println(“”);
.
.
.
}

使用JSP显示输出Hanks,我没有JSP页面,我应该创建一个吗?我只有index.html打开表单,用户可以键入数据…如果我需要在哪里创建,我应该在哪里创建?在webapp文件夹下?是的,你可以在webContent文件夹中创建JSP,并将html代码复制到该jspok,但这是一个mvn项目,我没有b内容文件夹就在webapp的src->main->webapp下,那么我应该把它放在哪里呢?是的,你可以把它放在webapp->WEB\u INF文件夹中:)1.index.html在webinf下,它应该在同一个地方吗?我应该把从系统得到的数据放在哪里?看我的代码你的类是否扩展了
HttpServlet
?请参考[链接] ()
 <%
    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>
public void doGet(HttpServletRequest request,
   HttpServletResponse response) throws IOException, ServletException
{
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head>");
    .
    .
    .
}