实训错误

<!----------------------------------------->
//TODO ERROR C :字符串不需要初始化
private String username="";
private String password="";
private String password2="";

<!------------------------------------------------->
//TODO ERROR B INSERT 拼写错误 另外,这些字符串常量的定义最好放在使用他的方法前面,这样维护起来容易
private static final String INSET_USER_PRIVILEGE = "INSERT INTO user_privilege(username,privilege)VALUES(?,?)";

<!------------------------------------------------->

public boolean isUserExist(UserBean user) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = dataSource.getConnection();
pstmt = conn.prepareStatement(IS_USER_EXIST);
// TODO ERROR E user 和 user.getUsername()没有做判空处理
pstmt.setString(1, user.getUsername());
rs = pstmt.executeQuery();
if (rs.next()) {
return true;
}//TODO ERROR C java的习惯性写法,中间没有这个回车换行,else紧跟在}之后
else{
return false;
}
} catch (SQLException e) {
// TODO ERROR A 应该使用log
e.printStackTrace();
return false;
} finally {
if (pstmt != null) {
try {
pstmt.close();
} catch (Exception e) {
// TODO ERROR A 应该使用log
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
// TODO ERROR A 应该使用log
e.printStackTrace();
}
}
}
}

<!------------------------------->
<!-- ERROR C DAO 逻辑分开 -->
<bean id="registerDao" class="com.cjl.web.dao.RegisterDao">
<property name="dataSource" ref="dataSource" />
</bean>
<!-------------------------------------->
protected ModelAndView onSubmit(Object command,BindException errors) throws Exception{
//command是封装对象表单参数的command对象
//User是Command对象的类
UserBean user = (UserBean) command;
//用于存放Model的Map实例
Map model = errors.getModel();
model.put("user", user);
if(registerDao.isUserExist(user)){
return new ModelAndView(this.getFormView(),model);
}else{
// TODO ERROR E 需要判断createUser的结果,再执行第二部操作,否则会出现逻辑错误,另外,这两个逻辑可以合并
registerDao.createUser(user);
registerDao.createUserPrivilege(user);
// TODO ERROR D 缺乏异常处理
return new ModelAndView(this.getSuccessView(),model);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值