public class RegisterServlet extends HttpServlet {
private UsersService usersService = new UsersService(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 解决request的中文乱码
request.setCharacterEncoding("UTF-8");
// 获取用户输入的验证码
String checkcode = request.getParameter("checkCode");
// 获取Session中的验证码
String code = (String) request.getSession().getAttribute("checkcode_session");
// 进行比较判断
if (!checkcode.equals(code)) {
//System.out.println("验证码错误!");
request.setAttribute("info", "验证码错误!");
request.getRequestDispatcher("/register.jsp").forward(request, response);
return;
} // 获取所有请求参数的MAP集合
Map<String, String[]> map = request.getParameterMap();
// 创建users对象
Users users = new Users();
// 用BeanUtils中的方法将map集合中的参数封装到Users对象中
// 原理:根据map中的key 跟user对象中的属性名一一映射
try {
BeanUtils.populate(users, map);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 封装uid(随机产生36位不重复的id)
users.setUid(UUID.randomUUID().toString());
// 调Service方法
System.out.println(users);
usersService.register(users);
// 成功后,重定向到登录页面
response.sendRedirect(request.getContextPath() + "/login.jsp");
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
private UsersDao usersDao=new UsersDao();
//注册
public void register(Users users){
try {
usersDao.register(users);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 注册
public void register(Users users) throws SQLException {
/*
* Connection conn = JDBCUtils.getConn(); String sql =
* "insert into users(uid,username,password,email,name,sex,birthday) values(?,?,?,?,?,?,?)"
* ; PreparedStatement pst=conn.prepareStatement(sql); pst.setString(1,
* users.getUid()); pst.setString(2, users.getUsername());
* pst.setString(3, users.getPassword()); pst.setString(4,
* users.getEmail()); pst.setString(5, users.getName());
* pst.setString(6, users.getSex()); pst.setString(7,
* users.getBirthday()); //执行sql pst.executeUpdate(); //释放资源
* JDBCUtils.close(conn, pst);
*/
QueryRunner qr = new QueryRunner(MyDBUtils.getDataSource());
String sql = "insert into users(uid,username,password,email,name,sex,birthday) values(?,?,?,?,?,?,?)";
qr.update(sql, new Object[] { users.getUid(), users.getUsername(), users.getPassword(), users.getEmail(),
users.getName(), users.getSex(), users.getBirthday() }); }

JAVA项目之注册的更多相关文章

  1. Java学习之道:Java项目打包发布

    Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...

  2. Discuz3.2与Java 项目整合单点登陆

    JAVA WEB项目与Discuz 论坛整合的详细步骤完全版目前未有看到,最近遇到有人在问,想到这个整个不是一时半会也解释不清楚.便把整个整合过程以及后续碰到的问题解决方案写下,以供参考. 原理 Di ...

  3. Myeclipse10.7安装git插件并将Java项目上传到码云(github)

    注:本文来源:外匹夫的<Myeclipse10.7安装git插件并将Java项目上传到码云(github)> 一.先说说安装egit插件的步骤(安装egit不成功的原因主要是下载的egit ...

  4. 2017年11月GitHub上最热门的Java项目出炉

    2017年11月GitHub上最热门的Java项目出炉~ 一起来看看这些项目你使用过哪些呢? 1分布式 RPC 服务框架 dubbohttps://github.com/alibaba/dubbo S ...

  5. UCenter在JAVA项目中实现的单点登录应用实例

    Comsenz(康盛)的UCenter当前在国内的单点登录领域占据绝对份额,其完整的产品线令UCenter成为了账号集成方面事实上的标准. 基于UCenter,可以将Comsenz旗下的Discuz! ...

  6. mc01_IntelliJ IDEA安装与Java项目创建以及Tomcat配置

    IntelliJ IDEA安装与激活 下载地址:http://www.jetbrains.com/idea/ 安装下一步下一步即可,关键是注册激活,该部分分两个步骤: 1. 配置windows hos ...

  7. java项目热加载工具jrebel

    flask有热加载的功能,修为代码后,自动生效. java项目也有类似的功能,不过需要使用收费的插件jrebel 提供一个免费的注册服务器:http://139.199.89.239:1008/884 ...

  8. Java项目打包发布

    Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...

  9. 阿里云部署java项目

    第一步:注册阿里云账号(如果有请看第二步) 1.百度搜索阿里云,点击进入阿里云官网 2.点击右上角免费注册 3.进入注册页面,按照要求填写信息 4.注册完成后登陆 登陆之后首先购买阿里云esc与服务器 ...

随机推荐

  1. Python数据分析学习(二)

    转摘:https://segmentfault.com/a/1190000015613967 本篇将继续上一篇数据分析之后进行数据挖掘建模预测,这两部分构成了一个简单的完整项目.结合两篇文章通过数据分 ...

  2. SoapUI: 设置case的属性变量

    琐碎的东西也想一点一滴的记下来

  3. somatic mutation体细胞变异检测文献分享--转载

    转载 :http://blog.sina.com.cn/s/blog_83f77c940102xuro.html Kalatskaya I, Trinh Q M, Spears M, et al. I ...

  4. c++ Array运用实例

    myprint.hpp #include <iostream> #include <string> template <typename T> inline voi ...

  5. layui 复选框checkbox 实现全选全选

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. python while 1 然后pass会发生什么?

    下面的代码,会使32核linux服务器志强e5的cpu使用率达到3200%,然后别的什么程序都跑不了. 如果windows,cpu使用率会达到100%.这是计算方式有点区别. 个人计算机,除非你是8路 ...

  7. if [ $? -eq 0 ]的含义

    if [ $? -eq 0 ]语句代表上一个命令执行后的退出状态 $0: shell或shell脚本的名字$*: 以一对双引号给出参数列表$@:   将各个参数分别加双引号返回$#:       参数 ...

  8. 第一本docker书 学习笔记(一)

    Docker的核心组件: Docker客户端和服务端 Docker镜像 Registry Docker容器 # Docker客户端和服务端 docker 是一个 C/S架构程序.客户端只需要向dock ...

  9. SpringBoot小技巧:修改java可执行jar包内容

    SpringBoot小技巧:修改java可执行jar包内容 情景描述 在生产环境中,有时候我们发现了个小bug,开发迅速修改代码后,很多时候我们不得不重新发布一个新的可执行jar包上去替换掉.但是这样 ...

  10. Vue组件注册与数据传递

    父子组件创建流程 1.构建父子组件 1.1 全局注册 (1)构建注册子组件 //构建子组件child var child = Vue.extend({ template: '<div>这是 ...