DAO登录注册管理系统Word格式文档下载.docx
《DAO登录注册管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《DAO登录注册管理系统Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
2.2、性能需求
按照DAO设计模式,分层设计程序,包括界面层、业务层、数据接口层,按照MVC设计模式前台页面,控制器,模型。
2.3、系统用例
本系统用例如图所示。
2.4系统流程图
2.5系统类图
本系统类图如图所示
3.界面设计
3.1、登录模块
3.2、注册模块
3.3、用户主界面
3.4、管理员主界面
4.主要功能代码
4.1、bean对象
//实体bean
packagedao.bean;
publicclassUserBean{
privateintid;
privateStringsUsername;
privateStringsPassword;
privateStringsSex;
privateStringsAddress;
publicvoidsetId(intid){
this.id=id;
}
publicvoidsetUsername(StringsUsername){
this.sUsername=sUsername;
publicvoidsetPassword(StringsPassword){
this.sPassword=sPassword;
publicvoidsetSex(StringsSex){
this.sSex=sSex;
publicvoidsetAddress(StringsAddress){
this.sAddress=sAddress;
publicintgetId(){
returnthis.id;
publicStringgetUsername(){
returnthis.sUsername;
publicStringgetPassword(){
returnthis.sPassword;
publicStringgetSex(){
returnthis.sSex;
publicStringgetAddress(){
returnthis.sAddress;
}
4.2、抽象接口设计
//业务层,DAO接口,用于规范业务逻辑
packagedao.test;
importjava.util.List;
importdao.bean.UserBean;
publicinterfaceUserDAO{
publicbooleanreg(UserBeanuserbean);
publicUserBeanlog(UserBeanuserbean,Stringbiao);
publicUserBeanselectById(intuserID);
publicbooleandeleteById(intuserID);
publicListselectAll();
4.3、接口实现类设计
//业务层,DAO实现类,用户实现具体业务逻辑
importjava.util.*;
importjava.sql.*;
importdao.bean.*;
publicclassUserDAOImplimplementsUserDAO{
//用户登录注册类
publicbooleanreg(UserBeanuserbean){
booleanflag=false;
Stringsql="
insertintoyonghu(username,password,sex,address)values(?
?
)"
;
PreparedStatementpstmt=null;
Conndbc=null;
try{
dbc=newConn();
pstmt=dbc.getConnection().prepareStatement(sql);
pstmt.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(Exceptione)
{
}
finally{
dbc.close();
returnflag;
//用户登录类
publicUserBeanlog(UserBeanuserbean,Stringbiao){
select*from"
+biao+"
whereusername=?
andpassword=?
"
ResultSetrs=null;
UserBeanuser=null;
rs=pstmt.executeQuery();
while(rs.next()){
user=newUserBean();
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();
catch(Exceptione)
returnuser;
//根据用户id查询记录类
publicUserBeanselectById(intuserID){
select*fromyonghuwhereid=?
UserBeanuserbean=null;
pstmt.setInt(1,userID);
userbean=newUserBean();
userbean.setId(rs.getInt("
userbean.setUsername(rs.getString("
userbean.setPassword(rs.getString("
userbean.setSex(rs.getString("
userbean.setAddress(rs.getString("
}rs.close();
returnuserbean;
//根据用户id删除数据类
publicbooleandeleteById(intuserID){
deletefromyonghuwhereID=?
//查询所有用户类
publicListselectAll(){
select*fromyonghu"
Listall=newArrayList();
UserBeanuserbean=newUserBean();
all.add(userbean);
returnall;
4.4、抽象工厂设计
//业务层,用于获得DAO实现类
publicclassDaoFactory{
publicstaticUserDAOgetUserDAO(){
returnnewUserDAOImpl();
4.5、数据库接口层
//数据访问层,获取数据库连接
publicclassConn{
privatefinalStringdriverName="
sun.jdbc.odbc.JdbcOdbcDriver"
privatefinalStringDBURL="
jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};
DBQ=f:
/DaoLogin.mdb"
privateConnectionconn=null;
publicConn(){
Class.forName(driverName);
this.conn=DriverManager.getConnection(DBURL);
catch(Exceptione){}
publicConnectiongetConnection(){
returnthis.conn;
publicvoidclose(){
this.conn.close();
4.6、ControlServlet控制器
//Servlet控制器
packageservlets;
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importdao.test.DaoFactory;
publicclassControlServletextendsHttpServlet{
privatestaticfinalStringCONTENT_TYPE="
text/html;
charset=GBK"
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException
{
//用户登录的Servlet
privatevoidprocessUserLogin(HttpServletRequestrequest,
HttpServletResponseresponse)throwsServletException,IOException{
Stringusername=request.getParameter("
);
Stringpassword=request.getParameter("
Stringtype=request.getParameter("
type"
UserBeanuserbean=newUserBean();
userbean.setUsername(username);
userbean.setPassword(password);
if(type.equals("
manager"
))
{UserBeansuperuser=DaoFactory.getUserDAO().log(userbean,"
superyonghu"
);
if(superuser!
=null){
//request.getSession().setAttribute("
userbean"
user);
UserBeanuser=DaoFactory.getUserDAO().log(userbean,"
yonghu"
intid=user.getId();
response.sendRedirect("
manager.jsp?
userID="
+id);
}
else
login.jsp"
else{
UserBeanuser=DaoFactory.getUserDAO().log(userbean,"
if(user!
//request.getSession().setAttribute("
intid=user.getId();
response.sendRedirect("
success.jsp?
}
else
//用户删除的Servlet
protectedvoidprocessUserDelete(HttpServletRequestrequest,
intdeleteId=Integer.parseInt(request.getParameter("
deleteId"
));
intuserId=Integer.parseInt(request.getParameter("
userId"
booleanflag=DaoFactory.getUserDAO().deleteById(deleteId);
if(flag!
=true){
response.sendRedirect("
+userId);
else
+userId);
//用户注册的Servlet
protectedvoidprocessUserZhuce(HttpServletRequestrequest,
Stringsex=request.getParameter("
Stringaddress=request.getParameter("
userbean.setSex(sex);
userbean.setAddress(address);
booleanflag=DaoFactory.getUserDAO().reg(userbean);
if(flag==true)
zhuce.jsp"
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException
request.setCharacterEncoding("
GBK"
response.setContentType(CONTENT_TYPE);
Stringaction=request.getParameter("
action"
if("
login"
.equals(action))
processUserLogin(request,response);
elseif("
delete"
processUserDelete(request,response);
else
if("
zhuce"
.equals(action))
processUserZhuce(request,response);
5、web.xml配置
<
?
xmlversion="
1.0"
encoding="
UTF-8"
>
web-appversion="
2.4"
xmlns="
xmlns:
xsi="
http:
//www.w3.org/2001/XMLSchema-instance"
xs