我想让 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,如果可能的话我想要一个易于理解的答案。提前致谢。
最佳答案
您在同一代码中混合了 VIEW 和 CONTROLLER。这不是一个好方法。 理想情况下,您应该有一个 jsp (VIEW) 用于提供用户输入,并在提交该页面时调用 servlet(CONTROLLER),该 servlet 将处理请求并将控制返回给 jsp,以便用户可以提供输入。
建议您阅读MVC框架。
关于java servlet 重复帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13706060/