1

我想让java servlet根据输入制作类似while-do条件的东西。假设我让它接收名为 UserInput 的输入并连续发布名为 ProgramOutput 的输出,就像与程序聊天一样。这是我的 doPost 代码:

        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out=response.getWriter();
    String UserInput= request.getParameter("UserInput").toString();

    out.println("<html>");
    out.println("<head>");
    out.println("<title></title>");
    out.println("</head>");
    out.println("<body>");
    while (true){
    out.println(UserInput+ "<br>"); //this is the place where user type his/her words
    out.println("<input type='submit' value='submit'>");
    request.getParameter("UserInput").toString();
        if ("stop".equals(UserInput)) //unless user type 'stop', program will keep printing the answer
        break;
    String ProgramOutput= engine.answer(UserInput); //from engine.java
    out.println(ProgramOutput+"<br>");}
    out.println("</body>");
    out.println("</html>");
    out.close();

当我尝试运行它时,它从未停止打印相同的输入和输出,甚至没有让用户输入另一个单词并检查它。我应该怎么办?

抱歉,这是我第一次制作 servlet,如果可能的话,我想要一个易于理解的答案。提前致谢。

4

1 回答 1

0

您在同一代码中混合了 VIEW 和 CONTROLLER。这不是一个好方法。理想情况下,您应该有一个 jsp (VIEW) 用于提供用户输入,并在提交该页面时调用一个 servlet(CONTROLLER),它将处理请求并将控制返回给 jsp,以便用户可以提供输入。

会建议你阅读 MVC 框架。

于 2012-12-05T05:39:15.337 回答