javaEE课程设计报告

 

课 程 设 计

课程名称:        JAVAEE/.NET课程设计                         

设计题目:        校园超市商品信息管理系统                                 

学    院:         信息工程与自动化学院                         

专    业:           计算机科学与技术                       

年    级:              20##年级                      

学生姓名:                                               

指导教师:                                        

日    期:        20##-6-30——20##-7-11                      

   

教 务 处 制

 

课 程 设 计 任 务 书

信息工程与自动化 学院    计算机科学与技术 专业   2011 年级

学生姓名: 张建兴       

课程设计题目:   校园超市商品信息管理系统                                       

课程设计主要内容:

    本次课程设计自主完成一个系统,题目学生自定。我设计的是一个校园超市商品信息管理系统,是一个小型系统,适用于一些小型超市,对库存商品,售出商品,日常业务进行管理。主要采用jsp+servlet+数据库配合的方式工作。Jsp负责页面显示,servlet处理逻辑业务,后台数据库采用mysql数据库。用到连接数据库,对数据库的操作,servlet跳转,实现部件之间的合作,前台(jsp)获取并显示后台(数据库)数据,或者后台(数据库)获取并存储前台数据。

设 计 指 导 教 师 (签字):                   

教学基层组织负责人(签字):                   

年      月      日


摘  要

本次课程设计题目有学生自定,学生可以受日常学习生活启发来设计一个系统。这次课程设计主要要求学生掌握javaEE网络编程,老师要求学生自主完成规模不限的系统,自定题目,自主设计。对于这次课程设计,我把它当做一次实践的机会,设计过程中希望通过跟同学讨论,提问老师等方式使自己得到提升,毕竟平时自己一个人琢磨很难解决一些问题,也很难提高技巧。之前对于MVC编程方法的逻辑不是那么清晰,很难衔接好各个层之间的接口。如果时间足够,希望这一次通过各种方法,在采用MVC的编程思想的前提下,自己完成一个完整的系统。这一次我自主设计并完成了校园超市商品信息管理系统,旨在复习javaEE/.net的知识,并从这一次实践中获得技术的提升。熟练编程中的一些技巧和编程中常见的错误

每个校园内都会有好几个小型的超市,虽然说是小型,但也提供了上万学生日常所需的任何商品,在我印象中在校园里的超市能找到你所需要的一切。超市的商品肯定很多,零零碎碎很繁杂,难管理,所以一个管理超市商品信息和业务的系统根由必要。可以减轻店员的工作量,提高效率。

   超市商品信息管理系统是一个规划管理超市商品的价格,库存,利润和日常的一些业务的一个小型系统,适用于一些小型超市。它包括三个主要功能:库存商品管理,售出商品管理和日常业务管理。在这三大功能下又各自包括对商品的添加,查询和删除等功能。是一个小型,便捷地系统。

关键字:超市,管理商品,业务,功能

 

摘  要............................................................................................................................. 3

第一章 系统概述.............................................................................................................. 1

1.1 课程设计背景..................................................................................................... 1

1.2 开发工具及相关技术.......................................................................................... 1

1.2.1 Tomcat介绍................................................................................................ 1

1.2.2  MySQL介绍............................................................................................ 1

1.2.3  Eclipse简介............................................................................................. 2

1.3 可行性分析........................................................................................................ 2

1.3.1  技术可行性分析....................................................................................... 2

1.3.2 经济可行性分析........................................................................................ 2

1.3.3 操作可行性分析........................................................................................ 3

第二章 需求分析.............................................................................................................. 3

2.1业务需求概述...................................................................................................... 3

第三章 系统设计.............................................................................................................. 4

3.1总体结构设计....................................................................................................... 4

3.2系统数据库设计................................................................................................... 4

第四章 编码实现.............................................................................................................. 5

第五章 系统实现及操作说明.......................................................................................... 20

第六章 总结体会............................................................................................................ 26

致谢............................................................................................................................... 27

参考文献........................................................................................................................ 27


第一章  系统概述

1.1   课程设计背景

我国超市形成于20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市高速的发展,其经营管理也变得愈加复杂,早期的超市商品管理形式不能满足现有销售也的发展,这样就迫切地需要引入新的商品管理技术。 超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。而且日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。因此,在选题过程中,我们小组选择了超市商品管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。

