1

入力に基づいて、Java サーブレットに 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();

実行しようとしたとき、ユーザーに別の単語を入力してチェックすることなく、同じ入力と出力の出力を停止することはありませんでした。私は何をすべきか?

すみません、サーブレットを作るのは初めてなので、できれば分かりやすい回答が欲しいです。前もって感謝します。

4

1 に答える 1

0

同じコードで VIEW と CONTROLLER を混在させています。これは良い方法ではありません。理想的には、ユーザー入力を提供するための 1 つの jsp (VIEW) が必要です。そのページの送信時に、要求を処理して制御を jsp に戻してユーザーが入力できるようにするサーブレット (CONTROLLER) を呼び出します。

MVC フレームワークを読むことをお勧めします。

于 2012-12-05T05:39:15.337 に答える