`

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

阅读更多

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

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

      设计如下:

一、表结构

表名:userinfo

字段信息:id-int

               name-varchar

               password-varchar

二、模块结构

   1、数据操作模块

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

public class DAO {
	//创建arrylist用以存放查询结果
 	 private  ArrayList<Userinfo> al;
/**
 * 插入数据到数据库中的方法
 */
 	public  ArrayList<Userinfo> 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<Userinfo>   searchAll(){
 		al=new ArrayList<Userinfo>();
		//获取数据库连接对象
		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<Userinfo> 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<Userinfo> 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<Userinfo> 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();
	}
}

 

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

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

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

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

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

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

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

               register.html-注册页面

3、系统各页面交互流程



 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<test1_db.Userinfo> al_temp=dao.searchAll();
		//拼出显示页面
		out.println("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<html>");
		out.println("<head><title>Userinfo</title></head>");
		out.println("<body>");
		out.println("userinfo show as follows:");
		out.println("<table border=\"5\"width=\"250px\"bgcolor=\"green\"bordercolor=\"gray\">");
		out.println("<tr><td>ID</td><td>姓名</td><td>密码</td><td>操作</td><td>操作</td></tr>");
		//循环查询用户信息以显示
		for(int i=0;i<al_temp.size();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("<tr><td>"+id+"</td><td>"+name+"</td><td>"+password+"</td><td><a href='Deleteservlet?id="+id+" '>删除用户</a></td><td><a href='Updateservlet?id="+id+"'>修改信息</a></td></tr>");
		}
		out.println("</border>");
		out.println("</table>");
		out.println("</body>");
		out.println("</html>");
	}

 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<test1_db.Userinfo> al_temp=dao.searchAll();
		//循环得到每条记录以验证身份
		for(int i=0;i<al_temp.size();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("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<html>");
		out.println("<body>");
		out.println("用户不存在,请注册……");
		out.println("<p><a href='register.html'>注册</a></p>");
		out.println("</body>");
		out.println("</html>");
	}

 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<test1_db.Userinfo> al_temp = dao.searchById(id);
		//拼出查找结果显示页面
		out.println("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<html>");
		out.println("<head><title>Update</title></head>");
		out.println("<body>");
		out.println("please recorrect the information as follows:");
		out.println("<table border=\"5\"width=\"250px\"bgcolor=\"green\"bordercolor=\"gray\">");
		out.println("<tr><td>ID</td><td>姓名</td><td>密码</td></tr>");
		//获得查找结果集中的参数以用于传入“修改”响应
		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("<form action='Updateservlet?id=" + user.id
//				+ "'  method='post'>");
//		out.println("<tr><td >" + id + "</td><td><input type='text' name='"
//				+ username + "' value='" + name
//				+ "'><br></td><td><input type='text' name='" + userpassword
//				+ "' value='" + password + "'><br></td></tr>");
		// 2、表单传值
		out.println("<form action='Updateservlet'  method='post'>");
		out.println("<tr><td >" + id + "</td><td><input type='text' name='"
				+ username + "' value='" + name
				+ "'><br></td><td><input type='text' name='" + userpassword
				+ "' value='" + password + "'><br></td></tr>");
		out.println("<input type='hidden' name='id' value='" + id + "'>");
		out.println("<input type='submit' value='提交'><input type='reset' name='reset'>");
		out.println("</form>");
		out.println("</border>");
		out.println("</table>");
		out.println("</body>");

	}

	/**
	 * @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");
		
	}
 
  • 大小: 6.8 KB
  • 大小: 40.3 KB
2
0
分享到:
评论
2 楼 JuliaAilse 2012-05-21  
lovebegar 写道
这些简单的东西也要学习下~

恩恩。简单的东西更容易理清思路。哈哈,谢谢光临哈!
1 楼 lovebegar 2012-05-21  
这些简单的东西也要学习下~

相关推荐

    基于b/s的图书管理系统毕业设计源码

    【基于B/S的图书管理系统毕业设计源码】是一款采用Java技术构建的Web应用程序,它以Maven项目的形式提供,能够方便地导入开发环境进行运行。系统的核心目标是实现图书馆日常管理功能,包括书籍的录入、借阅、归还、...

    简单的 Java + Servlet + JSP + Tomcat + MySQL的活动管理系统.zip

    在本项目中,我们探索的是一个基于Java Web技术的简单活动管理系统。这个系统结合了Java、Servlet、JSP、Tomcat服务器以及MySQL数据库,适用于学习和完成毕业设计或课程设计任务。下面将详细介绍这些关键技术和它们...

    基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统

    个人信息管理,课程管理,成绩管理,学生信息管理,教师管理,所有账号管理等。 教师: 个人信息管理,课程管理,成绩管理,学生信息管理等。 学生: 个人信息管理,查看自己的成绩等。

    jsp+servlet+mysql图书权限管理系统

    【jsp+servlet+mysql图书权限管理系统】是一个基于Web的软件应用,主要采用了Java技术栈,包括JSP(JavaServer Pages)、Servlet以及MySQL数据库。这个系统主要用于实现对图书资源的管理和用户权限控制,确保不同...

    JavaWeb旅游管理系统(jsp+servlet+mysql)

    一、技术实现 servlet,jsp,mysql,面向...1.账号管理 2.用户注册管理 3.塞北人文添加模块 4.塞北故事管理模块。 5.塞北景点进行操作。 6.自驾游路线管理。 7.酒店信息管理模块。 8.留言板管理。 9.修改密码和退出登录

    网上银行管理系统jsp+servlet+mysql

    总的来说,"网上银行管理系统jsp+servlet+mysql"是一个结合了前端展示、后端处理和数据存储的完整Web应用实例。它展示了如何使用Java技术栈来构建一个安全、功能齐全的在线银行服务系统。通过学习和理解这个系统的...

    基于jsp+servlet+mysql在线考试管理系统源码案例设计

    基于jsp+servlet+mysql在线考试管理系统毕业源码案例设计 功能说明: 管理员角色包含以下功能:登录页面,管理员首页,考生信息管理,成绩管理,考生录入,题库管理,题目录入,试卷管理等功能。 学生角色包含以下功能:...

    酒店订单管理系统(Jsp+servlet+mysql)130224.zip

    《酒店订单管理系统的实现——基于JSP、Servlet与MySQL》 在信息技术日益发达的今天,酒店行业的运营管理和信息化处理已经成为提升服务质量和效率的关键。本文将详细介绍一个基于JSP(JavaServer Pages)、Servlet...

    基于jsp+servlet+mysql在线考试管理系统

    用了技术框架: HTML+CSS+JavaScript+jsp+servlet+mysql 管理员账号/密码:admin/admin 用户账号/密码: 1009/0000 ## 运行环境:jdk1.8/jdk1.9 ## IDE环境: Eclipse,Myeclipse,IDEA都可以 ## tomcat环境: ...

    基于jsp+servlet+mysql校园任务管理系统

    用了技术框架: HTML+CSS+JavaScript+jsp+servlet+dao+mysql 管理员账号/密码:admin/admin 用户账号/密码: 201111111117/123456 ## 运行环境:jdk1.8/jdk1.9 ## IDE环境: Eclipse,Myeclipse,IDEA都可以 ## ...

    简单购物车JSP+Servlet+MySQL

    【标题】"简单购物车JSP+Servlet+MySQL"是一个基于Web开发的电子商务系统,它实现了基础的购物车功能以及用户管理模块。该系统利用了Java服务器页面(JSP)、Servlet和MySQL数据库来构建,提供了用户登录注册、商品...

    基于jsp+servlet+mysql在线考试管理系统设计

    用了技术框架: HTML+CSS+JavaScript+jsp+servlet+mysql 管理员账号/密码:admin/admin 用户账号/密码: 1009/0000 ## 运行环境:jdk1.8/jdk1.9 ## IDE环境: Eclipse,Myeclipse,IDEA都可以 ## tomcat环境: ...

    基于jsp+servlet+mysql航班机票销售管理系统

    用了技术框架: HTML+CSS+JavaScript+jsp+servlet+mysql 管理员账号/密码:admin/admin 用户账号/密码: user/123456 ## 运行环境:jdk1.8/jdk1.9 ## IDE环境: Eclipse,Myeclipse,IDEA都可以 ## tomcat环境: ...

    javaweb学生成绩管理系统课程设计代码 基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统

    javaweb学生成绩管理系统课程设计代码 基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统 系统环境:Windows10 开发工具:Eclipse4.8.0 / MyEclipse2014 / IDEA 编码集:UTF-8 Java版本:JDK 1.8 服务器:tomcat ...

    基于jsp+servlet+mysql校园任务管理系统设计

    用了技术框架: HTML+CSS+JavaScript+jsp+servlet+dao+mysql 管理员账号/密码:admin/admin 用户账号/密码: 201111111117/123456 ## 运行环境:jdk1.8/jdk1.9 ## IDE环境: Eclipse,Myeclipse,IDEA都可以 ## ...

    基于jsp+servlet+mysql停车位预定管理系统

    用了技术框架: HTML+CSS+JavaScript+jsp+servlet+mysql 管理员账号密码: admin/admin 员工账号密码: xiaoli/123456 ## 运行环境:jdk1.8/jdk1.9 ## IDE环境: Eclipse,Myeclipse,IDEA都可以 ## tomcat环境: ...

    jsp+servlet+mysql图书馆图书借阅管理系统

    用了技术框架: jsp+servlet+dao+mysql 管理员账号/密码:9527/admin 用户账号/密码: 141402103/123456 ## 运行环境:jdk1.8/jdk1.9 ## IDE环境: Eclipse,Myeclipse,IDEA都可以 ## tomcat环境: Tomcat8.x/9.x

    基于jsp+servlet+mysql学生社团管理系统

    用了技术框架: jsp+ servlet + dao + mysql 管理员账号/密码:admin/admin 社长账号/密码: 1/123456 普通社员账号密码:user1/123456 ## 运行环境:jdk1.8/jdk1.9 ## IDE环境: Eclipse,Myeclipse,IDEA都可以 ## ...

    基于jsp+servlet+mysql学生社团管理系统设计

    用了技术框架: jsp+ servlet + dao + mysql 管理员账号/密码:admin/admin 社长账号/密码: 1/123456 普通社员账号密码:user1/123456 ## 运行环境:jdk1.8/jdk1.9 ## IDE环境: Eclipse,Myeclipse,IDEA都可以 ## ...

    javaBean+servlet+jsp+mysql网上书店管理系统及网上销售系统

    《基于JavaBean、Servlet、JSP与MySQL的网上书店管理系统详解》 在互联网技术日新月异的今天,网上书店管理系统已经成为许多实体书店扩展业务、提高服务效率的重要工具。本项目"javaBean+servlet+jsp+mysql网上书店...

Global site tag (gtag.js) - Google Analytics