精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • jsp Cannot forward after response has been committed問題,

    jsp Cannot forward after response has been committed問題,
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    String confirmPassword = request.getParameter("confirmPassword");
    String sql = "select username,password from users ";
    QueryRunner qr = DbHelper.getQueryRunner();//工具類,數(shù)據(jù)庫肯定沒問題
    List list = null;
    User user = null;//bean類
    try {
    list = (List) qr.query(sql,new BeanListHandler(User.class));
    } catch (Exception e) {
    e.printStackTrace();
    }
    if (password.equals(confirmPassword)) {
    for (int i = 0; i < list.size(); i++) {
    user = (User) list.get(i);
    if (user.getUsername().equals(username)) {
    request.setAttribute("message","用戶名已經(jīng)被注冊!");
    request.getRequestDispatcher("/admin/login.jsp").forward(
    request,response);
    }else {
    sql = "insert into users(username,password) values(?,)";
    String params[] = { username,password };
    qr = DbHelper.getQueryRunner();
    try {
    qr.update(sql,params);
    } catch (SQLException e) {
    e.printStackTrace();
    }
    request.setAttribute("message","注冊成功!");
    request.getRequestDispatcher("/admin/login.jsp").forward(request,
    response);
    }
    }
    }
    else {
    request.setAttribute("message","兩次密碼不一樣,請重新輸入");
    request.getRequestDispatcher("/admin/reg.jsp").forward(request,
    response);
    }
    其他人氣:304 ℃時間:2019-12-29 15:15:30
    優(yōu)質(zhì)解答
    /**
    1.對于轉(zhuǎn)發(fā),只能轉(zhuǎn)發(fā)一次,否則拋出異常.
    2.你的判斷重名的邏輯有問題,你的邏輯是與list里面所有名字比較,只要不相同就入庫并轉(zhuǎn)發(fā).
    這將導致入庫很多次,轉(zhuǎn)發(fā)了很多次.而轉(zhuǎn)發(fā)多次將拋出異常
    正確的邏輯是應該先遍歷完list,才能確定是否用戶重名,最后轉(zhuǎn)發(fā)一次.
    3.判斷邏輯有問題,應該先遍歷完list,才能確定是否用戶重名,一旦重名轉(zhuǎn)發(fā),并return結(jié)束
    **/
    //下面的代碼是我修改的部分.
    if (password.equals(confirmPassword)) {
    for (int i = 0; i < list.size(); i++) {
    user = (User) list.get(i);
    if (user.getUsername().equals(username)) {
    request.setAttribute("message","用戶名已經(jīng)被注冊!");
    request.getRequestDispatcher("/admin/login.jsp").forward(
    request,response);
    return;//必須判斷完整個list列表才能確定是否重名.
    }
    }
    sql = "insert into users(username,password) values(?,)";
    String params[] = { username,password };
    qr = DbHelper.getQueryRunner();
    try {
    qr.update(sql,params);
    } catch (SQLException e) {
    e.printStackTrace();
    }
    request.setAttribute("message","注冊成功!");
    request.getRequestDispatcher("/admin/login.jsp").forward(request,
    response);
    }
    else {
    request.setAttribute("message","兩次密碼不一樣,請重新輸入");
    request.getRequestDispatcher("/admin/reg.jsp").forward(request,
    response);
    }
    }
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機版