一:前期准备
java环境,mysql,eclipse要安装好,这个网上都能找到教程。
本文章默认你已经完成必要准备~
二:开始上手
我对其中的底层原理也不是特别清楚,只是做了出来,参考的这个链接。
https://www.cnblogs.com/huyangyang/p/7930476.html
他这里面的内容没啥错的,就是链接数据库(jdbc)的语句有点久了会报错。
需要修改为:
修改:public static String db_url= “jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT”;
修改:Class.forName(“com.mysql.cj.jdbc.Driver”);
然后就能实现登录功能啦
三:其他功能
当你走完整个流程也差不多知道他是怎么实现的了,他是返回了一个flag判断能不能登陆成功,比较常见的问题是读数据库内容并在前端显示,类似的你可以另外写一个函数用来读数据库的其他内容,比如用户id,比如姓名地址这种任何数据库的数据并返回,然后利用session保存就可以显示在前端了,虽然有点复杂但功能是可以实现的。
另外完成登录之后只需要修改sql语句就可以实现增删改查操作啦,只需要写出对应的函数。
以下内容(显示内容功能)仅供参考:
我是在userdao包里加了一个功能
public String userid(String username,String password)
{
Connection conn = DBUtil.getConn();
Statement state =null;
ResultSet rs = null;
String userid=null;
try
{
String sql = “select * from test where name = '”+username+"’";
state = conn.createStatement();
rs=state.executeQuery(sql);
if(rs.next())
{
if(rs.getString(“password”).equals(password))
{
userid=rs.getString(“id”);
System.out.println(“userid”+userid);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
DBUtil.close(rs, state, conn);
}
return userid;
}
这个的功能就是返回userid,当然你可以把它换成任意数据库的数据
然后修改userservlet
int flag = userdao.login(username, password);·
String userid = userdao.userid(username, password);
HttpSession session2 = req.getSession();
session2.setAttribute(“userid”, userid);
这样就把user保存到了session中,使用session记得要把需要的包import一下
四:总结
上面的方法肯定不是最优解,但他确实可以实现需要的功能,希望对正好要实现这个功能的人提供帮助。