1.2   开发工具及相关技术

1.2.1 Tomcat介绍

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。

1.2.2  MySQL介绍

MySQL是一个开放源码的关系数据库管理系统,是一个真正的多用户、多线程SQL数据库服务器。MySQL由于性能高、成本低、可靠性好、小巧、功能齐全、查询迅捷而且是免费的等优点,已经成为最流行的开源数据库,被广泛地应用在中小型网站中。

1.2.3  Eclipse简介

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 

这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于 Eclipse 的应用程序的一个突出例子是 IBM Rational Software Architect,它构成了 IBM Java 开发工具系列的基础。

1.3   可行性分析

1.3.1  技术可行性分析

基于相对成熟的前台开发工具eclipse,运用Flex开发前台界面,其功能完全能够满足本系统的实现。使用java语言进行后台编码,运用面向对象的思想和设计模式进行开发,后台使用简单快捷的mysql数据库,运用tomcat来部署整个程序。这些技术在当今时代都趋于成熟,并且运用广泛,所以,本系统的实现在技术上是可行的。

1.3.2 经济可行性分析

由于开发设备与人员都已聚齐,开发所用的成本主要是人力资源的支出。并且系统所发挥的作用是科学地管理数据,大大提高了管理效率,降低了工作人员的负担,节省了管理时间,所以,本系统的实现在经济方面是可行的。

1.3.3 操作可行性分析

本系统功能模块划分明确,有较强可操作性;并具有规范化的工作界面,能够让用户在很短的时间内掌握使用的方法。进入系统后,系统的界面人性化,规范化,而且很美观,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个超市管理系统采用最友好的交互界面,简介明了,不需要太多的数据库知识。

第二章   需求分析

2.1业务需求概述

1、售货业务 

售货管理是企业生产经营活动中及其重要的一环,它关系到产品质量能否得到保证,生产是否能够顺利进行,采购成本能否得到有效控制等问题。企业现代管理理念中对企业的进货管理提出新的要求;企业进货时对供货商的选择更见慎重,双方不再是讨价还价的买卖关系,而是一种相互依存的合作伙伴关系,并且还需要认识到企业产品质量要从采购抓起,这就关系到供方的供货、服务质量。下面是进货业务程序的主要内容: 供货商的情况调查:在实施采购之前,超市首先就要对市场上各大商品供货商进行详细的调查,了解公司的具体情况,评定企业的信誉级别和公司的市场口碑,做到准确无误,采购顺利。 实施进货计划:根据供货商档案及评审结果,选定供货商;生成订货单给选定的供货商;双方就价格、数量、质量等方面洽谈磋商,直至签订合同;跟踪合同执行,安排供货进度和货物运输,做好验收入库工作。 

2、库存业务: 

库存管理是指在生产经营中为销售和耗用而存储的各种资产。企业存货不当都会增加不必要的费用:存货过多将导致物资的积压、存储费用增加、流动资金周转不利,并且过量的库存会掩盖管理不善的问题。存货不足则影响企业的正常销售活动。库存管理的目标是需求最佳存货数量,使库存的成本总额最小化。其主要业务如下: 产品入库、出库、盘库等日常处理。科学合理地确定某库存物资的库存控制参数。如:最佳订货批量、最大库存量、最佳缺货量、最佳订购周期等,进行严格的库存控制工作。汇总统计各类库存数据,反应和监督储备资金占用及采购资金使用情况。 

3、销售业务 

销售对一个企业的生存和发展是至关重要的,它不再是传统意义上的“卖东西”,它对外关系到企业产品、服务和企业形象等多方面因素,对内涉及到销售、库存、财务等信息。此外信息化的高速发展为企业的销售工作提出了新的挑战,封闭意味着落后,超市要抓住时机,根据市场所需,引入现代化的销售管理模式,实施企业的信息化、智能化销售管理,才能使超市在激烈的市场竞争中立于不败之地

第三章  系统设计

3.1总体结构设计

系统流程图                      

图3-1系统流程图

3.2系统数据库设计

表3-1库存商品数据表

图3-2数据库中的库存商品表

表3-2售出商品数据表

图3-3数据库中售出商品表截图

表3-3业务数据表

图3-4数据库中业务表截图

