ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:378.62KB ,
资源ID:5608640      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5608640.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java实现当当网.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java实现当当网.docx

1、java实现当当网JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 企业专业综合实习实训手册学 院: 计算机工程学院 专 业: 计算机科学与技术 学 号: 10141228 学生姓名: 张燕 企业名称: 达内 校方指导教师: 白凤娥 企业指导教师: 徐铭 2013年 7 月目录当当网网站实现 4一、需求分析 41.1课题背景及意义 41.2 技术原理 4二、模块功能说明(概要设计) 4三、详细设计 53.1 系统设计 53.2 功能实现 83.3 数据库的连接 11四、各功能模块的实现 124.1 登录注册模块: 124.2 商品列表模块的实现: 154.3

2、购物车模块的实现 164.4订单模块的实现 174.5后台数据库模块的实现 18五、测试结果 19六、设计小结 19七、环境配置 207.1 系统环境变量配置: 207.2 Tomcat 安装与环境变量的配置 207.3 MyEclipse6.0安装 207.4 MySQL安装 21八、参考文献 21附录 程序源代码 21当当网网站实现摘要:本系统主要为用户提供了会员注册,商品搜索,购物车管理,订单结算等功能。在设计方面,本系统使用JSP技术进行页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。后台数据库选用MySQL数据库。 关键字:java、

3、当当网、购物车、JSP技术一、需求分析1.1课题背景及意义 自从人类社会进入21世纪,Internet的普及已经影响了传统的交流方式,成为了我们日常生活中的一个新的载体,电子商务这种新的商务模式也随之产生。电子商务是一种依托现代化信息技术和网络技术,集金融电子化、管理信息化、商贸信息网络化为一体,旨在实现物流,资金流与信息流和谐统一的新贸易形势。网上商店是近年来随着电子商务的发展而产生的一种新型的商店形势。与传统的商店相比,网络购物不在受时间和地域的限制,在世界各地都可以达到随时随地、足不出户的够买商品,既可以大大减少物品销售中的营销成本,还节省了大量的人力、物力和时间,极大地提高了工作效率和

4、人们获取新信息、新技术、新知识的速度。1.2 技术原理本系统主要为用户提供了会员注册,商品搜索,购物车管理,订单结算等功能。在设计方面,本系统使用JSP技术进行页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。后台数据库选用MySQL数据库。 二、模块功能说明(概要设计)在平台功能的分析基础上,得到本平台的主要功能模块图如下所示: 用户进入当当网平台,用户可以先进行注册,填写相关信息后,然后登录。在主页面,用户可以通过左栏的分类商品进行查看,找到自己想要产品。用户登录后,可以通过点击购买对商品进行购买,添加至购物车中。也可以对购物车进行删除、更改

5、数据,点击结算后生成订单,要求用户填写送货地址等信息,在订单生成页面进行友情链接至商品列表。三、详细设计3.1 系统设计前台购物流程如下图所示用户在前台可以浏览商品,看到自己喜欢的商品可以选择商品,然后订购商品,这时需要进行判断,如果是没有登录的用户,则跳转到登录页面,已经登录的用户则跳转到购物车页面,然后生成订单、提交订单。注册功能模块如下图所示 注册的具体实现为:点击主页面的创建一个新用户选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail,地址等各项信息,提交后,系统进行检测判断该用户名或者该邮箱是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名或邮箱已经注

6、册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,最后系统会给出一个验证码,用户输入验证码,若匹配则注册成功,并将用户数据存入数据库,若验证码错误,则仍旧停留在输入验证码的页面。商品浏览模块如下图所示商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提高效率。用户搜索时只要点击页面左侧的商品的关键字就能搜索到所有相关的商品。并且能列出通过搜索得到的商品的详细信息。用户模块如下图所示用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当中。首先,用户要有一个用户名和密码。当当网是一个商务网站,因此

