简单粗暴JavaWeb-第四篇:通过数据库实现用户注册、登录
来源:互联网 发布:免费升级至windows 10 编辑:程序博客网 时间:2024/06/08 17:30
现在我们通过jdbc进行数据库操作,将第三步的登录功能升级为登录、注册两个功能,并且基于mysql数据库,经过这一步,最最基本的工程就有雏形了,后面就可以根据需求进行优化,譬如使用mybatis(方便好多)等。
1、修改登录注册界面
首先,改进首页index.jsp,增加注册功能,代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title> 首页 </title></head><body> <form action="" method="post"> <input name="userName" type="text" /> <br/> <input name="password" type="password"/> <br/> <input id="submitButton" type="submit" value="登录" onclick="javascript:this.form.action='login.html'"/> <input id="registerButton" type="submit" value="注册" onclick="javascript:this.form.action='register.html'"/> </form></body></html>
界面如图
2、引入jdbc包及实现查询和插入方法
引入jdbc包,在pom.xml文件中添加相关依赖
<!--jdbc链接mysql的包--><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version></dependency>
然后编写jdbc的方法,主要有两个
//适用于select操作public ResultSet executeQuery(String sql){ Connection connection = null; Statement statement = null; ResultSet resultSet = null; try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/ahellospringmvcdemodb","root","nopassword"); statement = connection.createStatement(); resultSet = statement.executeQuery(sql); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e){ e.printStackTrace(); } return resultSet;}//适用于insert、update、delete等操作public int executeUpdate(String sql){ Connection connection = null; Statement statement = null; int result = -1; try{ Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/ahellospringmvcdemodb","root","nopassword"); statement = connection.createStatement(); result = statement.executeUpdate(sql); return result; } catch(ClassNotFoundException e){ e.printStackTrace(); } catch (SQLException e){ e.printStackTrace(); } return result;}
关于jdbc执行的流程可以查询其他相关资料,大体流程是对数据库进行连接,然后执行sql获得结果并处理,关闭链接。这里为了方便,直接采用了ResultSet作为返回结果,正常使用的时候应该将其转化为其他容器类型,如果在获取ResultSet之后把数据库链接关闭了,那这个ResultSet就失效了。另外这里采用了一些硬编码,只是为了方便~
3、实现登录、注册的service方法
登录和注册按键会提交不同的url请求,由不同controller进行控制,以注册为例,实现过程的service如下:
public CheckRegisterEnum checkRegisterParam(String userName,String password){ StringBuilder sql = new StringBuilder(""); sql.append("select * from tbl_user_info where user_name=\'") .append(userName) .append("\'"); ResultSet resultSet = null; JDBCServiceImpl jdbcService = new JDBCServiceImpl(); resultSet = jdbcService.executeQuery(sql.toString()); try { if (resultSet.next()){ return CheckRegisterEnum.DUPLICATE_USERNAME; } else{ StringBuilder registerSql = new StringBuilder(""); registerSql.append("insert into tbl_user_info (user_name,password) value (\'") .append(userName) .append("\',\'") .append(password) .append("\')"); System.out.println(registerSql); if (jdbcService.executeUpdate(registerSql.toString())==1){ return CheckRegisterEnum.REGISTER_SUCCESS; } } } catch (SQLException e){ e.printStackTrace(); } return CheckRegisterEnum.FAIL_SYS;}根据结果不同返回用户名占用、注册成功等信息,同时在数据库中进行相应的更新。
阅读全文
0 0
- 简单粗暴JavaWeb-第四篇:通过数据库实现用户注册、登录
- 简单粗暴JavaWeb-第三篇:通过controller实现页面跳转
- javaWeb 简单注册登录(含数据库连接) -- (三) 实现用户注册请求的响应
- javaweb简单的登录注册功能实现
- javaweb简单的登录注册功能实现
- javaweb简单的登录注册功能实现
- javaweb简单的登录注册功能实现
- javaweb-基于数据库的简单登录注册界面
- javaweb 简单 de 登录注册
- 简单的Javaweb登录注册
- JavaWeb + mySQL + Android 实现Android简单的注册登录
- 171210之JavaWeb简单的登录注册功能实现
- Javaweb 登录注册的实现
- ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录
- ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析
- 用python连接数据库,实现用户注册和用户登录
- javaWeb 简单注册登录(含数据库连接) -- (四) 用户登录请求与响应
- 简单粗暴JavaWeb-第六篇:使用mybatis框架代替纯jdbc访问数据库
- Nginx实践
- 关于React的setState的回调函数
- IDE intellij报错(点击File—setting页面无反应并且出现IDE error occored)
- Tensorflow学习笔记——word2vec
- ListView的item单击事件与item布局中控件单击事件的冲突问题
- 简单粗暴JavaWeb-第四篇:通过数据库实现用户注册、登录
- mysql监控工具
- JavaWeb从入门到放弃(7)-HTTP客户端请求和服务端回执
- 在网址中读取照片和字符串
- 《Android 面试指南》
- 理解RESTful架构
- 第九周 【项目3
- Variational Auto-Encoder tutuiral
- 【转】Buffer cache和page cache的区别