第四章  编码实现

     以下代码只包含本系统部分关键代码,完整代码另附:

(1)数据库连接类,内含连接数据库的方法,还有各种对数据库的操作的方法:

Sqlbean:

package ConnectionFactory;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import shopValue.inShopBean;

import shopValue.outShopBean;

import shopValue.salesBean;

public class sqlbean {

       static Connection con;

       static PreparedStatement pre = null;

       static ResultSet rs;

       public sqlbean() {

              System.out.println("kkk");

              try {

                     Class.forName("com.mysql.jdbc.Driver");

                     con = DriverManager.getConnection(

                                   "jdbc:mysql://localhost:3306/shop", "root", "636692");

                     System.out.println(con);

              } catch (Exception e1) {

                     e1.printStackTrace();

              }

       }

       public inShopBean searchStore_table(String sql, int id) {

              inShopBean isb = new inShopBean();

              try {

                     new sqlbean();

                     System.out.println(con + "KKKK");

                     pre = (PreparedStatement) con.prepareStatement(sql);

                     pre.setInt(1, id);

                     rs = pre.executeQuery();

                     while (rs.next()) {

                            isb.setId(rs.getInt("id"));

                            isb.setName(rs.getString("name"));

                            isb.setPrice(rs.getFloat("price"));

                            isb.setNumber(rs.getInt("number"));

                     }

              } catch (SQLException e) {

                     e.printStackTrace();

              }

              return isb;

       }

       public int insertIntoStore_table(String sql, inShopBean isb) {

              int count = 0;

              try {

                     new sqlbean();

                    

                     pre = (PreparedStatement) con.prepareStatement(sql);

                     pre.setInt(1, isb.getId());

                     pre.setString(2, isb.getName());

                     pre.setFloat(3, isb.getPrice());

                     pre.setInt(4, isb.getNumber());

                     count=pre.executeUpdate();

              } catch (Exception e) {

                     e.printStackTrace();

              }

              return count;

       }

       public int getDelete(String sql, int id) {

              int count = 0;

              try {

                     new sqlbean();

                     pre = (PreparedStatement) con.prepareStatement(sql);

                     pre.setInt(1, id);

                     count = pre.executeUpdate();

              } catch (SQLException e) {

                     e.printStackTrace();

              } finally {

                     try {

                            pre.close();

                            con.close();

                     } catch (SQLException e) {

                            e.printStackTrace();

                     }

              }

              return count;

       }

       public int getUpdateStore_table(String sql, inShopBean isb) {

              int count = 0;

              try {

                     new sqlbean();

                     pre = (PreparedStatement) con.prepareStatement(sql);

                     pre.setInt(1, isb.getId());

                     pre.setString(2, isb.getName());

                     pre.setFloat(3, isb.getPrice());

                     pre.setInt(4, isb.getNumber());

                     count = pre.executeUpdate();

              } catch (SQLException e) {

                     e.printStackTrace();

              } finally {

                     try {

                            pre.close();

                            con.close();

                     } catch (SQLException e) {

                            e.printStackTrace();

                     }

              }

              return count;

       }

       public outShopBean searchSell_table(String sql, int id) {

              outShopBean osb = new outShopBean();

              try {

                     new sqlbean();

                     pre = (PreparedStatement) con.prepareStatement(sql);

                     pre.setInt(1, id);

                     rs = pre.executeQuery();

                     while (rs.next()) {

                            osb.setId(rs.getInt("id"));

                            osb.setName(rs.getString("name"));

                            osb.setNumber(rs.getInt("number"));

                            osb.setLirun(rs.getFloat("lirun"));

                     }

              } catch (SQLException e) {

                     e.printStackTrace();

              }

              return osb;

       }

       public salesBean searchBuseness_table(String sql, int id) {

              salesBean sb = new salesBean();

              try {

                     new sqlbean();

                     pre = (PreparedStatement) con.prepareStatement(sql);

                     pre.setInt(1, id);

                     rs = pre.executeQuery();

                     while (rs.next()) {

                            sb.setId(rs.getInt("id"));

                            sb.setGoodsname(rs.getString("goodsname"));

                            sb.setNumber(rs.getInt("number"));

                            sb.setCsmname(rs.getString("csmname"));

                            sb.setCsmaddr(rs.getString("csmaddr"));

                     }

              } catch (SQLException e) {

                     e.printStackTrace();

              }

              return sb;

       }

