Java 在DIV中显示流

Java 在DIV中显示流,java,javascript,html,Java,Javascript,Html,我正在通过servlet运行一些终端(或命令提示符)命令,如下所示 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String[] command = { "zsh" }; Process p = Runtime.g

我正在通过servlet运行一些终端(或命令提示符)命令,如下所示

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
   {
    String[] command =
        {
      "zsh"
          };
                Process p = Runtime.getRuntime().exec(command);
                new Thread(new SyncPipe(p.getErrorStream(), response.getOutputStream())).start();
                new Thread(new SyncPipe(p.getInputStream(), response.getOutputStream())).start();
                PrintWriter stdin = new PrintWriter(p.getOutputStream());
                stdin.println("source ./taxenv/bin/activate");
                stdin.println("python runner.py");
                stdin.close();
                int returnCode = 0;
                try {
                    returnCode = p.waitFor();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                } System.out.println("Return code = " + returnCode);
    }
    class SyncPipe implements Runnable
    {
    public SyncPipe(InputStream istrm, OutputStream ostrm) {
          istrm_ = istrm;
          ostrm_ = ostrm;
      }
      public void run() {
          try
          {
              final byte[] buffer = new byte[1024];
              for (int length = 0; (length = istrm_.read(buffer)) != -1; )
              {
                  ostrm_.write(buffer, 0, length);
              }
          }
          catch (Exception e)
          {
              e.printStackTrace();
          }
      }
      private final OutputStream ostrm_;
      private final InputStream istrm_;
    }
这是在新窗口中执行终端命令后显示结果,我希望避免这种情况,并将这些流值传递回JSP页面,并在div中显示相同的结果

如何做到这一点?

静态导入 首先,您可以使用
like and定义
scriplet

您可以静态导入
.jsp
页面,而不是复制整个代码,如下所示:

<%@ include file="YourPage.jsp" %>
您可以在此处找到其他示例:

引用上一个链接的答案:


这与Ajax有关,Jquery可以做到这一点您可以使用javascript
getElementByID
或使用Jquery的build\u in
$(“sub\u banner”)
语法来更改div的内容

而不是
void
,传递回值并用JSP读取它们,而不是“ostrm_.write(buffer,0,length);”我想把它们寄回JSPSo,你建议我把这些东西放进去,然后导入??我会尝试一下,并会更新你。这取决于你的应用程序。请参考我下面的答案。非常感谢你的回答@泽戴:当然没问题。我希望它能帮助你。非常感谢!你的回答很有帮助,很有启发性。非常感谢。
<jsp:include page="YourPage.jsp"/>
function changeContent() {
    $('#content').load('YourPage.jsp');
}