大家好,今天给大家介绍基于JSP+J2EE+sqlserver的B2C电子商务系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:16978个字39页
包含内容:全套源码+配整论文
开题报告、论文答辩、课题报告等ppt模板推荐下载方式:
JSP B2C Servlet J2EE B/S
提示:以下为毕业论文的简略介绍,项目完整源码及完整毕业论文下载地址见文末。
1.系统概述
1.1选题来源及意义
省略
1.2 技术背景
本次我们的B2C电子商务系统设计过程中主要用到的技术为分别为JSP、Servlet、J2EE、B/S模式,以下为各技术的简要介绍:
1.2.1 JSP
Java Server Pages (JSP) 是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。它为创建动态Web应用提供了一个简捷而快速的方法。JSP 技术使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。IBM WebSphere Application Server 标准版为电子商务应用的Web 事务处理和交互提供了健全的开发环境,它提供可移植的、基于Java 的Web 应用程序开发平台, 支持JavaServer Page、Java Servlet 等技术[2]。
WebSphere Application Server 提供了JSP 引擎和标记支持。JSP 组合了服务器端脚本和标记,同时允许将显示逻辑(如HTML) 与业务逻辑区分开来。在每一个JSP 文件中,可以包括JSP 语法、HTML 标记、Servlet 标记、NCSA 标记及处理用户请求的内联Java 代码、访问可重用业务逻辑组件,如所需的小服务程序和基于Java 的Web 应用程序。
省略
1.2.2 SERVLET
Servlet是使用Java Servlet应用程序设计接口及相关类和方法的Java程序。它在Web服务器上或应用服务器上运行并扩展了该服务器的能力。Java Servlet对于Web服务器就好像Java Applet对于Web浏览器。Applet装入Web浏览器并在Web浏览器内执行,而Servlet则是装入Web服务器并在Web服务器内执行。Java Servlet API 定义了Servlet和服务器间的一个标准接口,这使Servlet具有跨服务器平台的特性[9]。
Servlet通过创建一个框架扩展服务器的能力,采用请求-响应模式提供Web服务。当客户机发送请求至服务器时,服务器将请求信息发送给Servlet,Servlet生成响应内容并将其传给Server,然后再由Server将响应返回给客户端。
省略
1.2.3 J2EE
J2EE是美国Sun公司刚刚推出的一种全新概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。当今许多企业都需要扩展他们的业务范围,降低自身经营成本,缩短他们和客户之间 的响应时间,这就需要存在一种简捷,快速的服务于企业,合作伙伴和雇员之间。典型的说,提供这些服务的应用软件必须同企业信息系统(EIS)相结合,并提供新的能向更为广阔的用户提供的服务。这些服务要具备以下的特点[4]:
① 高可用性:来满足现在的全球商业环境
② 安全性:保护用户的隐私和企业数据的安全
③ 可依赖性和可扩展性:保证商业交易的正确和迅捷通常这些服务是由分布的应用程序组成的,包括前端数据端和后端数据源以及它们之间的一层或几层,这些中间层提供了把商业功能和数据与EIS相结合的功能。这些中间层把客户端从复杂的商业逻辑中分离出来,利用成熟的INTERNET技术使用户在管理上所花费的时间最小化。
省略
1.2.4 B/S模式
B/S模式中的B是指Brower(浏览器),S是指Server服务器。我们一般把课件中的部分放在服务器上,而服务器主要用来监听接收来自客户端的请求信息,并对其进行分析处理,与Web数据库建立联系,完成系统的各项功能。在客户端,用户使用浏览器软件即可进行页面学习、网上练习、网上讨论、网上测试等操作,不需要另外的软件和配置。浏览器作为客户层,提供图形用户界面,负责与用户进行交互。而这一种网络模式构架系统的所有源程序和文档资料都处于服务器端,这样,我们就只需配置一台性能相对稳定的、支持课件完全运行的服务器,而客户机(浏览器)端只要是一台能上网的机器即可,这样就完全解放了学习者的设备配置,只要服务端(一般指学校或远程教育提供商)进行一些必要的软件和硬件配置。所以,B/S是最佳选择[5]。
省略
1.3 设计目标
实现一个网络环境下的B2C的网上拍卖系统。系统应实现以下功能:用户的注册、登陆、密码找回、商品浏览、售出商品等功能以及系统后台对于用户登陆信息的校验、注册信息的校验、用户展示商品的校验、实现等功能。
主要相关技术指标:
①能正确实现系统要求的各项功能
②能正确完成与数据库的各项交互功能,用户界面友好
③具有一定的容错能力
④具有一定的可扩展性
1.4 开发工具简介
1.4.1 IBM WebSphere5.1.1
本次的开发环境为IBM 公司的WebSphere5.1.1,IBM WebSphere产品系列是一套典型的电子商务应用开发工具及运行环境,其在开发电子商务系统上的功能尤为强大。IBM WebSphere Studio提供了项目工作台和有关向导,这些向导可用来存取数据库、创建JavaBean和Servlet等等;IBM WebSphere Application Server (WebSphere应用服务器)是一个Web 应用服务器(内含IBM Http Server),它本质上是适合于servlet的Web 服务器插件,提供了增强的Servlet API和Servlets管理工具,并集成了JSP技术和数据库连接技术[7]。
1.4.2 Rational Rose 2003
Rational公司开发的UML建模工具,它可以在Rose建模中提供建立、视图、修改和操作组件的能力。Rational Rose包括了一体化建模语言(UML),OOSE及OMT。其中一体化建模语言(UML)由Rational公司的三位世界级面向对象技术的专家Grady Booch, Ivar Jacobson和Jim Rumbaugh通过对早期面向对象研究的设计方法的进一步扩展而得来的,为可视化建模软件奠定了坚实的理论基础。Rational Rose支持绝大多数软件工程常见的个人/公共工作平台。直到所编制软件共享之前,软件工程师都可以在个人工作平台修改自己的源代码和已建立的模型[10]。
省略
1.4.3 IBM DB2 8.2
DB2 是IBM公司的关系型数据库产品,是目前最流行的大型数据库之一,用户可以用结构化查询语言(SQL)对数据库对象进行创建、更新以及控制。它可以运行在不同的操作系统平台上,如大型操作系统 OS/390TM、MVS/ESA TM 、VM及VSE;中型操作系统 OS/400®、AIX、HP-UX、Solaris、SCO UNIX及SINIX;单用户及局域网操作系统 OS/2、Windows NT、Windows 95,同时它还支持DOS、Windows、Macintosh平台上的应用[9]。
DB2能存储所有类型的电子信息,它包括传统的关系型数据、结构化以及半结构化的二进制信息、多种语言文档及文本、图片、多媒体以及与特殊应用有关的信息。因此被称为通用数据库(Universal Database)。
省略
2 系统分析
2.1 功能需求
2.1.1 用户部分应实现功能
用户部分应实现的功能:登陆、注册、密码找回、修改密码、浏览商品、购买商品、退出登陆等功能。
2.1.2 后台应实现的功能
后台应实现的功能:用户登陆信息的校验、注册信息的校验、用户取回密码的校验、用户修改密码的校验以及购买商品的校验等用户部分的功能实现以及展示新商品、发布打折信息、更新旧商品等系统管理部分功能的实现。
2.2 系统需求
2.3维护需求
本系统的操作人员要求能操作Windows NT操作系统的水平即可。维护人员须有一定的数据库管理和网络安全方面的知识。
3.系统设计
3.1系统设计思想
我们把系统分为3个主要功能模块:用户登陆模块、商品展示模块和购物车功能模块。
3.2系统功能模块设计
3.2.1 用户登陆模块
①进入登陆页面后,用户输入包括用户名和密码的登陆信息,确认提交后,系统对登陆信息进行有效性验证,如果有效就跳到产品展示页面,无效就提示登陆失败并返回登陆页面。用户可以在此选择继续登陆或者注册和找回密码。
②进入注册页面后,当用户填写了包括用户姓名、密码、密码找回提示问题、密码找回答案、等各项信息并确认提交后,系统对用户的注册信息进行有效性验证,有效就跳转到登陆页面,无效则提示注册失败并返回注册页面。
③如有用户忘记自己的用户密码,则可以点击“忘记密码”按钮,这时,系统将会跳转进入密码取回问答阶段,这里用户需要输入密码提示和答案,当密码提示和用户名效验正确,用户会获取密码,并得到更换密码提示。并跳转回登陆界面。若中途问题答错,提示用户选择“上一步”问题或者“放弃”。
3.2.2 产品展示模块
在产品展示页面,用户可以浏览选择自己喜欢的商品,单击“详情”以后可以查看详细信息,选中自己喜欢的商品后可以选择“购买”,然后系统会跳转到购物车模块。
3.2.3 购物车功能模块
在该模块中用户可以看到自己的购物车信息,用户可以选择的操作有清空购物车、继续购买和跳转到确认购买的下一步操作,在确认购买页面用户确认交易后购买过程结束。
3.2.4 各功能模块描述
表3.1 登录功能模块设计
名 称 登陆功能模块 系统代称 S01
接 口
说 明 输入 在登陆页面的用户名、密码输入栏用键盘或鼠标输入;或点击注册或找回密码按钮。
输出 输出到表Customers,并根据操作的不同转到相应下一个页面:loginFailure.jsp;loginOK.jsp;registerOK.jsp; registerFailure.jsp;showQuestion.jsp;
功 能
说 明 提供用户注册、用户登陆、与密码找回功能。
运行环
境说明 网络能连接服务器,具备浏览器,正确安装协议。
调用关
系说明 调用模块 无
被调用模块 无
表3.2 展示功能模块描述
名 称 展示功能模块 系统代称 S02
接 口
说 明 输入 数据库表Products里相应数据项储存值。
输出 页面productList.jsp与productDetial.jsp。
功 能
说 明 从数据库查询产品相关所有信息展示给客户,以供客户选择,并支持session到购物车模块
运行环
境说明 网络能连接服务器,具备浏览器,正确安装协议,登陆成功。
调用关
系说明 调用模块 无
被调用模块 购物车模块
表3.3 购物车功能模块描述
名 称 购物车功能模块(交易模块) 系统代称 S03
接 口
说 明 输入 从展示功能模块传值
输出 lucky.jsp与productList.jsp页面
功 能
说 明 根据客户在productList.jsp里选择购买的商品提供虚拟购物车并完成交易系统,提供客户修改购买意向的操作,退出的操作
运行环
境说明 网络能连接服务器,具备浏览器,正确安装协议,登陆成功。
调用关
系说明 调用模块 展示模块
被调用模块 无
4.详细设计与实现
4.1数据字典
4.1.1 用户数据字典
表4.1.1 Table_Customers为记录客户信息所创建,使用于用户表Table_Customers为记录客户信息所创建,使用于用户注册时登记信息;用户登陆时为效验登陆信息提供原始数据;用户忘记密码要求恢复密码操作时对客户的密码保护与密码保护问答。
表4.1.1 Table_Customers
Key Name Type Length Null
KEY USERNAME VARCHAR 10 FALSE
PASSWORD VARCHAR 10 FALSE
QUESTION VARCHAR 10 FALSE
ANSWER VARCHAR 10 FALSE
4.1.2 订单数据字典
表 4.1.2 Table_Orderdetails为纪录用户购买操作时纪录顾客名和商品总价的时候使用。
表 4.1.2 Table_Orderdetails
Key Name Type Length Null
KEY PRICES VARCHAR 10 FALSE
NAME VARCHAR 10 FALSE
OrderID INTEGER 4 FALSE
ProductID INTEGER 4 FALSE
Quantity INTEGER 4 FALSE
4.1.3 表单数据字典
表4.1.3 Table_Orders为纪录订单中的如下细则而建立:送货地址、顾客邮编、送货方式、信用卡号、订单日期。
表4.1.3 Table_Orders
Key Name Type Length Null
KEY DEVERYMETHOD VARCHAR 10 FALSE
CONSIGNEENAME VARCHAR 10 FALSE
CONSIGNEEADDRESS VARCHAR 10 FALSE
ORDERDATE VARCHAR 30 FALSE
CONSIGNEEPOSTALCOST VARCHAR 10 FALSE
POSTAGE VARCHAR 10 FALSE
ORDERID INTEGER 4 FALSE
CUSTOMERID VARCHAR 10 FALSE
STATUS INTEGER 4 FALSE
4.1.4 产品数据字典
表4.1.4 Table_Products主要纪录产品信息。其中产品ID、供货方ID、库存量、已卖出数量为INT型,产品代码、产品名、类别码、图片、修改人、修改日期、描述为字符串型(鉴于某些产品不一定有图片,图片字段设定可为空并设定长度为50)。市场价格、供货方价格与现价为双精度浮点数。
表4.1.4 Table_Products
Key Name Type Length Null
KEY PRODUCTID INTEGER 4 FALSE
PRODUCTNAME VARCHAR 10 FALSE
CODING VARCHAR 10 FALSE
SUPPLIERID INTEGER 4 FALSE
CATEGORYID VARCHAR 10 FALSE
SUPPLIERPRICE DOUBLE 8 FALSE
MARKETPRICE DOUBLE 8 FALSE
PRICE DOUBLE 8 FALSE
PICTURE VARCHAR 10 TRUE
STOCKNUMBER INTEGER 4 FALSE
SALENUMBER INTEGER 4 FALSE
MODIFYMAN VARCHAR 10 FALSE
MODIFYDATE VARCHAR 10 FALSE
DESCRIPTION VARCHAR 10 FALSE
4.2 类成员描述
用户信息是由用户在注册时输入的,包括用户姓名、密码、密码找回提示问题、密码找回答案等信息。
产品展示中包括的产品信息有产品名称、产品类型、产品价格、当前市场价格、产品图片、详细描述等信息。
纪录表单中包括的相关信息有顾客购买的的商品、送货地址、顾客邮编、送货方式、信用卡号、订单日期等信息。
相关各类成员的详细信息可以参见系统总体类图。
4.3用户界面的设计与功能代码的实现
4.3.1 登陆页面的设计
图4.2 登陆页面
登陆页面部分关键代码:
out.println(username);
out.println(password);
Connection conn=pool.getConnection();
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql=“SELECT * FROM Customers WHERE Username='”+username.trim()+“'”;
ResultSet rsLogin=stmt.executeQuery(sql);
if(!rsLogin.next() ){
response.sendRedirect(“loginFailure.jsp”);
}else if(!password.trim().equals( rsLogin.getString(“Password”).trim() )){
response.sendRedirect(“loginFailure.jsp”);
}else{
session.putValue(“username”,username);
response.sendRedirect(“loginOK.jsp”);
}
rsLogin.close();
stmt.close();
pool.releaseConnection(conn);
4.3.2 注册页面的设计
图4.3 注册页面
注册页面部分关键代码:
Connection conn=pool.getConnection();
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql1=“SELECT * FROM Customers WHERE Username='”+username+“'”;
ResultSet rsLogin=stmt.executeQuery(sql1);
if(rsLogin.next()){
response.sendRedirect(“registerFailure.jsp”);
}else{
String sql2=“INSERT INTO Customers(Username,Password,Question,Answer) VALUES('”+username+“‘,’”+password+“‘,’”+question+“‘,’”+answer+“')”;
stmt.executeUpdate(sql2);
response.sendRedirect(“registerOK.jsp”);
}
rsLogin.close();
stmt.close();
pool.releaseConnection(conn);
4.3.3 密码找回的设计
省略
4.3.4 商品展示的设计
图4.7 商品展示页面
商品展示页面部分关键代码:
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); String sql="SELECT * FROM Products"; ResultSet rsProducts=stmt.executeQuery(sql); rsProducts.last();//将指针移动到最后一条记录 rowCount=rsProducts.getRow();//取得ResultSet中记录的总条数 pageCount=((rowCount%pageSize)==0)?(rowCount/pageSize):(rowCount/pageSize+1);//计算总页数 if(pageIndex==null||pageIndex.equals("")){ showPage=1; //URL中不带参数的情况 }else{ //try{ showPage=Integer.parseInt(pageIndex); //URL中带参数的情况 //} //catch(NumberFormatException e){ // showPage=1; //} if(showPage<1) { showPage=1;//URL中应显示的页面小于1的处理 }else if(showPage>pageCount){ showPage=pageCount;//URL中应显示的页面大于页面总数的处理 } } if(showPage*pageSize>=rowCount){ pageNumber=rowCount-(showPage-1)*pageSize; }else{ pageNumber=pageSize; } if(pageCount>0){ rsProducts.absolute((showPage-1)*pageSize+1); }
1234567891011121314151617181920212223242526272829304.3.5 购物车页面的设计
图4.8 购物车页面
购物车页面部分关键代码:
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); String sql = "SELECT * FROM PRODUCTS WHERE ProductID=" + productID; ResultSet rsProducts = stmt.executeQuery(sql); if(rsProducts.next()){ price=rsProducts.getDouble("Price"); productName=rsProducts.getString("ProductName"); description=rsProducts.getString("description"); }else{ flag=false; rsProducts.close(); stmt.close(); 123456789101112
5.开发遇到的问题与解决方案
系统提示数据库驱动程序不正确。解决方案:下载最新的驱动程序。
DB2 7.2中不能直接修改数据库表中元素的问题。解决方案:更换更新版本数据库DB2 8.2。
页面中文显示为乱码的问题。解决方案:更改编码类型为GB2312。
页面间参数传递问题。解决方案:使用session进行参数的传递。
界面设计的问题。解决方案:多查阅教程和其它资料,争取做得更加美观。
各方面的功能还不够完善的问题。解决方案:在后续的版本中进一步补充,使之更能符合用户的需求。
6.总结体会
本次毕业设计跟我们以往的课程设计相比有很大的不同。首先:前期的选题时不确定的这样更有利于我们在充分的查阅资料后选择一个自己适合的题目,从而极大的提高我们做设计的积极性和选题的合理性。其次:文档方面由前期的毕业设计任务书、开题报告、文献综述到中期的中期报表,再到后期的毕业设计论文。前面不管哪一步如果做得不好都会影响到后面的设计进程,相反,如果前面的准备工作做得好,后面的设计就会变得相对容易许多。最后:开发工具上面我们使用的是IBM公司的WebSphere 5.1.1、DB2 8.2、Rational Rose 2003,这些都是我们在以前的课程设计中所没有接触过的,虽然给我们的设计带来了一定的难度,但同时也是我们对于这几种开发工具有了深入的了解。同时在此次设计中也加强了我们团队协作的精神,相信对于我们以后的学习和工作都会有很大的好处。
当然,由于此次的开发工具功能实在强大,与我们以往接触到的有很大不同,而我们所能找到的相关方面的资料实在是有限,使得我们在掌握他们并用来开发上造成了很大的困难,所以此次设计的完成情况不是很理想,有些功能虽然我们想到了,但终于还是不够完善,如果可能的话在以后的时间里我们会尽量完善系统的功能。.
参考文献
[1]熊节 做电子商务的20条理由 中华科技网 2000年
[2]王变琴、刘一凡 《基于WebSphere的JSP技术》2000年
[3]刘晓华 Java Servlet概述 2004.11.23
[4]周悦芝 J2EE概述 2004年
[5]佚名 谈谈MIS系统平台2003年
[6]夏瑜 略论基于B/S模式网络课件练习系统 2002.3.21
[7]廖荣贵、张钰汶IBM WebSphere 开发工具详解 2004年
[8]UML软件工程组织 http://www.uml.org.cn/ 2003年
[9]王晓红 DB2 简介 2002年
[10] 佚名 中国J2EE技术论坛 2004年
[11] 张淑梅CNNIC(中国互联网络信息中心)的《中国互联网络热点调查报告》2003年
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
精选JAVA毕业设计83套——源码+论文完整资源
相关知识
java毕业设计鲜花管理系统的设计与实现(springboot+mysql+jdk1.8+meven)
基于JAVA馥郁花艺网站mp4计算机毕业设计源码+数据库+lw文档+系统+部署
基于ssm+vue基于的鲜花预定管理系统(开题报告+源码+论文)
java毕业设计网上花店系统(Springboot+mysql+jdk1.8+maven3.39)
【开题报告】基于Springboot+vue羽毛球俱乐部管理系统设计与实现(程序+源码+论文) 计算机毕业设计
计算机毕业设计之 [含实训报告+源码等]javaweb花店管理系统[包运行成功]
基于Java网上鲜花销售系统的设计与实现
基于node.js+vue花点心思鲜花订购系统的设计与实现后(开题+程序+论文)计算机毕业设计
基于ssm+vue网上花店销售管理系统【开题+程序+论文】
基于JAVA的鲜花销售系统(源码+开题)
网址: java毕业设计——基于JSP+J2EE+sqlserver的B2C电子商务系统设计与实现(毕业论文+程序源码)——电子商务系统 https://m.huajiangbk.com/newsview949451.html
上一篇: 花茶水果茶哪个牌子好?2024花 |
下一篇: b2c有哪些电商平台?国内b2c |