       public List<inShopBean> getStoreList(String sql) {

              List<inShopBean> list = new ArrayList<inShopBean>();

              try {

                     new sqlbean();

                     pre = (PreparedStatement) con.prepareStatement(sql);

                     rs = pre.executeQuery();

                     while (rs.next()) {

                            inShopBean isb = new inShopBean();

                            isb.setId(rs.getInt("id"));

                            isb.setName(rs.getString("name"));

                            isb.setPrice(rs.getFloat("price"));

                            isb.setNumber(rs.getInt("number"));

                            list.add(isb);

                     }

              } catch (SQLException e) {

                     e.printStackTrace();

              } finally {

                     try {

                            pre.close();

                            con.close();

                     } catch (SQLException e) {

                            e.printStackTrace();

                     }

              }

              return list;

       }

       public List<outShopBean> getsellList(String sql) {

              List<outShopBean> list = new ArrayList<outShopBean>();

              try {

                     new sqlbean();

                     pre = (PreparedStatement) con.prepareStatement(sql);

                     rs = pre.executeQuery();

                     while (rs.next()) {

                            outShopBean osb = new outShopBean();

                            osb.setId(rs.getInt("id"));

                            osb.setName(rs.getString("name"));

                            osb.setNumber(rs.getInt("number"));

                            osb.setLirun(rs.getFloat("lirun"));

                            list.add(osb);

                     }

              } catch (SQLException e) {

                     e.printStackTrace();

              } finally {

                     try {

                            pre.close();

                            con.close();

                     } catch (SQLException e) {

                            e.printStackTrace();

                     }

              }

              return list;

       }

       public List<salesBean> getBusenessList(String sql) {

              List<salesBean> list = new ArrayList<salesBean>();

              try {

                     new sqlbean();

                     pre = (PreparedStatement) con.prepareStatement(sql);

                     rs = pre.executeQuery();

                     while (rs.next()) {

                            salesBean sb = new salesBean();

                            sb.setId(rs.getInt("id"));

                            sb.setGoodsname(rs.getString("goodsname"));

                            sb.setNumber(rs.getInt("number"));

                            sb.setCsmname(rs.getString("csmname"));

                            sb.setCsmaddr(rs.getString("csmaddr"));

                            list.add(sb);

                     }

              } catch (SQLException e) {

                     e.printStackTrace();

              } finally {

                     try {

                            pre.close();

                            con.close();

                     } catch (SQLException e) {

                            e.printStackTrace();

                     }

              }

              return list;

       }

}

(2)    三种商品的值类,内含set和get方法,对数据进行设置和获取操作:

   Inshopbean:

package shopValue;

publicclass inShopBean {

  private String name;

  privatefloat price;

  privateint number;

  privateint id;

  public inShopBean(){ 

  }

  public inShopBean(String name,float price,int number,int id){

      this.name=name;

      this.price=price;

      this.number=number;

      this.id=id;

  }

  public String getName(){

      return name;

  }

  publicvoid setName(String name){

      this.name=name;

  }

  publicfloat getPrice(){

      return price;

  }

  publicvoid setPrice(float price){

      this.price=price;

  }

  publicint getNumber(){

      return number;

  }

  publicvoid setNumber(int number){

      this.number=number;

  }

  publicint getId(){

      return id;

  }

  publicvoid setId(int id){

      this.id=id;

  }

}

Outshopbean:

package shopValue;

publicclass outShopBean {

      private String name;

      privatefloat lirun;

      privateint number;

      privateint id;

      public outShopBean(){ 

      }

      public outShopBean(String name,float lirun,int number,int id){

         this.name=name;

         this.lirun=lirun;

         this.number=number;

         this.id=id;

      }

      public String getName(){

         return name;

      }

      publicvoid setName(String name){

         this.name=name;

      }

      publicfloat getLirun(){

         return lirun;

      }

      publicvoid setLirun(float lirun){

         this.lirun=lirun;

      }

      publicint getNumber(){

         return number;

      }

      publicvoid setNumber(int number){

         this.number=number;

      }

      publicint getId(){

         return id;

      }

      publicvoid setId(int id){

         this.id=id;

      }

}