7、需要很高的稳定性和安全性,用户名不允许使用恶意的代码作为用户名,用户名与验证邮箱不得重复,同时对密码也要求保密,将密码存入数据库。购物车模块如下图所示购物车具体的实现可采用这种形式:定义一个购物车的类(Cart)和一个单独购物项的类(CartItem)。1.列出商品的列表,使用户能够自由选择所需要的商品。2.当用户在点击“购买”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,并注册这Session变量;在有用户购物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加1;如没有该商品,则添加一个购物项。 订单模块如下图所示订单模块是我本人写的一个模块,因此比较清

8、楚。订单模块中主要是在.jsp的页面里进行遍历输出购物车中的数据,因为没有做下拉列表框,所以整个模块只有一个Servlet类,是当用户在页面输入数据时,从中取出参数进行三个关联表的存储。如果想要再做一个下拉列表框,这需要添加一个.do,每次输入时都将用户填写的地址信息存入数据库,再在下拉列表框中从数据库内获取数据即可完成信息回填的过程。3.2 功能实现能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有

9、哪些属性,对应有些什么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。从实际出发,经过仔细地设计,得到各表的设计,分别是:d_category表、d_product表、 d_book表、d_category_product表、 d_item表、 d_order表、d_receive_address表、 d_user表。d_category表COULUMN_NAMECOLUMN_TYPEIS_NULLABLCOLUMN_KEYCOLUMN_DEFAULTEXTRAidint(12)NOPRIauto_incrementturnint

10、(10)NOen_namevarchar(200)NOnamevarchar(200)NOdescriptionvarchar(200)YESparent_idint(10)YESd_product表COULUMN_NAMECOLUMN_TYPEIS_NULLABLCOLUMN_KEYCOLUMN_DEFAULTEXTRAidint(12)NOPRIauto_incrementproduct_namevarchar(100)NOdescriptionvarchar(100)YESadd_timebigint(20)YESfixed_pricedoubleNOdang_pricedoubleNO

11、keywordsvarchar(200)YEShas_deletedint(1)NO0product_picvarchar(200)YESd_book表COULUMN_NAMECOLUMN_TYPEIS_NULLABLCOLUMN_KEYCOLUMN_DEFAULTEXTRAidint(12)NOPRIauthorvarchar(200)NOpublishingvarchar(200)NOpublish_timebigint(20)NOword_numbervarchar(15)YESwhich_edtionvarchar(15)YEStotal_pagevarchar(15)YESprint

12、_timeint(20)YESprint_numbervarchar(15)YESisbnvarchar(15)YESauthor_summarytextNOcataloguetextNOd_item表COULUMN_NAMECOLUMN_TYPEIS_NULLABLCOLUMN_KEYCOLUMN_DEFAULTEXTRAidint(12)NOPRIauto_incrementorder_idint(10)NOproduct_idint(10)NOproduct_namevarchar(100)NOdang_pricedoubleNOproduct_numint(10)NOamountdou

13、bleNOd_order表COULUMN_NAMECOLUMN_TYPEIS_NULLABLCOLUMN_KEYCOLUMN_DEFAULTEXTRAidint(10)NOPRIuser_idint(10)NOstatusint(10)NOorder_timebigint(20)NOorder_descvarchar(100)YEStotal_pricedoubleNOreceive_namevarchar(100)YESfull_addressvarchar(200)YESpostal_codevarchar(8)YESmobilevarchar(20)YESphonevarchar(100

14、)YESd_user表COULUMN_NAMECOLUMN_TYPEIS_NULLABLCOLUMN_KEYCOLUMN_DEFAULTEXTRAidint(12)NOPRIauto_incrementemailvarchar(50)NOnicknamevarchar(50)YESpasswordvarchar(50)NOis_email_verifychar(3)YESemail_verify_codevarchar(50)YESlast_login_timebigint(20)YES3.3 数据库的连接出于安全性的考虑,我们将与数据库的连接,还有关闭都单独写出来放在DBUtil里面并进行编

