/**
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);
}
}
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);
}
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ì)解答
我來回答
類似推薦
- 七年級下冊語文傷仲永全文翻譯
- 今有物不知其數(shù),三三數(shù)之余二,五五數(shù)之余三,七七數(shù)之余二.問物幾何?
- 解釋同一字在不同句子里的含義
- Her mother worked in a town last year 變?yōu)榉穸ň?、疑問句然后作肯定、否?/a>
- I will wash my clothes If I___(have) time tomorrow morning
- Gina常坐9路公交車回家翻譯
- 利用馬克思主義基本原理概論回答,為什么說“資本來到世間,從頭到腳,每個毛孔都滴著血和骯臟的東西”?
- 梯形的高不變,上底和下底都擴大4倍,則面積( )
- 修改病句: 跟敵人斗爭時,態(tài)度多么堅決 速度 在線等
- 小丁丁期未考試五門功課的平均分是91分,如果去掉最高的數(shù)學100分和最低的英語分
- read和words這兩個英語單詞什么意思?
- 2010合肥一中最后一卷理科數(shù)學答案
猜你喜歡
- 1山中訪友最主要講什么?
- 2已知AB=AC,AD垂直BC于DM、N為AD上的點.CM、CN是角ACB的三等分線,BN交AC于E.說明
- 3變化在漢語中是動詞還是名詞
- 4Someone says,“Time is money.”But I think time is _____important than money.
- 51.一列火車長168m 以72km/h的速度行駛,一輛汽車以8m/s的速度行駛.當兩輛車同時行駛時,
- 6寫擬人手法的好處是什么?
- 7寫一個不帶關(guān)聯(lián)詞語表因果關(guān)系的句子
- 8有一個高壓鍋,鍋內(nèi)氣壓每增加100℃,水的沸點相應增加1℃.國內(nèi)水的初始溫度是20℃.
- 9為什么有的電解方程式中,氫離子參與反應,但是在總反應中要寫成水的形式?
- 10計算(-2)^2007+(-2)^2008=(-2)^2007+2^2008=2^2007x(2-1) 請解答 如何做啊
- 11掌上珊瑚憐不得 卻叫移作上陽花 .
- 12關(guān)于強調(diào)句的一個問題~