Salesbean:

package shopValue;

publicclass salesBean {

    private String goodsname;

      private String csmname;

      private String csmaddr;

      privateint number;

      privateint id;

      public salesBean(){

        

      }

      public salesBean(String csmname,String goodsname,int number,int id,String csmaddr){

         this.goodsname=goodsname;

         this.csmname=csmname;

         this.csmaddr=csmaddr;

         this.number=number;

         this.id=id;

      }

      public String getGoodsname(){

         return goodsname;

      }

      publicvoid setGoodsname(String goodsname){

         this.goodsname=goodsname;

      }

      public String getCsmname(){

         return csmname;

      }

      publicvoid setCsmname(String csmname){

         this.csmname=csmname;

      }

      public String getCsmaddr(){

         return csmaddr;

      }

      publicvoid setCsmaddr(String csmaddr){

         this.csmaddr=csmaddr;

      }

      publicint getNumber(){

         return number;

      }

      publicvoid setNumber(int number){

         this.number=number;

      }

      publicint getId(){

         return id;

      }

      publicvoid setId(int id){

         this.id=id;

      }

}

(3)    库存商品查找servlet,完成查找逻辑功能

package shopManage;

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import shopValue.inShopBean;

import ConnectionFactory.sqlbean;

public class researchStoreGoods extends HttpServlet {

       private static final long serialVersionUID = 1L;

    private Connection cn;

    public researchStoreGoods() {

        super();  

    }

    public void init(ServletConfig config) throws ServletException {

              super.init(config);

              try {

                     Class.forName("com.mysql.jdbc.Driver");

              } catch (ClassNotFoundException e1) {

                     e1.printStackTrace();

              }

              String url = "jdbc:mysql://localhost:3306/shop";

              String user = "root";

              String password = "636692";

              try {

                      cn = DriverManager.getConnection(url, user, password);

              } catch (SQLException e) {

                     e.printStackTrace();

              }

       }

       protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              doPost(request, response);

       }    

       protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              response.setContentType("text/html");

              request.setCharacterEncoding("utf-8");

              response.setCharacterEncoding("utf-8");

             

              String sid=request.getParameter("id");

              int id=Integer.parseInt(sid);

              String sql="select * from store where id=?";

              sqlbean sBean=new sqlbean();

              inShopBean isb=sBean.searchStore_table(sql, id);

              request.setAttribute("id", isb.getId());

              request.setAttribute("name", isb.getName());

              request.setAttribute("price", isb.getPrice());

              request.setAttribute("number", isb.getNumber());

             

              request.getRequestDispatcher("researchstoregoods.jsp").forward(request, response);

       }

}

(4)库存商品添加servlet,完成商品添加逻辑功能

   package shopManage;

import java.io.IOException;

import java.sql.Connection;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import shopValue.inShopBean;

import ConnectionFactory.sqlbean;

public class AddStoreGoods extends HttpServlet {

       private static final long serialVersionUID = 1L;

       static Connection cn;

    public AddStoreGoods() {

        super();

    }

       protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              response.setContentType("text/html");

              doPost(request, response);

       }

       protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              response.setContentType("text/html");

              request.setCharacterEncoding("utf-8");

              response.setCharacterEncoding("utf-8");

              String sid=request.getParameter("id");

              int id=Integer.parseInt(sid);

              String name=request.getParameter("name");

              String sprice=request.getParameter("price");

              float price=Float.parseFloat(sprice);

              String snumber=request.getParameter("number");

              int number=Integer.parseInt(snumber);

              inShopBean isb=new inShopBean();

              isb.setId(id);

              isb.setName(name);

              isb.setPrice(price);

              isb.setNumber(number);

              String sql="insert into store(id,name,price,number) values (?,?,?,?)";

              sqlbean sBean=new sqlbean();

              int count = sBean.insertIntoStore_table(sql, isb);

              System.out.println("count"+count);

              if (count >0) {

                     response.sendRedirect("StoreGoodsList");

              } else {

                     response.sendRedirect("error.jsp");

              }

       }

}

(5)库存商品删除servlet,完成删除逻辑功能

package shopManage;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import shopValue.inShopBean;