15、译,也就是数据库连接的javabean文件,在Servlet类中只用直接调用改方法即可,在本系统中我们将其命名为为DBUtil.getConnection()、DBUtil.close()。getConnection()代码如下:String url=jdbc:mysql:/localhost:3306/dangdang; String name=root; String pwd=; try Class.forName(com.mysql.jdbc.Driver); Connection conn= DriverManager.getConnection(url, name, pwd); re

16、turn conn; catch (Exception e) e.printStackTrace(); return null;DBUtil.close()代码如下:if(res != null) try res.close(); catch (SQLException e) e.printStackTrace(); 四、各功能模块的实现4.1 登录注册模块:用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行购买时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的购物,如果输入的密码不正确,则不能进行购买。如果用户以浏览者的身份进入网站

17、,则只能进行一般的商品浏览和搜索,而不能进行选购,在点击添加购物车后,系统会判断该用户是否是登陆用户,如果不是则不跳转至购物车页面,因此用户必须先登陆才能定购商品,如果是第一次登陆,则先进行注册。主页面的效果图如下图所示: 主页面示意图如果用户还不是会员则提示用户进行注册,用户提交信息之后,系统开始判断用户的注册信息是否有效,首先是邮箱及用户名是否为空,是否重复使用过,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入d_user表并提示用户注册成功,用户登陆后,就可以进行有效的购物了。注册页面的效果图如下图所示:注册

18、页面示意图系统对用户的注册信息的验证实现如下:用户输入的各项信息分别对应字段先获取用户输入的所有参数:String email=request.getParameter(email);String nickname=request.getParameter(nickname);String password=request.getParameter(password);String repassword=request.getParameter(repassword);、再存入数据库中:User user=new User();user.setEmail(email);user.setNick

