永发信息网

jsp Cannot forward after response has been committed问题,

答案:1  悬赏:70  手机版
解决时间 2021-05-17 13:55
  • 提问者网友:你独家记忆
  • 2021-05-17 10:18
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();//工具类,数据库肯定没问题
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,用户名已经被注册!);
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);
}
最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-05-17 11:12


//下面的代码是我修改的部分.
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,用户名已经被注册!);
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);
}
}


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