import ConnectionFactory.sqlbean;

public class DeleteStoreGoods extends HttpServlet {

       private static final long serialVersionUID = 1L

    public DeleteStoreGoods() {

        super();

    }

       protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              response.setContentType("text/html");

              doPost(request, response);

       }

       protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              response.setContentType("text/html");

              String sId = request.getParameter("id");

              int id = Integer.parseInt(sId);

              inShopBean isb=new inShopBean();

              isb.setId(id);

              String sql="delete from store where id=?";

              sqlbean sBean=new sqlbean();

              int count = sBean.getDelete(sql, id);

              if (count >=0) {

                     response.sendRedirect("StoreGoodsList");

              } else {

                     response.sendRedirect("error.jsp");

              }

       }

}

(6)库存商品管理页面jsp,返回商品信息列表,附有相应功能:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@page import="shopValue.inShopBean"%>

<%

String path = request.getContextPath();  

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>库存商品管理</title>

</head>

<body bgcolor="green">

<center>

<font size="8">库存商品列表</font>

<hr>

<table>

<tr>

<td><font color="yellow"size="6">商品编号</font></td>

<td><font color="yellow"size="6">商品名称</font></td>

<td><font color="yellow"size="6">商品价格</font></td>

<td><font color="yellow"size="6">库存数量</font></td>

</tr>

<%

     List list = (List)request.getAttribute("list");

     for(java.util.Iterator it =list.iterator();it.hasNext();)

     {

        inShopBean isb =(shopValue.inShopBean)it.next();

  %>

 <tr>

       <td><font color="yellow"size="6"><%=isb.getId() %></font></td>

       <td><font color="yellow"size="6"><%=isb.getName() %></font></td>

       <td><font color="yellow"size="6"><%=isb.getPrice() %></font></td>

       <td><font color="yellow"size="6"><%=isb.getNumber() %></font></td>

       <td>

       <a href="addstoregoods.jsp">添加</a>

       <a href="researchStoreGoods?id=<%=isb.getId() %>">查找</a>

       </td>

</tr>

 <% }%>

</table>

</center>

</body>

</html>

(7)库存商品查询页面jsp,返回单项商品信息:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@page import="shopValue.inShopBean"%>

    <%

    String path = request.getContextPath();

    String basePath = request.getScheme() + "://"

           + request.getServerName() + ":" + request.getServerPort()

           + path + "/";

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>库存商品查询</title>

</head>

<body >

<center>

<table>

<tr>

<td><font size="6">商品编号</font></td>

<td><font size="6">商品名称</font></td>

<td><font size="6">商品价格</font></td>

<td><font size="6">商品数量</font></td>

</tr>

<tr>

<td><font size="6"><%=request.getAttribute("id")%></font></td>

<td><font size="6"><%=request.getAttribute("name")%></font></td>

<td><font size="6"><%=request.getAttribute("price")%></font></td>

<td><font size="6"><%=request.getAttribute("number")%></font></td>

<tr>

<td> <a href="DeleteStoreGoods?id=<%=request.getAttribute("id")%>">删除</a> 

<img src="F:\image\nn.jpg">   

</table>

</center>

</body>

</html>

(8)添加库存商品页面jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>添加库存商品</title>

</head>

<body>

    <hr>

    <form action="AddStoreGoods" method="post">

       <table>

           <tr>

              <td>商品编号:</td>

              <td><input type="text" name="id"></td>

           <tr>

              <td>商品名称</td>

              <td><input name="name"></td>

           </tr>

           <tr>

              <td>商品价格</td>

              <td><input type="text" name="price"></td>

           </tr>

           <tr>

              <td>商品数量</td>

              <td><input type="text" name="number"></td>

           </tr>

           <tr>

              <td><center>

                     <input type="submit" value="提交"> <input type="reset"

                         value="重置">

                  </center></td>

           </tr>

       </table>

    </form>

    <a href="StoreGoodsList">查看</a>

</body>

</html>

注:超市售出商品管理和业务管理相应的业务逻辑代码和jsp页面代码与库存商品管理的代码大同小异,所以略去,整个系统的完整代码打包另附。

第五章   系统实现及操作说明

(1)运行main.jsp进入主页,可以选择对商品的管理类型,有库存商品管理,售出商品管理和业务管理。 如图5-1.

