制造业B2B网站设计与实现 - 图文(4)

2019-04-23 09:24

中南财经政法大学2011届本科生毕业论文(设计)

Mat_Pre_Pro Mat_cycle Mat_Name Mat_Introduce Sell_Flag 预测生产量 生产周期(天数) 物料名称 物料描述 是否产品 Int Int Varchar Text Bit 4 4 50 50 1 >0 0/1 表7 生产计划表 Production 数据项名 Pro_ID Pro_Code G_ID Pro_Number Pro_Start Pro_Days Pro_End 含义说明 数据库流水号 生产计划编号 生产商品编号 计划生产数量 生产开始日期 计划生产天数 生产完成日期 数据类型 Int Varchar int Int Datetime Int Datetime 长度 4 8 4 4 4 4 4 取值范围 表8 材料需求表 Mat_Need 数据项名 Mat_Need_ID Pro_ID Mat_ID Mat_Need_Num 含义说明 数据库流水号 生产计划ID 材料ID 材料需求数量 数据类型 Int int Int Int 长度 4 4 4 4 取值范围 表9 商品评价表Judges 数据项名 J_ID G_ID Mem_ID G_Mark J_Context 含义说明 数据库流水号 商品编号 会员编号 商品分数 评价内容 数据类型 Int Int Int Int Text 长度 4 8 4 4 50 取值范围 1.0~5.0

2. 数据库访问设计

由于后台管理系统的每个操作几乎都与数据库打交道,因此数据库的访问设计十分重要。本系统所采用的数据库访问技术是ODBC,数据源的登录方式设置为使用用户名和密码的形式,这样可以限制访问数据源的群体。

访问设计的基本流程:调用SQLConnect启动与数据的连接,连接模式是以用户名和密码的形式,然后通过分配语句句柄、执行语句、诊断语句、处理结果、最后断开连接等操作,完成对数据库的访问。

3. 数据库程序设计

本系统所用到的数据库设计了两个触发器:ProductionDel和GoodTypeDel。 ProductionDel触发器是当生产计划被删除的时候,当前存在于Mat_Need中,属于被删除计划ID的所有数据都级联删除。

-12-

中南财经政法大学2011届本科生毕业论文(设计)

GoodTypeDel触发器是当平台中的商品类别被管理员删除的时候,当前属于该类别的商品的类别都会自动改为其他类别。

五、 网站的功能实现

本系统采用JSP与Servlet结合,系统源代码中有4个包,分别是bean、dao、

db和servlets。bean包包含了每个数据库中的表形成的一个javabean,类中成员是表的所有字段名;dao包包含每个表的增删改查,以及系统能够用到的用于获取数据的方法,以简化JSP页面的代码编写,加强代码的可读性;db包存放了用于连接数据库的方法;sevlets包存放了控制系统操作的代码,是视图层与模型层的连接处。在webroot文件夹中存放的是css文件、js文件、图片文件和JSP页面。①

(一) 会员管理模块

本模块的主要功能是会员的注册、登录、注销和店铺开设功能。 会员注册主要经过两大判断过程,具体流程如图9所示:

注册用户进入注册页面 输入注册信息 输出出错信息 信息符合规范? 是 否 否 注册成功? 是 输出出错信息 结束

图9 会员注册流程

注册功能实现:用户进入注册页面时候,需要用户输入用户名、密码以及邮箱信息。流程图所提到的信息规范判断主要是判断用户名唯一、两次输入密码相同和邮箱书写规范。所使用的方法主要是表单认证,利用js检测数据的规范性。在站点代码中,建立了一个JS文件checkforms.js,主要存放通用的验证代码。如验证是否为空、字符串长度是否符合标准、验证日期、邮箱号码等。在本模块填写注册信息的mem_logon.jsp页面中调用checkforms.js,再调用里面的函数编写详细的验证脚本,并在需要验证的form中加入onSubmit=\属性,使表单在提交的时候调用验证脚本。由于对Ajax不熟悉,因此采用servlet调用MemberDAO中的检测用户名唯一性的函数来实现功能,具体代码如下:

public int checkName(String name){

赵甲庆 基于Java+EE5的Web应用框架研究与实践. 大连海事大学硕士学位论文

-13-

中南财经政法大学2011届本科生毕业论文(设计)

DB db=new DB(); int isValid=0; String sql=\ ResultSet rs=db.query(sql); try{ if(rs.next()){ isValid=-1; } }catch(Exception e){ System.err.println(\ } return isValid; }

登陆功能用于验证用户的登陆信息,具体流程如下图所示:

进入注册页面 输入用户名和密码 否 验证成功? 是 进入管理界面 输出验证失败 结束

图10 登陆功能流程图

登陆功能的实现:首先通过表单,将用户输入的用户名和密码传送到servlets,servlets再调用javabean中用于检验用户合法性的方法,关键代码如下:

public boolean Check(String account,String password){ boolean isValid=false; String sql=\\ List ls=new ArrayList(); Member menber; ls=query(sql); if(ls.size()>0){ member=ls.get(0); if(member.getMember_Password().trim().equals(password)){

-14-

中南财经政法大学2011届本科生毕业论文(设计)

isValid=true; } } return isValid; }

该方法返回的是一个布尔型结果,代表验证是否成功。方法实现的过程是先以用户输入的用户名为条件,查询Member表中是否有该用户名,如果有就查找该条记录中的密码是否与用户输入的密码相符合,trim()方法是用于除去从表中读出代码的空格符。判断完毕后,将返回值返回到servlet中,然后servlet也对返回值进行判断,如果返回时true,则新建一个session对象,用于存放用户ID,再返回登陆成功信息,进入会员管理页面;如果返回false,则提示错误信息,然后进行页面跳转。Session的设立除了用来验证用户是否登录成功外,还在日后的操作中识别用户。因为如订单、商品、店铺、生产计划等数据表都添加了用户ID的字段。当用户发出管理请求的时候,系统将以session里面存放的用户ID作为查询依据,并返回查询结果给用户。

注销功能:当会员点击注销按钮后,当前页面将跳转到注销页面,注销页面的功能是把存放了用户ID的session对象清空,然后再进行页面跳转。

关键代码如下: <%

session.setAttribute(\response.sendRedirect(\%>

店铺开设功能的实现:本功能的实现流程与会员注册的差不多。会员进入店铺注册页面,填写店铺名称、店铺介绍等店铺信息,点击注册按钮,将信息传到servlet中。在servlet中获取session中存放的用户ID号和利用date()函数获取当前系统时间,然后与之前传过来的信息一同添加到数据库中,返回操作结果,完成店铺注册。

(二) 商品管理模块

商品管理模块主要是包括商品的添加、删除、修改等操作。

-15-

中南财经政法大学2011届本科生毕业论文(设计)

输入商品信息及图片路径 选择关联物料ID 否 添加成功? 是 返回商品管理界面 输出“添加失败” 结束

图11 添加商品路程图

添加商品时需要上传图片,在之前做的项目当中,采用的是分别利用两种表单,先将图片上传到服务器,再获取存储路径字符串,然后与其他商品信息一同添加到数据库中。这样的商品添加方法显得不够便捷,为了可以在上传图片的时候同时上传商品信息,本文使用了smartupload①的方法。将网上下载的smartupload的jar文件存放到WebRoot/WEB-INF/lib路径下,然后通过“import com.jspsmart.upload.*;”语句在servlet中使用,关键代码如下:

SmartUpload mySmartUpload = new SmartUpload(); String image=\int count=0; //上传文件计数

//初始化,传入pageContext内置变量

mySmartUpload.initialize(this.getServletConfig(),request,response); try {

// 上传操作

mySmartUpload.upload();

Files files = mySmartUpload.getFiles();

count = files.getCount();//返回上传的文件数 // 显示文件上载数

GoodsDAO gDao=new GoodsDAO();

String gName=mySmartUpload.getRequest().getParameter(\??

if(count>0){

com.jspsmart.upload.File fileB=mySmartUpload.getFiles().getFile(0); if(!fileB.isMissing()){

Date d = new Date();

SimpleDateFormat sdf = new SimpleDateFormat(\ String name = sdf.format(d);

jspSmartUpload上传下载全攻略 http://www.knowsky.com/3136.html

-16-


制造业B2B网站设计与实现 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:山东省济宁市2012-2013学年高二化学上学期期末考试新人教版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: