• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

Javaweb网上商城项目实战(7)完成用户注册功能

项目实战 Geekerstar 11个月前 (05-17) 441次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

准备工作

这一小节我们正式完成用户注册的功能,但还需要再完成一些准备工作,从本节开始,每小节将提供完整的源码下载,直到最终完成项目,以方便大家对照代码调试错误。

regist.jsp

最初的素材里面,regist.jsp写漏了一个电话号码表单,这里添加一个表单即可。

<div class="form-group">
  <label for="date" class="col-sm-2 control-label">电话</label>
  <div class="col-sm-6">
    <input type="text" class="form-control" name="telephone" >		      
  </div>
</div>

另外注意一下表单提交是否写正确了

<form class="form-horizontal" style="margin-top:5px;" action="${pageContext.request.contextPath}/UserServlet?method=userRegist" method="post">

info.jsp

在info.jsp里面我们增加代码来检验我们是否注册成功,

<div class="container">
	<h1>${msg}</h1>
</div>

这两个jsp页面直接提供,建议直接复制进项目就行了。

完成userRegist

继续完成之前没写完的userRegist,实现以下功能:

  1. 接收表单参数
  2. 调用业务层注册功能
  3. 注册成功,向用户邮箱发送信息,跳转到提示页面
  4. 注册失败,跳转到提示页面
public String userRegist(HttpServletRequest request, HttpServletResponse response) throws Exception {
		// 接收表单参数
		Map<String, String[]> map = request.getParameterMap();
		User user = new User();
		MyBeanUtils.populate(user, map);
		// 为用户的其他属性赋值
		user.setUid(UUIDUtils.getId());
		user.setState(0);
		user.setCode(UUIDUtils.getCode());
		System.out.println(user);
		// 调用业务层注册功能
		UserService UserService = new UserServiceImp();
		try {
			UserService.userRegist(user);
			// 注册成功,向用户邮箱发送信息,跳转到提示页面
			request.setAttribute("msg", "用户注册成功,请激活!");
		} catch (Exception e) {
			// 注册失败,跳转到提示页面
			request.setAttribute("msg", "用户注册失败,请重新注册!");
		}
		return "/jsp/info.jsp";
	}

完成UserService及其实现类

UserService.java

package com.geekerstar.store.service;

import java.sql.SQLException;

import com.geekerstar.store.domain.User;;

public interface UserService {

	void userRegist(User user) throws SQLException;
	
}

UserServiceImp.java

package com.geekerstar.store.service.serviceImp;

import java.sql.SQLException;

import com.geekerstar.store.dao.UserDao;
import com.geekerstar.store.dao.daoImp.UserDaoImp;
import com.geekerstar.store.domain.User;
import com.geekerstar.store.service.UserService;

public class UserServiceImp implements UserService {

	@Override
	public void userRegist(User user) throws SQLException {
		//实现注册功能
		UserDao UserDao = new UserDaoImp();
		UserDao.userRegist(user);
		
	}
}

完成UserDao及其实现类

UserDao.java

package com.geekerstar.store.dao;

import java.sql.SQLException;

import com.geekerstar.store.domain.User;

public interface UserDao {
	void userRegist(User user) throws SQLException;
}

UserDaoImp.java

package com.geekerstar.store.dao.daoImp;

import org.apache.commons.dbutils.QueryRunner;
import java.sql.SQLException;
import com.geekerstar.store.dao.UserDao;
import com.geekerstar.store.domain.User;
import com.geekerstar.store.utils.JDBCUtils;

public class UserDaoImp implements UserDao {
	
	@Override
	public void userRegist(User user) throws SQLException {
		String sql="INSERT INTO USER VALUES(?,?,?,?,?,?,?,?,?,?)";
		QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
		Object[] params = {user.getUid(),user.getUsername(),user.getPassword(),user.getName(),user.getEmail(),user.getTelephone(),user.getBirthday(),user.getSex(),user.getState(),user.getCode()};
		qr.update(sql,params);
	}
}

效果演示

至此,用户注册部分的代码就初步完成了,接下来演示一下,首先启动服务器,点击注册,进入注册页面填写注册信息

填写完毕后点击注册,跳转到info页面打印出注册成功信息,即表示注册成功。

接下来查看数据库,看user表是否新增了刚才注册的用户数据

结果无误,注册成功。

源码下载

下载地址
丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:Javaweb网上商城项目实战(7)完成用户注册功能
喜欢 (0)
[247507792@qq.com]
分享 (0)
Geekerstar
关于作者:
本站技术支持

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00