图5-1管理主页

(2)点击主页的超市库存商品管理,进入库存商品管理页面,每一件商品后面有添加和查找选项,如图5-2.

图5-2 库存商品管理

(3)点击添加,进入商品添加页面,可以添加一条商品信息,如图5-3.

图5-3 商品添加页面

(4)通过添加功能添加了饼干,直接跳转到库存商品管理页面,可以查看到添加商品成功。如图5-4

图5-4 添加商品成功

(5)通过上一个页面的查找功能进入单项商品信息管理页面,如图5-5.

图5-5  单项商品信息管理

(6)通过开始的主页面,点击超市售出商品管理,进入售出商品管理页面,每项商品后面附有查找功能,如图5-6.

图5-6 售出商品管理

(7)点击查找,进入单项商品信息管理页,附有删除功能,如图5-7

图5-7 单项商品管理

(8)再次回到主页面,点击超市业务管理,进入业务管理页面,可以查看超市业务信息,包括商品名称,购买顾客姓名及地址等,每项业务后附有查找功能,如图5-8

图5-8 超市业务管理

(9)通过查看进入单项业务信息管理,附有删除功能 ,如图5-9

图5-9 单项业务信息管理

(10)每一个单项信息管理都有删除该项信息的功能,现在演示,可以看到面条一项业务已经被删除成功。

   以上截图说明包含本系统所有功能,具体功能可以参看上文的业务分析。

第六章   总结体会

本系统在功能方面实现了超市管理员在销售、库存、人事管理等 方面的工作系统化,不但能使销售效率提高,还可以大大减省管理人员的工作量。在运行效果上有很好的人机交互界面,既有利于一般人员的学习,也有较好的可操作性。在安全性方面我们实现了系统数据库的备份管理,使得数据使用更具安全性,同时对登录人员的身份限制,使整个系统的使用更具安全性。当然,我们的系统也存在一些功能欠缺问题,例如商品销售排行等,我们会在以后的学习过程中将本系统继续改进,使其成为一个实用、高效的超市商品管理系统。

本次课程设计实现上并没有采用MVC模式去设计,因为我对于MVC并不熟练,对它内部的逻辑还搞不清楚,不能很好的衔接各个模块之间的接口,所以效率不高,怕时间不够,所以采用的是一般的jsp和servlet,数据库之间配合的一个编程方式,正真的效率并没有MVC的编程效率高,但却是我所熟悉的编程方式。

调试程序时遇到的问题也是不少的,在写查询的jsp及servlet时,错误信息指出有空指针,开始看到空指针以为是类没有实例化或调用有问题,但最后发现类实例化了,是查询页面的jsp没有把前台的id传送到servlet上,导致servlet上定义的id是一个控指针。

在完成添加功能时遇到一个问题,在找遍各种错误后依然百思不得其解,但最后发现其实是部件之间跳转的逻辑出现错误,所以我明白了,在找一些小错误之前,必须把系统的功能逻辑理解清楚,设计起来才容易的多。

 还遇到的一个问题是删除功能时的一个问题,在检查数据库连接,数据获取后依然不行,数据还是不能成功删除,最后发现时我声明一个计数器变量count时给他赋值0,后面的语句忘了给他另外的值,所以他的值一直都是0,而我写了if语句,如果count的值大于0才会执行删除语句,然后将执行数据库语句返回的int类型的值赋给它就行了。

每次编程都会遇到很多的错误,我相信这是不可避免的。而且我相信只有不断的找出错误并加以理解,自己才能得到提高。

致谢

  这次课程设计要谢谢我的一个同学,在我调试程序遇到问题时,帮我找出问题,还有谢谢朱海斌学长督促我们学习进程,收集我们提交的作业,谢谢老师对于课程设计的指导。

参考文献

[1] 施伯乐,丁宝扛,汪卫.数据库系统教程(第三版).北京:高等教育出版社,2008.7

[2] 郭克华. JavaEE程序设计与应用开发.北京:清华大学出版社,2011

[3] 钱乐秋,赵文耘,牛军钰. 软件工程. 北京:清华大学出版社,2007

[4] 郭峰 等编著   我的J2EE我的成功之路. 北京:电子工业出版社,2008

相关推荐