1、依据需求分析结果,通讯簿管理系统可以分为3个模块:数据库访问模块、用户权限管理模块、用户功能模块,如图所示:数据库访问模块用户权限管理模块用户功能模块2.3模块设计(1)数据库访问模块:数据库访问模块功能树如图所示:加载驱动程序创建连接,执行查询语句创建连接,执行非查询语句关闭连接(2)用户权限管理模块:提供新用户注册功能、用户登录功能和用户退出功能。用户权限管理模块功能树如图所示:用户注册用户登录用户退出(3)用户功能模块:包括查询通讯记录功能、添加新用户功能、修改用户信息和删除用户信息等功能。用户功能模块功能树如图所示:查询用户添加用户删除用户修改用户2.4系统流程描述开始新用户注册退出2
2、.5界面设计 通讯簿管理系统的界面设计仍要遵循简洁美观、方便易用的原则。为使用户在各个功能页面方便地跳转,并能随时查看运行结果,本系统采用了划分框窗的页面布局方式,将整个浏览器窗口划分为3个区域。其中,top区域主要负责显示各个功能页面的超链接,便于用户随时切换;left区域主要负责显示用户进行当前操作时输入信息的表单;right区域主要负责显示每次操作的运行结果。具体设计如下:系统登录页面设计效果图注册新用户页面设计效果图用户功能页面(查询用户页面)设计效果图修改用户信息页面设计效果图添加用户页面设计效果图删除用户页面设计效果图2.6数据库设计本系统采用MySQL数据库,在数据库中使用数据表
3、userinfo来储存用户信息,表的结构如下表所示:3.详细设计基于系统需求分析与系统总体设计结论,将分别阐述系统的详细设计和实现过程。3.1应用部署图3.2访问数据库的JavaBean由于在本系统的多个JSP页面中都需要访问数据库,因此使用一个JavaBean来专门完成数据库的连接、访问等操作。这样,既可以节省编码时间,也提高了代码的利用率。1.模块描述负责完成与数据库的连接、访问、关闭等操作。2.类的设计与实现(1)名称:databaseTXB.java(2)功能:负责完成与数据库的连接、访问、关闭等操作(3)程序设计清单:package database;import java.sql.
4、*;import java.lang.*;public class databaseTXB Connection connect=null;ResultSet rs=null;public databaseTXB() try Class.forName(com.mysql.jdbc.Driver); catch(ClassNotFoundException e) System.err.println(e.getMessage();public boolean logInUser(String userName,String userPassword)/用户登录 boolean userExis
5、t=false; try connect=DriverManager.getConnection(jdbc:mysql:/localhost:3306/db,root123 Statement stmt=connect.createStatement(); String strSql=select*from userinfo where userName=+change(userName)+and userPassword=+userPassword+; /建立查找用户名和密码的SQL语句 rs=stmt.executeQuery(strSql); /执行该SQL语句,运回ResultSet对
6、象 if(rs.next()/分析ResultSet对象,确定用户是否存在 userExist=true; connect.close(); return userExist; catch(SQLException e) e.printStackTrace(); return false;public ResultSet executeQuery(String sql)/执行SQL语句 rs=stmt.executeQuery(sql); catch(SQLException ex) System.err.println(ex.getMessage();return rs;public int
7、 executeUpdate(String sql)/修改用户 int result=0; connect=DriverManager.getConnection( result=stmt.executeUpdate(sql);return result;public static String change(String str)/处理中文转码 byte byteStr=str.getBytes(ISO-8859-1 return new String(byteStr,GBK catch(Exception e) return str;public void close()/关闭连接 con
8、nect.close(); System.out.println(e.getMessage();3.3用户权限管理模块用户权限管理模块主要提供新用户注册、用户登录及退出等功能。其中完成注册、登录功能的各JSP页面中均需访问数据库,因此直接调用了刚刚实现并发布好的DatabaseBean来完成数据库操作。提供新用户注册功能、登录功能、退出功能。2.源文件定义(1)login.html名称:通讯簿管理系统首页功能:系统登录页面,核对用户登录系统时的用户名和密码html title用户登录meta http-equiv=keywords content=keyword1,keyword2,keywo
9、rd3descriptionthis is my pagecontent-typetext/html; charset=GBK-/headbody background=23.jpgcenterh2/h2form method=post action=/JSP_Demo/servlet/servletTXBtable border bordercolor=#0099FF bgcolor=#CCFFFFtrtd width=40%用户名:/tdtdinput type=text name=name密码:passwordtd colspan=2 align=center /forma href=r
10、egister.jsp新用户注册/center/body/html(2)servletTXB.java处理登录信息的servlet调用databaseTXB.jsp中的logInUser方法,核对用户登录信息。当用户信息正确时,转到用户功能页面,不正确时,重定向回login页面。import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.Http
11、ServletRequest;import javax.servlet.http.HttpServletResponse;import database.databaseTXB;public class servletTXB extends HttpServlet /* * Constructor of the object. */ public servletTXB() super(); * Destruction of the servlet. public void destroy() super.destroy(); / Just puts destroy string in log
12、/ Put your code here * The doGet method of the servlet. HEADTITLEA Servlet/HEADBODY out.print( This is out.print(this.getClass();, using the GET method/BODY/HTML out.flush(); out.close(); * The doPost method of the servlet. * This method is called when a form has its tag value method equals to post.
13、 public void doPost(HttpServletRequest request, HttpServletResponse response), using the POST method databaseTXB database=new databaseTXB(); String uN=request.getParameter( String userPS=request.getParameter( try if(database.logInUser(uN, userPS) response.sendRedirect(home.jsp elselogin.html catch(E
14、xception e) out.println(Error. * Initialization of the servlet. DOCTYPE html PUBLIC http:/www.w3.org/TR/html4/loose.dtdContent-Type用户注册5.jpgdealregister.jspuserNameuserPassword性别:radiosex男男&女女年龄:age联系电话:phone电子邮件:email地址:address注册(4)dealregister.jsp新用户注册处理页面将新用户的信息储存到userinfo表中 import=java.sql.*注册处理页面jsp:u
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1