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. RSA后台签名前台验签的应用(前台采用jsrsasign库)

    写在前面 安全测试需要, 为防止后台响应数据返给前台过程中被篡改前台再拿被篡改后的数据进行接下来的操作影响正常业务, 决定采用RSA对响应数据进行签名和验签, 于是有了这篇<RSA后台签名前台验 ...

  2. 原创:【ajax | axios跨域简单请求+复杂请求】自定义header头Token请求Laravel5后台【亲测可用】

    如标题:我想在ajax的header头增加自定义Token进行跨域api认证并调用,api使用laravel5编写,如何实现? 首先,了解下CORS简单请求和复杂请求.  -- CORS简单请求 -- ...

  3. patchUpload.vue?5e29:406 Uncaught (in promise) DOMException: Failed to execute 'readAsArrayBuffer' on 'FileReader': The object is already busy reading Blobs.

    patchUpload.vue?5e29:406 Uncaught (in promise) DOMException: Failed to execute 'readAsArrayBuffer' o ...

  4. HandlerMethodArgumentResolver的抽象實現AbstractNamedValueMethodArgumentResolver下的子类

    Annotation-based argument resolution 部分2 org.springframework.web.servlet.mvc.method.annotation.Reque ...

  5. Struts2访问Servlet

    知识点: servlet是单例的,Action是多例的,一次请求,创建一个Action的实例 结果页面分为全局和局部两类(局部优先级更高) result标签:name : 默认succestype : ...

  6. Spring、SpringMVC、Spring Boot、Spring Cloud 概念、关系及区别

    注:此文章转载于其他大神 一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确 ...

  7. Jmeter通过SSHCommand测试获取Linux服务器资源文件信息

    有些时间我们想通过接口测试来获取服务器上面的某个资源文件信息,应该怎么办? 别急.... Jmeter通过ssh协议可以实现这个操作. 下面来看一下具体的实现吧. 需要提前安装好的工具: 1.按照好j ...

  8. 搭建FTP(win10版)以及基本FTP操作

    参考链接:https://www.jianshu.com/p/ece21421e246 一.FTP服务器搭建 控制面板 - 程序和功能 - 启动或关闭Windows功能 启动以下功能: 搜索 “Int ...

  9. 【python库】tqdm介绍及常用方法

    前言 Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator).具体使用可以查看官网. 操作 fr ...

  10. Javascript / Nodejs call 和 apply

    call: 改变了函数运行的作用域,即改变函数里面this的指向apply:同call,apply第二个参数是数组结构 例如: this.name = 'Ab'var obj = {name: 'BB ...