1、DAO登录注册管理系统登录注册管理模块1、 项目概述11、产品描述 本模块用于用户的登录、注册,管理员登录查看所有人信息并进行管理。 以普通用户登录时,输入用户名、密码,不正确返回登录页面从新登陆。若用户名,密码均正确,则跳转到主界面。在主界面中显示用户的所有信息。 以管理员身份登录是,输入用户名、密码,不正确返回登录页面从新登陆。若用户名,密码均正确,则跳转到管理员主界面。在主界面显示管理员的所有信息和所有普通用户的信息并可以对此进行删除操作。 用户注册时输入信息进行注册,若注册不成功则跳转到注册页面重新注册。若成功注册跳回登陆界面。12、产品功能 1、用户登录功能 2、用户信息注册功能 3
2、、管理员管理用户功能13软件开发平台 开发语言:jsp 数据库:Access2003 开发工具:MyEclipse 按照OOP思想,DAO设计模式和MVC设计模式的结合,分层设计。14使用前须知 开发语言:jsp请把DaoLogin.mdb的数据库放到F盘根目录下或者在DaoLoginsrcdaotest Conn.java中DBQ=f:/DaoLogin.mdb修改成DaoLogin.mdb的路径2、具体要求21、功能需求 用户信息的注册,用户的登录,管理员管理用户。22、性能需求 按照DAO设计模式,分层设计程序,包括界面层、业务层、数据接口层,按照MVC设计模式前台页面,控制器,模型。2
3、3、系统用例 本系统用例如图所示。24系统流程图25系统类图本系统类图如图所示 3.界面设计3.1、登录模块3.2、注册模块3.3、用户主界面3.4、管理员主界面4.主要功能代码4.1、bean对象/实体beanpackage dao.bean;public class UserBean private int id; private String sUsername; private String sPassword; private String sSex; private String sAddress; public void setId(int id) this.id=id; pub
4、lic void setUsername(String sUsername) this.sUsername=sUsername; public void setPassword(String sPassword) this.sPassword=sPassword; public void setSex(String sSex) this.sSex=sSex; public void setAddress(String sAddress) this.sAddress=sAddress; public int getId() return this.id; public String getUse
5、rname() return this.sUsername; public String getPassword() return this.sPassword; public String getSex() return this.sSex; public String getAddress() return this.sAddress; 4.2、抽象接口设计/业务层,DAO接口,用于规范业务逻辑package dao.test;import java.util.List;import dao.bean.UserBean;public interface UserDAO public boo
6、lean reg(UserBean userbean); public UserBean log(UserBean userbean,String biao); public UserBean selectById(int userID); public boolean deleteById(int userID); public List selectAll();4.3、接口实现类设计/业务层,DAO实现类,用户实现具体业务逻辑package dao.test;import java.util.*;import java.sql.*;import dao.bean.*;public clas
7、s UserDAOImpl implements UserDAO /用户登录注册类 public boolean reg(UserBean userbean) boolean flag=false; String sql=insert into yonghu (username,password,sex,address) values (?,?,?,?); PreparedStatement pstmt=null; Conn dbc=null; try dbc=new Conn(); pstmt=dbc.getConnection().prepareStatement(sql); pstmt.
8、setString(1,userbean.getUsername(); pstmt.setString(2,userbean.getPassword(); pstmt.setString(3,userbean.getSex(); pstmt.setString(4,userbean.getAddress(); pstmt.executeUpdate(); if(pstmt.executeUpdate()0) flag=true; pstmt.close(); catch(Exception e) finally dbc.close(); return flag; /用户登录类 public U
9、serBean log(UserBean userbean,String biao) String sql=select * from +biao+ where username=? and password=?; PreparedStatement pstmt=null; Conn dbc=null; ResultSet rs=null; UserBean user=null; try dbc=new Conn(); pstmt=dbc.getConnection().prepareStatement(sql); pstmt.setString(1,userbean.getUsername(
10、); pstmt.setString(2,userbean.getPassword(); rs=pstmt.executeQuery(); while(rs.next() user=new UserBean(); user.setId(rs.getInt(id); user.setUsername(rs.getString(username); user.setPassword(rs.getString(password); user.setSex(rs.getString(sex); user.setAddress(rs.getString(address); rs.close(); pst
11、mt.close(); catch(Exception e) finally dbc.close(); return user; /根据用户id查询记录类 public UserBean selectById(int userID) String sql=select * from yonghu where id=?; PreparedStatement pstmt=null; Conn dbc=null; ResultSet rs=null; UserBean userbean=null; try dbc=new Conn(); pstmt=dbc.getConnection().prepa
12、reStatement(sql); pstmt.setInt(1, userID); rs=pstmt.executeQuery(); while(rs.next() userbean=new UserBean(); userbean.setId(rs.getInt(id); userbean.setUsername(rs.getString(username); userbean.setPassword(rs.getString(password); userbean.setSex(rs.getString(sex); userbean.setAddress(rs.getString(add
13、ress); rs.close(); pstmt.close(); catch(Exception e) finally dbc.close(); return userbean; /根据用户id删除数据类 public boolean deleteById(int userID) boolean flag=false; String sql=delete from yonghu where ID=?; PreparedStatement pstmt=null; Conn dbc=null; try dbc=new Conn(); pstmt=dbc.getConnection().prepa
14、reStatement(sql); pstmt.setInt(1, userID); pstmt.executeUpdate(); if(pstmt.executeUpdate()0) flag=true; pstmt.close(); catch(Exception e) finally dbc.close(); return flag; /查询所有用户类 public List selectAll() String sql=select * from yonghu; PreparedStatement pstmt=null; Conn dbc=null; ResultSet rs=null
15、; List all=new ArrayList(); try dbc=new Conn(); pstmt=dbc.getConnection().prepareStatement(sql); rs=pstmt.executeQuery(); while(rs.next() UserBean userbean=new UserBean(); userbean.setId(rs.getInt(id); userbean.setUsername(rs.getString(username); userbean.setPassword(rs.getString(password); userbean
16、.setSex(rs.getString(sex); userbean.setAddress(rs.getString(address); all.add(userbean); rs.close(); pstmt.close(); catch(Exception e) finally dbc.close(); return all; 4.4、抽象工厂设计/业务层,用于获得DAO实现类package dao.test;public class DaoFactory public static UserDAO getUserDAO() return new UserDAOImpl(); 4.5、数
17、据库接口层/数据访问层,获取数据库连接package dao.test;import java.sql.*;public class Conn private final String driverName=sun.jdbc.odbc.JdbcOdbcDriver; private final String DBURL=jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=f:/DaoLogin.mdb; private Connection conn=null; public Conn() try Class.forName(driverN
18、ame); this.conn=DriverManager.getConnection(DBURL); catch(Exception e) public Connection getConnection() return this.conn; public void close() try this.conn.close(); catch(Exception e) 4.6、ControlServlet控制器/Servlet控制器package servlets;import java.io.IOException;import javax.servlet.ServletException;i
19、mport javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dao.bean.UserBean;import dao.test.DaoFactory;public class ControlServlet extends HttpServlet private static final String CONTENT_TYPE = text/html; charset=GBK; publi
20、c void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /用户登录的Servlet private void processUserLogin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String username= request.getParameter ( username ); S
21、tring password= request.getParameter ( password ); String type= request.getParameter ( type ); UserBean userbean=new UserBean(); userbean.setUsername(username); userbean.setPassword(password); if(type.equals(manager) UserBean superuser=DaoFactory.getUserDAO().log(userbean,superyonghu); if(superuser!
22、=null) / request.getSession ( ).setAttribute ( userbean,user); UserBean user=DaoFactory.getUserDAO().log(userbean,yonghu); int id=user.getId(); response.sendRedirect ( manager.jsp?userID=+id ); else response.sendRedirect ( login.jsp ); else UserBean user=DaoFactory.getUserDAO().log(userbean,yonghu);
23、 if(user!=null) / request.getSession ( ).setAttribute ( userbean,user); int id=user.getId(); response.sendRedirect ( success.jsp?userID=+id ); else response.sendRedirect ( login.jsp ); /用户删除的Servlet protected void processUserDelete(HttpServletRequest request, HttpServletResponse response) throws Ser
24、vletException, IOException int deleteId=Integer.parseInt(request.getParameter ( deleteId ); int userId=Integer.parseInt(request.getParameter ( userId ); boolean flag=DaoFactory.getUserDAO().deleteById(deleteId); if(flag!=true) response.sendRedirect ( manager.jsp?userID=+userId); else response.sendRe
25、direct ( manager.jsp?userID=+userId ); /用户注册的Servlet protected void processUserZhuce(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String username= request.getParameter ( username ); String password= request.getParameter ( password ); String sex= requ
26、est.getParameter ( sex ); String address= request.getParameter ( address ); UserBean userbean=new UserBean(); userbean.setUsername(username); userbean.setPassword(password); userbean.setSex(sex); userbean.setAddress(address); boolean flag=DaoFactory.getUserDAO().reg(userbean); if(flag=true) response
27、.sendRedirect ( login.jsp ); else response.sendRedirect ( zhuce.jsp ); protected void doPost ( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException request.setCharacterEncoding(GBK); response.setContentType(CONTENT_TYPE); String action = request.getParameter(action); if (login.equals(action) processUserLogin(request, response); else if (delete.equals(action) processUserDelete(request, response); else if(zhuce.equals(action) processUserZhuce(request,response); 5、 web.xml配置web-app version=2.4 xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance xs
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1