收藏 分销(赏)

jsp&sql数据库简易商品销售信息管理系统.docx

上传人:pc****0 文档编号:8899002 上传时间:2025-03-07 格式:DOCX 页数:46 大小:1.43MB
下载 相关 举报
jsp&sql数据库简易商品销售信息管理系统.docx_第1页
第1页 / 共46页
jsp&sql数据库简易商品销售信息管理系统.docx_第2页
第2页 / 共46页
点击查看更多>>
资源描述
成 绩 评 定 表 学生姓名 刘慧萍 班级学号 1109010103 专 业 信息与计算科学 课程设计题目 商品销售信息管理系统 评 语 组长签字: 成绩 日期 2013 年12月 日 课程设计任务书 学 院 理学院 专 业 信息与计算科学 学生姓名 刘慧萍 班级学号 1109010103 课程设计题目 商品销售信息管理系统 实践教学要求与任务: 本小型软件利用myeclipse、tomcat和SQL Server2000设计一个商品销售信息管理系统,其可通过网页实现如下功能: 1、进行用户登录及新用户的注册; 2、用户登录之后可对商品信息、营业员信息、商品交易信息等进行整体浏览; 3、可对商品信息、营业员信息、商品交易信息进行主键查询; 4、可对查询后的商品信息、营业员信息和商品交易信息进行修改。 工作计划与进度安排: 第一周: 1、 对该商品销售信息管理系统进行需求分析,并通过通过该数据之间的关系进行数据 库、数据表的设计; 2、然后通过tomcat服务器进行数据库与myeclipse的连接,以便进行后续功能中的数据的增删查改各功能,然后通过myeclipse进行各界面的设置,该软件通过MVC模式实现,首先对各界面进行初步界面设置。 第二周: 1、在上周界面设置的基础上,添加动态的各数据的增删查改等功能。其中主要以设计servlet、javabean、DAO三个层次来以此实现对界面与数据库间的连接。 2、进行课设论文的撰写和答辩等工作。 指导教师: 2013年 12月1日 专业负责人: 2013年 12月 日 学院教学副院长: 2013 年12月 日 摘 要 为提高自身对数据库的进一步了解,并学会将其应用于实际问题,进行了本次课程设计。本文主要通过SQL2000与myeclipse软件的结合,建立了一个商品销售信息管理系统。 首先为实现将两者结合,进行初步的环境准备,如tomcat服务器的安装与连接,系统信息path等的配置,SQL2000中相关jar包的引用。然后在实现初步的配置的基础上,开始进行相关网页的具体设计。本文采取MVC模式进行该系统实现的数据库与jsp网页的连接,其中采用javabean包、servlet、和DAO三层进行该功能的实现。该系统最终可通过网页的形式实现用户的登陆与注册、商品信息、营业员信息和商品交易信息等的数据增删查改功能。具体实现步骤将在下文中具体给出。 本次课程设计让我学到很多数据库相关知识及jsp相关知识,获益良多,感谢各位朋友们的倾力帮助,相信助人者天助也! 关键词 商品销售信息管理;jsp网站(tomcat、SQL2000);MVC模式 目 录 1 系统功能概述 5 1.1.系统功能 5 1.2.系统层次图 6 2 数据库设计 6 2.1 需求分析 7 2.2 E-R模型 7 2.3 关系模型 8 2.4 表结构设计 9 3 系统各功能模块的详细设计 14 3.1 tomcat与数据库连接 14 3.2 用户登陆模块 15 3.3注册新用户模块 20 3.4主窗体界面 25 3.5数据管理(增、删、改)模块 27 3.5.1信息查询管理 27 3.5.2信息浏览管理 33 3.5.3 信息添加管理 36 3.5.4 信息修改管理 39 3.5.4 信息删除管理 43 4 课程设计总结 46 参考文献 46 1 系统功能概述 1.1.系统功能 本系统主要以网上商城为模板进行简化的商品销售管理系统设计,将jsp网页与SQL2000相结合以实现以下如要功能: 1、进行用户登录及新用户的注册; 2、用户登录之后可对商品信息、营业员信息、商品交易信息等进行整体浏览; 3、可对商品信息、营业员信息、商品交易信息进行主键查询; 4、可对查询后的商品信息、营业员信息和商品交易信息进行修改。 1.2.系统层次图 图1-1 系统层次图 2 数据库设计 2.1 需求分析 该系统主要以实现商品信息、营业员、供货商信息的数据增删查改功能,在应用SQL2000数据库与jsp开发语言结合,以实现网页版的系统功能。如下为该系统的具体功能设计和数据库、数据表设计。 2.1.1、系统功能 1、商品信息管理 该功能可对商品信息进行浏览,添加,查询,修改,删除等操作,并均可通过网页的形式进行操作,同时在此基础上可对其进行进一步完善功能的添加。 2、供货商信息管理 该功能可对供货商信息进行浏览,添加,查询,修改,删除等操作,同样均可通过网页的形式进行操作,同时在此基础上可对其进行进一步完善功能的添加。 3、商品交易数据管理 该功能可对商品交易情况信息进行浏览,添加,查询,修改,删除等操作,也均可通过网页的形式进行操作,同时在此基础上可对其进行进一步完善功能的添加。 2.1.2、数据库的设计 该数据库包含以下实体及其属性: 1、商品信息(商品编号、商品名称、种类、库存量) 2、营业员信息(营业员编号,姓名,性别,联系电话) 3、供货商信息(供货商号、供货商名称、地址、联系人、联系电话、电子邮件) 4、系统信息(用户名、密码) 5、营业员卖出商品(售价、件数、交易日期) 6、供货商供应商品(进货日期、数量、进价) 2.2 E-R模型 图2-1 系统E-R模型 2.3 关系模型 图2-2 商品信息关系模型 图2-3 营业员信息关系模型 图2-4 供货商信息关系模型 图2-5 系统信息关系模型 图2-6 营业员卖出商品关系模型 图2-7 供货商供应信息关系模型 2.4 表结构设计 本系统在SQL Server2000数据库里共设计了以下6个数据表来记录数据: 1、商品信息表建立及其数据: SQL语句: create table product_info( product_id varchar(20) primary key, product_name varchar(20) not null, product_category varchar(20), product_stock int not null ); 数据: 图2-8 商品数据截图 2、 营业员信息表建立及其数据: SQL语句: create table assistant_info( assistant_id varchar(20) primary key, assistant_name varchar(20) not null, assistant_gender varchar(20) not null, assistant_phone varchar(20) not null ); 数据: 图2-9 营业员数据截图 3、 供货商信息表建立及其数据: SQL语句: create table supplier_info( supplier_id varchar(20) primary key, supplier_name varchar(20) not null, supplier_address varchar(50) not null, supplier_linkman varchar(20) not null, supplier_phone varchar(20) not null, supplier_email varchar(20) ); 数据: 图2-10 供应商数据截图 4、 系统信息表建立及其数据: SQL语句: create table system_info( system_name varchar(20) primary key, system_password varchar(20) not null ); 数据: 图2-11 系统数据截图 5、 营业员卖出商品信息表建立及其数据: SQL语句: create table sale_product_info( assistant_id varchar(20), product_id varchar(20), product_price float not null, product_number int not null, sale_date date not null, constraint fk_assistant_info foreign key(assistant_id) references assistant_info(assistant_id), constraint fk_product_info foreign key(product_id) references product_info(product_id), constraint pk_assistant_product primary key(assistant_id,product_id) ); 数据: 图2-12 卖出商品数据截图 6、 供货商供应商品信息表建立及其数据: SQL语句: create table supply_product_info( supplier_id varchar(20), product_id varchar(20), product_bid float not null, product_number int not null, bid_date date, constraint fk_supplier_info foreign key(supplier_id) references supplier_info(supplier_id), constraint fk_product2_info foreign key(product_id) references product_info(product_id), constraint pk_supplier_product primary key(supplier_id,product_id) ); 数据: 图2-13 供应商品数据截图 3 系统各功能模块的详细设计 3.1 tomcat与数据库连接 首先在tomcat官网中下载tomcat服务器并对其进行安装,并在环境变量中设置path路径。然后在下载SQL2000连接的驱动jar包,并将其导入tomcat的lib文件夹中且同时在该系统工程中引入jar包。 然后建立一个java的utilclass类进行数据库与服务器相连接与其断开的程序编写,具体程序语句如下: package Util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public final class DBUtil { private DBUtil(){ } static { try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getConnection(){ Connection conn = null; try { conn = DriverManager.getConnection ("jdbc:sqlserver://localhost:1433;database=shopping","test","292211"); } catch (SQLException e) { e.printStackTrace(); } finally{ return conn; } } public static void closeConnection(Connection conn){ if(conn != null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } 此java类可实现系统与数据库的连接与断开,在后续的系统功能设置中可直接引用该类中的方法即可。 3.2 用户登陆模块 为实现用户的登陆功能,此系统采用MVC模式将其分为三个层次以实现其功能。 3.2.1 jsp界面 运用jsp网页开发语言,进行用户登陆界面的设计。其可实现通过互联网直接进行访问。 程序语句如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>登录界面</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body > <form action="login.let" method="post"> <table> <tr> <td>用户名:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>密码:</td> <td><input type="password" name="password"></td> </tr> <tr> <td><input type="submit" value="确认"/></td> <td><input type="reset" value="取消"/></td> </tr> </table> </form> </body> </html> 界面形式如下: 图3-1 系统用户登陆界面图 3.2.2 DAO方法类 为遵循MVC模式,将界面与具体实现方法与数据库分割开来,建立DAO类来实现界面调用数据库中的数据功能。 程序语句如下: package dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import Util.DBUtil; import bean.SystemInfoBean; // 登录方法 public SystemInfoBean login(SystemInfoBean systemInfo) { // 定义空的返回值对象 SystemInfoBean system = null; try { // 获取连接对象 Connection conn = DBUtil.getConnection(); // 创建SQL语句 String sql ="select * from system_info where system_name=? and system_password=?"; PreparedStatement pstmt = conn.prepareStatement(sql); // 给SQL语句设值 pstmt.setString(1, systemInfo.getSystemInfo()); pstmt.setString(2, systemInfo.getSystemPassword()); //执行查询语句,得到ResultSet结果集 ResultSet rs = pstmt.executeQuery(); if(rs.next()){ system = new SystemInfoBean(); system.setSystemInfo(rs.getString(1)); system.setSystemPassword(rs.getString(2)); } // 关闭数据库连接 DBUtil.closeConnection(conn); } catch (Exception e) { e.printStackTrace(); } finally { return system; } } } 3.2.3 javabean方法类 Javabean方法类主要实现调用数据库中各表的属性,采用封装的方法将各属性封装成bean包,并通过get与set方法进行各属性的调用。 程序语句如下: package bean; public class SystemInfoBean { private String systemInfo; private String systemPassword; public String getSystemInfo() { return systemInfo; } public void setSystemInfo(String systemInfo) { this.systemInfo = systemInfo; } public String getSystemPassword() { return systemPassword; } public void setSystemPassword(String systemPassword) { this.systemPassword = systemPassword; } } 3.2.4 servlet方法类 Servlet主要实现服务器的调用,以便实现完整的数据库中数据与jsp界面的连接与其增删查改功能。 程序语句如下: package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import bean.SystemInfoBean; import dao.SystemInfoDAO; public class LoginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); // 获取登录界面输入的值 String username = request.getParameter("username"); String password = request.getParameter("password"); // 将值赋值给SystemInfoBean对象 SystemInfoBean systemInfo = new SystemInfoBean(); systemInfo.setSystemInfo(username); systemInfo.setSystemPassword(password); SystemInfoDAO dao = new SystemInfoDAO(); SystemInfoBean system = dao.login(systemInfo); String path = ""; if(system != null){ HttpSession session = request.getSession(); // //将登录成功的信息传给主界面 session.setAttribute("login_info", system); path = "/main.jsp"; }else{ request.setAttribute("error_info", "用户名或密码错误,登录失败!"); path = "/login.jsp"; } //实现页面跳转,登录成功,则转到主界面,失败则重新回到登录界面 RequestDispatcher reqDispatch = request.getRequestDispatcher(path); reqDispatch.forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } } 3.3注册新用户模块 类似于用户登录实现一样,首先设计用户注册的界面设置。因需要用的数据库表为同一个表,因而其javabean包为同一个。因而只需对新用户注册的界面与DAO类方法与servlet类进行设置即可。具体步骤与程序如下: 3.3.1 jsp界面 程序语句如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>注册界面</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body > <h3>注册新用户</h3> <form action="regist.let" method="post"> <table> <tr> <td>用户名:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>输入密码:</td> <td><input type="password" name="password"></td> </tr> <tr> <td>确认密码:</td> <td><input type="password" name="confirmPassword"></td> </tr> <tr> <td><input type="submit" value="确认"/></td> <td><input type="reset" value="取消"/></td> </tr> </table> </form> </body> </html> 界面如下: 图3-2 用户注册界面图 3.3.2 DAO方法类 程序语句如下: public class SystemInfoDAO { // 注册方法 public boolean regist(SystemInfoBean systemInfo) { // 定义空的返回值对象 boolean flag = false; try { // 获取连接对象 Connection conn = DBUtil.getConnection(); // 创建SQL语句 String sql = "insert into system_info (system_name,system_password) values(?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); // 给SQL语句设值 pstmt.setString(1, systemInfo.getSystemInfo()); pstmt.setString(2, systemInfo.getSystemPassword()); // 执行SQL语句,并返回值 int count = pstmt.executeUpdate(); if (count > 0) { flag = true; } // 关闭数据库连接 DBUtil.closeConnection(conn); } catch (Exception e) { e.printStackTrace(); } finally { return flag; } } 在servlet类中调用如上所示的注册方法,以实现将注册信息数据存入数据库中。 3.3.3 servlet类 因MVC模式是将模型,视图,控制器三者分开,因而每一个功能的实现均需要一个servlet类方法。 程序语句如下: package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dao.SystemInfoDAO; import bean.SystemInfoBean; public class RegistServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); // 获取注册界面输入的值 String username = request.getParameter("username"); String password = request.getParameter("password"); // 将值赋值给SystemInfoBean对象 SystemInfoBean systemInfo = new SystemInfoBean(); systemInfo.setSystemInfo(username); systemInfo.setSystemPassword(password); SystemInfoDAO dao = new SystemInfoDAO(); boolean flag = dao.regist(systemInfo); String msg = ""; if (flag) { msg = "注册成功"; } else { msg = "注册失败"; } response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.print("<h3 style='color:red'>" + msg + "</h3>"); out.print("<a href='login.jsp'>登录</a>"); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } } 3.4主窗体界面 主窗体界面设计了三个主菜单:文件,数据管理,数据查询。文件菜单可以实现注册新用户和退出功能;数据管理可对商品信息,营业员信息,供应商信息,营业员卖出商品信息,供应商供应商品信息进行浏览与修改等操作;数据添加即可对对商品信息,营业员信息,供应商信息,营业员卖出商品信息,供应商供应商品信息进行添加操作;数据删除可对商品信息,营业员信息,供应商信息,营业员卖出商品信息,供应商供应商品信息实现删除功能。 3.4.1 jsp界面 程序语句如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>登录界面</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body > <label>${system.systemInfo}欢迎访问</label> <form action="" method="post"> <table> <tr> <th>文件</th> <th>数据管理</th> <th>数据查询</th> <th>数据添加</th> <th>数据删除</th> </tr> <tr> <td><a href="regist.jsp">注册新用户</a></td> <td><a href="scanAllProductInfo.let">商品信息</a></td> <td><a href="searchS.jsp">查询供货商信息</a></td> <td><a href="">添加供货商信息</a></td> <td><a href="">删除供货商信息</a></td> </tr> <tr> <td><a href="login.jsp">退出</a></td> <td><a href="scanAllAssistantInfo.let">营业员信息</a></td> <td><a href="searchP.jsp">查询商品信息</a></td> <td><a href="">添加商品信息</a></td> <td><a href="">删除商品信息</a></td> </tr> <tr> <td></td> <td><a href="scanAllSupplierInfo.let">供货商信息</a></td> <td><a href="searchSP.jsp">查询商品交易信息</a></td> <td><a href="">添加商品交易信息</a></td> <td><a href="">删除商品交易信息</a></td> </tr>
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服