Java 如何将servlet发送的结果放入html输入框?

Java 如何将servlet发送的结果放入html输入框?,java,html,servlets,Java,Html,Servlets,HTML文件 <form method = "post" action = "getSum"> Enter first no. : <input type = "text" name = "First"/> Enter Second no.: <input type = "text" name = "Second"/> SUM : <input type = "text" name = "Sum"/

HTML文件

<form method = "post"  action = "getSum">
     Enter first no. : <input type = "text" name = "First"/>
     Enter Second no.: <input type = "text" name = "Second"/>
     SUM :             <input type = "text" name = "Sum"/>    
</form>
}


我想把servlet发送的结果放入我在html文件中创建的输入框中,怎么做?我不熟悉servlet编程,请帮我一点忙。

最简单的方法是在servlet中生成所有HTML。调用doGet时,返回空的HTML表单。调用doPost()时,返回填充了数据的HTML表单

doGet(...){
   out.println("<html> ... <form> .... </form> ... </html>
}

doPost(...){
   out.println("<html> ...<form> populate inputs </form> ... </html>");
}
您称之为“消除重复代码”


下一个级别是使用类似的工具:jsp、Velocity、FreeMarker等等

最简单的方法是在servlet中生成所有HTML。调用doGet时,返回空的HTML表单。调用doPost()时,返回填充了数据的HTML表单

doGet(...){
   out.println("<html> ... <form> .... </form> ... </html>
}

doPost(...){
   out.println("<html> ...<form> populate inputs </form> ... </html>");
}
您称之为“消除重复代码”


下一个级别是使用类似的工具:jsp、Velocity、FreeMarker等等

客户机-服务器交互有很多可能性。我看到两种常见的情况:

  • 用户按下按钮后,服务器返回客户端的完整HTML页面。在代码中,您可以简单地修改
    out.println(“”)行,并在HTML表单中添加一个提交按钮来实现这一点。但实际上,您需要一些东西来生成动态HTML页面,您可以使用JSP或模板引擎,如Velocity、FreeMarker或其他。还有很多框架
  • 使用AJAX。按下按钮后,服务器将一些数据返回给客户端(例如JSON格式),客户端不会重新加载HTML页面,但可以刷新其中的某些部分(例如,在您的情况下,更新输入框值)。在这种情况下,您应该在客户端编写一些JavaScript代码来发送请求(而不是使用默认的HTML表单提交)和更新页面数据。您可以使用JQuery简化您的工作(或其他库)。在Servlet中,您需要解析客户机请求并做出响应。还有很多库和框架可以使用。例如,用于解析/生成JSON或SpringWeb框架的Gson

客户机-服务器交互有很多可能性。我看到两种常见的情况:

  • 用户按下按钮后,服务器返回客户端的完整HTML页面。在代码中,您可以简单地修改
    out.println(“”)行,并在HTML表单中添加一个提交按钮来实现这一点。但实际上,您需要一些东西来生成动态HTML页面,您可以使用JSP或模板引擎,如Velocity、FreeMarker或其他。还有很多框架
  • 使用AJAX。按下按钮后,服务器将一些数据返回给客户端(例如JSON格式),客户端不会重新加载HTML页面,但可以刷新其中的某些部分(例如,在您的情况下,更新输入框值)。在这种情况下,您应该在客户端编写一些JavaScript代码来发送请求(而不是使用默认的HTML表单提交)和更新页面数据。您可以使用JQuery简化您的工作(或其他库)。在Servlet中,您需要解析客户机请求并做出响应。还有很多库和框架可以使用。例如,用于解析/生成JSON或SpringWeb框架的Gson
  • 简而言之

    在servlet的
    doGet()
    方法中创建表单。在
    操作
    属性中,在
    方法
    属性中指定servlet的名称,指定
    POST

      ...
      response.setContentType("text/html");
      PrintWriter out = response.getWriter();
      out.println(...) // form here
      ...
    
    您可以使用
    *.html
    文件,而不是在servlet中创建表单

    ...
    request.getParameter("First");
    request.getParameter("Second");
    request.getParameter("Sum");
    ...
    
    在servlet的
    doPost()
    方法中获取传递的参数

    ...
    request.getParameter("First");
    request.getParameter("Second");
    request.getParameter("Sum");
    ...
    
    执行必要的检查,生成带有填充字段的表单

    然后调用servlet,您将看到空白表单。在字段中写入值并提交表单。您将看到填写的表格

    虽然在这种情况下使用JSP更好,但简而言之

    在servlet的
    doGet()
    方法中创建表单。在
    操作
    属性中,在
    方法
    属性中指定servlet的名称,指定
    POST

      ...
      response.setContentType("text/html");
      PrintWriter out = response.getWriter();
      out.println(...) // form here
      ...
    
    您可以使用
    *.html
    文件,而不是在servlet中创建表单

    ...
    request.getParameter("First");
    request.getParameter("Second");
    request.getParameter("Sum");
    ...
    
    在servlet的
    doPost()
    方法中获取传递的参数

    ...
    request.getParameter("First");
    request.getParameter("Second");
    request.getParameter("Sum");
    ...
    
    执行必要的检查,生成带有填充字段的表单

    然后调用servlet,您将看到空白表单。在字段中写入值并提交表单。您将看到填写的表格


    虽然在这种情况下使用JSP更好-

    我希望当我从服务器返回页面时,它有一个html输入框type=text,框中的值等于sum,我如何动态设置输入框的值我希望当我从服务器返回页面时,它有一个html输入框type=text,框中的值等于sum如何设置输入框的动态值我希望当我从服务器返回页面时,它有一个html输入框类型=文本,框中的值等于sum我希望当我从服务器返回页面时,它有一个html输入框类型=文本,框中的值等于总和