mysql账号管理系统_简单账号管理系统的实现(b/s、servlet、html、mysql)

漫漫学习路,无处是尽头。“技术是学不完的,只能学会学习能力,并不断学习才是真”这句绝对的真理。总结的虽是,斌哥布置的练习,但完成这个练习的过程中,却真心是温习了很多,学习了很多。

进入正题,下面总结下简单账号管理系统的实现过程。

设计如下:

一、表结构

表名:userinfo

字段信息:id-int

name-varchar

password-varchar

二、模块结构

1、数据操作模块

将数据库操作写在一个包下。

public class DAO {

//创建arrylist用以存放查询结果

private ArrayList al;

/**

* 插入数据到数据库中的方法

*/

public ArrayList add(Userinfo user){

//获取数据库连接对象

Connection conn=Until.getDBConnect();

//sql操作数据

String sql="insert into userinfo(name,pwd) values('"+user.name+"','"+user.password+"')";

try {

Statement stmt=conn.createStatement();

int i=stmt.executeUpdate(sql);

if(i>0){

System.out.println("插入数据成功!");

}

//关闭数据库连接

conn.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return searchAll();

}

/**

* 查询数据库所有数据

*/

public ArrayList searchAll(){

al=new ArrayList();

//获取数据库连接对象

Connection conn=Until.getDBConnect();

//sql操作数据

String sql="select * from userinfo";

try {

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery(sql);

while(rs.next()){

Userinfo user=new Userinfo(rs.getInt("id"), rs.getString("name"),rs.getString("pwd"));

this.al.add(user);

}

//清空结果集

rs.close();

//关闭数据库

conn.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return al;

}

/**

* 按给定的id查询数据的方法

*/

public ArrayList searchById(int id){

//获得数据库连接对象

Connection conn=Until.getDBConnect();

//操作数据

String sql="select * from userinfo where id="+id;

try {

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery(sql);

while(rs.next()){

System.out.println("id="+rs.getInt("id")+",name="+rs.getString("name")+",password="+rs.getString(3));

}

conn.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return searchAll();

}

/**

* 删除指定id的数据的方法

*/

public ArrayList deleteById(int id){

//获取数据库连接对象

Connection conn=Until.getDBConnect();

//操作数据

String sql="delete from userinfo where id="+id;

try {

Statement stmt=conn.createStatement();

int i=stmt.executeUpdate(sql);

if(i>0){

System.out.println("删除成功!!");

}

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return searchAll();

}

/**

* 根据指定id修改数据的方法

*/

public ArrayList updateById(int id,Userinfo user){

//获取数据库连接对象

Connection conn=Until.getDBConnect();

//数据操作

String sql="update userinfo set name=?,pwd=? where id=?";

try {

//预编译

PreparedStatement ps=conn.prepareStatement(sql);

//设置对象参数

ps.setString(1, user.name);

ps.setString(2, user.password);

ps.setInt(3, id);

int i=ps.executeUpdate();

if(i>0){

System.out.println("数据修改成功!");

}

conn.close();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return searchAll();

}

}

75830bd311fb0e9b90812830bb656ff6.png

2、用5个servlet、2个html页面进行页面

5个servlet:Userinfo-用户列表servlet-用于查找并显示所有用户

Deleteservlet-删除操作servlet-用于删除指定用户

Updateservlet-更新操作servlet-用于更新指定用户信息

Regesiterservlet-添加操作(注册)servlet-用于注册新用户

Logincheck-用户身份验证servlet-用于验证登陆用户是否为注册用户

2个html:page.html-登陆页面

register.html-注册页面

3、系统各页面交互流程

3a7c7c06bbcf67ce25aefd8641c14c5d.png

4、代码示例

userinfo:

/**显示用户servlet:用于显示当前全部用户信息

* Servlet implementation class Userinfo

*/

public class Userinfo extends HttpServlet {

DAO dao=new DAO();

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//设置响应文本字符集

response.setContentType("text/html;charset=gbk");

PrintWriter out=response.getWriter();

//创建arraylist来接收查询结果

ArrayList al_temp=dao.searchAll();

//拼出显示页面

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

Userinfo");

out.println("

");

out.println("userinfo show as follows:");

out.println("

out.println("

ID姓名密码操作操作");

//循环查询用户信息以显示

for(int i=0;i

test1_db.Userinfo user_temp=al_temp.get(i);

int id=user_temp.id;

String name=user_temp.name;

String password=user_temp.password;

out.println("

"+id+""+name+""+password+" 删除用户 修改信息");

}

out.println("");

out.println("

");

out.println("");

out.println("");

}

logincheck:

/**

* Servlet implementation class Logincheck

*/

public class Logincheck extends HttpServlet {

private static final long serialVersionUID = 1L;

DAO dao=new DAO();

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=gbk");

PrintWriter out=response.getWriter();

//获得参数

String name=request.getParameter("username");

String password=request.getParameter("password");

//创建用户列表以存放查询结果

ArrayList al_temp=dao.searchAll();

//循环得到每条记录以验证身份

for(int i=0;i

test1_db.Userinfo user_temp=al_temp.get(i);

//判断用户名和密码是否存在

if(user_temp.name.equals(name)&&user_temp.password.equals(password)){

//是,则跳转到用户列表servlet并跳出循环

response.sendRedirect("Userinfo");

break;

}

}

//否,则拼出提示页面

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

");

out.println("用户不存在,请注册……");

out.println("

注册

");

out.println("");

out.println("");

}

updateservlet:

/**

* Servlet implementation class Updateservlet

*/

public class Updateservlet extends HttpServlet {

private static final long serialVersionUID = 1L;

DAO dao = new DAO();

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse

* response)

*/

protected void doGet(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=gbk");

PrintWriter out = response.getWriter();

//获得来自于用户列表servlet的参数id

String id_temp = request.getParameter("id");

int id = Integer.parseInt(id_temp);

//创建arraylist以存放查找的对应id的记录

ArrayList al_temp = dao.searchById(id);

//拼出查找结果显示页面

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

Update");

out.println("

");

out.println("please recorrect the information as follows:");

out.println("

out.println("

ID姓名密码");

//获得查找结果集中的参数以用于传入“修改”响应

test1_db.Userinfo user = al_temp.get(0);

String name = user.name;

String password = user.password;

String username = "username";

String userpassword = "userpassword";

// 1、重写url传值

//out.println("

");

//out.println("

" + id + "");

// 2、表单传值

out.println("

");

out.println("

" + id + "");

out.println("");

out.println("");

out.println("

");

out.println("");

out.println("

");

out.println("");

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse

* response)

*/

protected void doPost(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

//获得updateservlet中传入的更新数据所需的参数

String name_update = request.getParameter("username");

String password_update = request.getParameter("userpassword");

String id_update = request.getParameter("id");

int id = Integer.parseInt(id_update);

//创建更新后的用户对象、执行更新操作并跳转页面到用户列表servlet

test1_db.Userinfo user_update = new test1_db.Userinfo(id, name_update,

password_update);

dao.updateById(id, user_update);

response.sendRedirect("Userinfo");

}

}

registerservlet:

/**

* Servlet implementation class Register

*/

public class Register extends HttpServlet {

private static final long serialVersionUID = 1L;

DAO dao=new DAO();

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//获得参数

String username=request.getParameter("username");

String password=request.getParameter("password");

//创建要添加的用户对象

test1_db.Userinfo user_temp=new test1_db.Userinfo(username, password);

dao.add(user_temp);

//跳转回登陆界面

response.sendRedirect("page.html");

}

deleteservlet:

/**

* Servlet implementation class Deleteservlet

*/

public class Deleteservlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setCharacterEncoding("gbk");

PrintWriter out=response.getWriter();

out.println("进入删除servlet!");

//获得需删除的用户信息的id

String id_temp=request.getParameter("id");

int id=Integer.parseInt(id_temp);

DAO dao=new DAO();

dao.deleteById(id);

//跳转回用户显示servlet

response.sendRedirect("Userinfo");

}

48e5686650ba86d3246b29bf40f3e0f9.png

大小: 6.8 KB

11e198dcc5c8fe8f19acf43f2583a279.png

大小: 40.3 KB

2

0

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-05-20 16:07

浏览 2532

评论

2 楼

JuliaAilse

2012-05-21

lovebegar 写道

这些简单的东西也要学习下~

恩恩。简单的东西更容易理清思路。哈哈,谢谢光临哈!

1 楼

lovebegar

2012-05-21

这些简单的东西也要学习下~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值