java - 在 HttpClient 类中同步请求和响应

标签 java jsp servlets httpclient

我正在尝试使用 httpClient 进行登录验证并在服务器端获得无限循环。更多解释将在代码之后进行。这是我的服务器端代码

    public void doPost(HttpServletRequest req, HttpServletResponse resp)
    while(true){    
        String user_name = req.getParameter("username");
        String password = req.getParameter("password");
        System.out.println("User name and password is "+user_name +"   paswword is "+password);
        resp.setContentType("text/plain");
        PrintWriter writer = resp.getWriter();
        if(user_name.equalsIgnoreCase("haseeb")){
            System.out.println("valid user name");
            writer.write("welcome");
            //writer.flush();
            break;
        }
        else{
            writer.write("unknown User");
            System.out.println("unknown user name");
            writer.flush();
            continue;
        }

    }//End of while loop

}   //End of doPost Method

从客户端我尝试登录,如果登录无效,服务器将返回“unknownUser”,之后客户端将再次发送登录请求,如果登录有效,循环将中断。在服务器端,我遇到无限循环,服务器正在一次又一次地处理第一个请求参数....!!!如果有人希望我可以发布我的客户端代码以获得进一步帮助,您可以在评论部分索取。谢谢

最佳答案

问题出在 else block 中的 continue 上。它也应该是break。然而,更好的编写方法是不使用 while 循环。例如

public void doPost(HttpServletRequest req, HttpServletResponse resp)
    String user_name = req.getParameter("username");
    String password = req.getParameter("password");
    System.out.println("User name and password is "+user_name +"   paswword is "+password);
    resp.setContentType("text/plain");
    PrintWriter writer = resp.getWriter();
    if(user_name.equalsIgnoreCase("haseeb")){
        System.out.println("valid user name");
        writer.write("welcome");
        writer.flush();
    }
    else{
        writer.write("unknown User");
        System.out.println("unknown user name");
        writer.flush();
    }

}   //End of doPost Method

关于java - 在 HttpClient 类中同步请求和响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12707158/

相关文章:

java - 根据修订日期映射映射开始日期和结束日期

java - 搜索数据库未按 JSP 中的预期显示

javascript - 将值从 Servlet 传递到 jquery

html - 输入字段在页面刷新后保留其值,如何防止这种情况发生?

java - 按下后退按钮后防止重新提交表单

java - Tomcat 部署失败和旧的 webapp

java - 为什么 request.getParameter() 方法返回 null?

java - Camel 聚合器如何工作

java - 使用java API启动apache的drill进程?

java - 单击按钮时调用类 (Android)