昨天晚上捯饬了很长时间的MySQL,因为每次都安装失败,所以我很讨厌安装它,但是不安装不行,所有上网查了一下,发现一直安装不上的原因的是之前安装过有残留,所以才恶性循环,不过还好,总算是安上了。
第一步控制面板中卸载,在去注册表中删除,最后重启电脑,重新安装。
在安装是可以发现在MySQL中没有utf-8。只有utf8,还有mysqld是服务端程序,而mysql才是客户端程序。在my.ini配置文件很重要
一个项目中需要分成四个包:Dao(用户持久层);Service(用户服务层);Servlet(用户控制层);User实体 其中servlet依赖service;service依赖Dao;Dao依赖数据库;此时需要利用TxQueryRunner来简化数据库,而TxQueryRunner是QueryRunner的一个子类,但是作用相似,而且可以执行事务,其中,TxQueryRunner的底层是jdbcUtils来获取连接。
接着前面的内容,今天开始后台验证,比如当光标离开在用户名的项目栏中,此时向servlet发送请求,这时servlet返回一个布尔值,因为没有必要返回一个user对象。通过返回的布尔值来判断是否注册过。
在userservlet中需要用ajax来校验,因为ajax是局部刷新,所以需要用ajax方法来验证用户名,邮箱,以及验证码。servlet依赖service,service依赖dao,而需要用到数据库的只有用户名和邮箱,所以在service层和dao层只需要校验这两个即可。
classforname("类名") 加载类
jdbc的连接:加载驱动,创建连接 驱动类名:“com.mysql.jdbc.Driver” 创建连接:“jdbc:mysql://localhost:3306/数据库名” 用户名“root” 密码“123”
c3p0配置文件,用来加载数据库
queryrunner类是在dbutils jar包中,主要作用是简化数据库的操作,他有三大方法,分别是:①update----用来insert,update,detele ②query----用来select(其中 用到结果处理集)③batch----批处理
queryrunner的底层实现的是jdbc,而jdbc底层使用c3p0连接池,所以在queryrunner中不需要创建与mysql的连接。
在dao和service校验中,通过是queryrunner通过SQL语句查找,然后返回一个一个布尔值,判断其搜寻结果是否为0;若为0;则没注册。
在servlet中校验包括用户名和邮箱:通过res.getparameter("username/email")得到用户输入的参数,利用service中校验方法,resp返回布尔值。
验证码的校验:第一步:req.getparameter("verifycode")获取验证码;第二步,获取在session中保存的真正的验证码(req.getsession().getattribute()),第三步:忽略大小写的比较。