《Java Web程序设计》学期项目报
告
学期项目名称:
三、技术分析
报价管理系统可以分为5个功能模块,分别是客户管理模块、产品管理模块、订单管理模块、报价管理模块以及系统用户管理模块。
客户管理模块:该模块主要用来管理客户信息,包括客户的名称、联系电话、联系地址、联系人等信息。
产品管理模块:该模块主要用来管理产品类别和产品信息,包括产品的名称、产品的单位、产品的价格等信息。
订单管理模块:该模块主要用来管理订单信息,包括下单客户名称、产品名称、产品数量等信息。
报价管理模块:该模块主要用来管理报价信息,包括客户名称、产品名称、报价人、报
上述代码中第8行使用@Entity标明该类是一个实体类,并通过@Table设置该类对应的数据库表名为tb_producttype。
代码第10行和第11行分别定义了产品类别编号和产品类别名称两个属性。
代码第12行为该类定义了一个默认构造方法。
代码第13行为该类定义了一个自定义的构造方法,通过接收产品类别编号来构造该类实例对象。
代码第16行使用@Id 标明属性producttypeNO为主键,并使用@Column标明属性producttypeNO为数据表的一个字段,并设置其允许的长度为15.代码第17行至第22行分别为producttypeNO属性添加了setter和getter方法。
代码第23行使用@Column标明属性producttypeName为数据表的一个字段,并设置其允许的长度为20.代码第24行至第29行分别为producttypeName属性添加了setter和getter方法。
代码第11行使用JPA注解该类为实体类,其对应的数据库表tb_product。
代码第17行为该类定义了一个ProductType类型的属性productType。
通过@ManyToOne注解来描述该类和ProductType类是多对一的关系,通过@JoinColumn来指定关联实体所对应的外键为ProducttypeNO。
代码第18行至第31行为该类添加了其他几个属性,并使用@Column注解为每个属性进行标注。
客户信息类:
代码第8行使用@Entity注解标明该类为一个实体类,使用@Table注解设置该类的映射的数据库表为tb_customer。
代码第10行使用@Id注解标明customerNO属性为主键,并设置其允许长度为20。
代码第11行至第21行分别为Customer类添加了其他的所有属性,并使用@Column注解进行了注明。
代码第22行为该类添加了一个默认构造方法。
代码第23行为该类添加了一个自定义构造方法。
报价信息类:
代码第15行使用注解的方式设置该类为一个实体类,并配置其映射的数据库表为tb_quotation。
代码第17行配置该类的属性quotationNO为tb_quotation的主键,并设置其允许的长度为15。
代码第25行至第26行配置该类和产品信息的关系为多对一,并设置其关联外键为ProductNO。
代码第28行和第29行配置报价信息类和客户信息类的关系也是多对一的,并设置其关联外键为customerNO。
用户信息类:
代码第10行使用@Entity注解设置该类为一个实体类,并通过@Table注解设置该类对应的数据库表tb_user。
代码第12行使用@Id注解配置username属性为主键,并设置其允许的长度为15。
配置数据源:
该文件的根节点为ersistence,在该节点下可以有一个或者多个<ersistence-unit>节点。
每一个<ersistence-unit>节点都可以定义持久化内容名称,使用的数据源以及持久化产品的其他专有属性。
其中<property>用来定义持久化产品的各项属性。
代码第9行配置hibernate.dialect属性,用来指定数据库方言SQL Server。
代码第11行至第17行分别指
定了数据库的驱动类、用户名、密码以及连接URL。
代码第18行至第27行指定了Hibernate 的一些其他配置属性。
客户信息录入表单:
代码第18行添加了一个表单,该表单提交的地址为customermanage_add.do,提交方式为post。
代码第30行至第第50行为该表单添加了多个单行文本框,分别用来输入客户编号、客户名称、联系电话、联系地址、联系人以及其他信息。
客户信息录入Action方法:
代码第15行使用Spring的@Controller注解该Action,并设置其Bean的id为customerManageAction。
代码第16行通过@Scope注解该Bean的范围为prototype。
代码第18行和第19行通过使用@Resource注解的方式为Action注入业务逻辑组件customerService。
代码第20行至第25行分别生命了Action的其他属性,用来接收客户表单提交的客户信息。
到吗第29行添加了一个add方法,在该方法体中,首先实例化一个客户对象customer,然后调用该对象的setter方法为对象赋值。
代码第38行通过调用的业务逻辑组件customerService的save方法完成客户信息的保存。
在客户信息录入表单中输入完客户信息后,单击“保存客户信息”按钮即可完成客户信息的录入,这时页面将跳转到添加记录成功提示页,该页面将在3秒后自动关闭,页面又将回到客户管理页面。
六、项目总结。