19、name(nickname);user.setPassword(password);然后,判断用户名与邮箱是否已被注册过。当所有条件都符合的时候,系统将数据写入数据表d_user,并返回邮箱验证的页面,显示用户所填写的邮箱信息及邮箱的验证码,判断用户输入的验证码是否正确。if (code.equals(c) response.sendRedirect(register_ok.jsp);else request.setAttribute(err_msg,验证错误); request.getRequestDispatcher(verify_form.jsp).forward(request,res

20、ponse);邮箱验证示意图:4.2 商品列表模块的实现:用户登陆成功以后,在商品列表的页面可以看到所有的图书,左侧为图书的分类,点击分类后,右侧会查询出所对应的书籍。在主页面中分别有编辑推荐、热销图书、最新上架图书等功能模块,主页面如下所示:其中,编辑推荐下的书籍为随机产生的数据显示在页面上。热销图书部分是在购物车模块的基础上,算出销售量最大的账本图书显示的,最新上架的图书是根据日期比较,最晚的图书显示。若点击近现代小说,则系统会查询出条件的数据并显示(分类号后面的数字表示数据库中的存量):4.3 购物车模块的实现当用户找到了想要购买的书本后,在点击物品下方的购买以后,系统会停留在商品列表页

21、面,以供用户继续购买商品,用户点击购物车后,系统会跳转至购物车页面,显示出刚刚用户所购买的商品列表,然后用户可以修改需要的数量甚至是删除购买的书籍。购物车页面如下所示:输入变更数量,点击变更后,商品数量会被改变,且商品金额总价也会随之而改变。具体代码如下: request.setCharacterEncoding(utf-8); response.setContentType(text/html;charset=utf-8); String id=request.getParameter(id); String num=request.getParameter(num); HttpSessio

22、n session=request.getSession(); Cart car=(Cart)session.getAttribute(cart); car.modify(Integer.parseInt(id),Integer.parseInt(num);/变更数据 response.sendRedirect(cart_list.jsp);4.4订单模块的实现 订单模块中,我做的还是比较简单的,主要是在页面中遍历输出购物车中的所有数据,而在Servlet类中实现的是向三个表中插入用户所输入的数据。并且生成订单,要求用户填写送货地址。确认订单页面如下:填写送货地址页面如下:生成订单后,友情链接

23、至继续浏览并选购商品。4.5后台数据库模块的实现网上购物系统除了能够让用户实现前台的浏览和购物等操作之外,这需要将这些信息都存入数据库中,且系统中的商品信息均是从数据库中拿出来的,因此对数据库的维护非常重要。用户数据表如下:idemailnicknamepasswordis_email_verifyemail_verify_codelast_login_time111655777777zs11111121234356798zy1111113111211111111111411111122111111511111000331111116123dd11111171165577117ss111111

24、五、测试结果对于网上购物系统来说安全性无疑是最重要的,层层验证虽然保证了系统的安全性,但对于用户来说又是极不人性化的,如何在最简单的验证流程下,保证用户数据的安全,是在做网上购物系统中需要考虑的一个问题。六、设计小结我的设计论文具体论述了网上购物系统的主要功能及体系结构,重点讨论了系统数据准备、数据库的逻辑结构分析、各模块系统流程,各功能模块的关联和响应,JSP与后台数据库链接等关键技术。这些技术的实现,满足了系统的需要,优化了系统的性能。目前基于该模型的系统处于实验阶段,还存在许多问题与不足,如安全性能还不完善,缺少必要的数据加密系统等,这些功能与技术还需要加以提高和实现。 网上购物系统无论

25、是在开发过程中,还是建成后的日常维护过程中,都需要进行严格的检测,以保证购物系统的服务质量。随着网上购物系统技术的日趋成熟、网上购物的优势日趋明显,会有更多的人参与到网上购物的浪潮中来,人类最终将迎接电子商务时代的来到。七、环境配置7.1 系统环境变量配置:右键单击“我的电脑”,然后选择“属性”,在打开的对话框中,选择“高级”选项卡,然后单击下面的“环境变量”按钮,在弹出的环境变量对话框中,看下面的“系统变量”块,单击“新建”按钮,弹出“新建系统变量”对话框,然后创建变量名为“JAVA_HOME”的变量,变量值为“C:Program FilesJavajdk1.”(即安装JDK时所选的安装JD

26、K的根目录);然后再在系统环境变量中选择“Path”变量,单击“编辑”按钮,弹出编辑系统变量对话框,在“变量值”的后面添加“;%JAVA_HOME%bin”。7.2 Tomcat 安装与环境变量的配置使用Tomcat-5.0.28版本,解压“jakarta-tomcat-5.0.28.zip”文件,到指定目录即可。当用户配置完环境变量后,就可以运行MyEclipse,在MyEclipse工具栏上点击“window”选择“showtime”选择“Serves”在serves里面把你的工程名称加载进去,在“Tomcat 6.x”上单击右键,选择“Run”运行即可。Tomcat 的环境变量的配置:右

27、键单击“我的电脑”,然后选择“属性”,在打开的对话框中,选择“高级”选项卡,然后单击下面的“环境变量”按钮,在弹出的环境变量对话框中,看下面的“系统变量”块,单击“新建”按钮,弹出“新建系统变量”对话框,然后创建变量名为“TOMCAT_HOME”的变量,变量值为“C:Program FilesApache Software FoundationTomcat 5.0.28”(即解压Tomcat时所选的Tomcat的根目录);然后再在系统环境变量中选择“Path”变量,单击“编辑”按钮,弹出编辑系统变量对话框,在“变量值”的后面添加“;%TOMCAT_HOME%bin”。7.3 MyEclipse6.0安装使用MyEclipse6.0版本. My Eclipse 的安装:首先安装 ECLIPSE 到“F:eclipse”路径下 ,按照默认的安装配置,点击“下一步”完成安装,之后安装 MYECLIPSE ,按照默认配置点击“下一步” ,选择“F:eclipse” 路径,点击“下一步” ,按照默认配置点击“下一步” ,完成 MYECLI

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1