项目登录功能

登录套路:

1. dao中写添加用户和注册方法

//添加

public int add(User u){

String sql="insert into User values(?,?,?,?,?,?,?,?,0,?)";

QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());

try {

return qr.update(sql, u.getUid(),u.getUsername(),u.getPassword(),

u.getName(),u.getEmail(),u.getTelephone(),u.getBirthday(),u.getSex(),u.getState());

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return 0;

}

//注册

public int selectNameCount(String username){

String sql="select count(*) from User where username=?";

QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());

try {

return ((Long)qr.query(sql, new ScalarHandler(),username)).intValue();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return 0;

}

2. service中调用dao的方法,并判断用户名是否已存在

UserDao ud=new UserDao();

public int reg(User u){

//判断用户名是否重复(注册时)

if(ud.selectNameCount(u.getUsername())>0){

//注册失败

return 0;

}else{

//注册成功

return ud.add(u);

}

}

3. servlet中调用service中的方法,获取表单数据并封装,最后进行注

//获取表单数据并封装

 Map<String, String[]> map=request.getParameterMap();

 User u=new User();

 try {

BeanUtils.populate(u,map);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}  

//u中添加id

 u.setUid(CommonUItil.getUUI());

//完成注册

 int count=us.reg(u);

 if(count>0){

 response.getWriter().print("<script>alert('注册成功');location='index.jsp';</script>");

 }else{

 //request中添加一个数据

 request.setAttribute("msg", "注册失败");

 request.getRequestDispatcher("register.jsp").forward(request, response);

 }

4. 修改注册页面的form表单中的actionmethod以及每个inputname

action="${pageContext.request.contextPath}/UserServlet?method=reg"  method="post"

Inputname="username"

5. 运行项目,进行注册,查看数据库数据,添加成功

6. 期间遇到的问题

Java.Sql.SQLException:Colum “cid” cannot be null

原因是id没有设置成功,解决方案:把id放在对象里即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值