2017-06-20 20 views
0

我是新来的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文件复制为代码:(

enter image description here

任何想法如何传递到用户界面的响应,我尝试添加响应标签,并把变量作为全球无成功...

+0

使用JSP来显示输出 – Vihar

回答

1

是的,你可以通过调度员或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语句10

UPDATE

在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> 
+0

谢谢,我没有jsp页面应该创建一个吗?我只有index.html打开窗体,用户可以输入数据...如果我需要创建在哪里shuld我这样做?在webapp文件夹下? –

+0

是的,你可以在webContent文件夹中创建jsp,并将你的html代码复制到该jsp –

+0

好吧,但是这是一个mvn项目,我没有在src-> main-> webapp下的webcontent文件夹,只是webapp,所以我应该把它放在哪里? –

0

你应该拥有的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>"); 
    . 
    . 
    . 
} 
+0

我应该在哪里放置系统中的数据?看我的代码 –

+0

你的类是否扩展了'HttpServlet'? 请参考[链接](https://www.javatpoint.com/steps-to-create-a-servlet-using-tomcat-server) –