商城项目的简单实现

1.开发环境及所用知识体系

1.1开发平台、开发工具、应用服务器介绍

开发平台:NetBeans:NetBeans是开源软件开发集成环境,是一个开放框架,可扩展的开发平台,可以用于Java、C/C++,PHP等语言的开发,本身是一个开发平台,可以通过扩展插件来扩展功能。
开发工具:JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
应用服务器:Apache Tomcat 8.0.27.0一个轻量级的web服务器,tomcat在实际开发中使用的较为广泛,它以轻量级,功能全著称。
MYSQL:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统(RDBMS)之一。
1.2相关技术及所用知识点介绍
CSS:层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
JSP:JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
SerVlet:Servlet时运行在Web服务器端的Java应用程序,它使用Java语言编写,具有Java语言的优点。与Java程序的区别时,Servlet对象主要封装了对HTTP请求的处理,并且它运行需要Servlet容器的支持,在JavaWeb应用方面,Servlet的应用占有十分重要的地位,它在Web请求的处理功能方面也非常强大。
JDBC:JDBC四程序与数据库系统通信的标准API,它定义在JDK的API中,通过JDBC技术,Java程序可以非常方便地与各种数据库交互,JDBC在Java程序与数据库系统之间架起了一座桥梁。
知识点:
1.表格标记:行标记,单元格标记
2.CSS样式表:
3.表单输入标记. text和password属性值
4.JSP 表达式
JSP表达式用于向页面中输出信息,其语法格式:<%=表达式%>
5.内置对象的概念和使用方式:
(1)request对象
访问请求参数:
request.getParameter(“n”)
在作用域中的管理属性:
在请求转发时,需要把数据传递到转发后的页面进行处理,可以将数据保存:
request.setAttribute(string name,Object object )
当保存到request范围内的变量中后,获取该变量的值:
request.getAttribute(String name)
6.重定向网页
使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面(目标路径可以是相对路径,也可以是不同主机的其他URL地址),重定向后request中的属性失效,开始一个新的request对象:
response.sendRedirect(String path)
7.创建及获取客户的会话
session.setAttribute(“name”,”鹭草”)//保存
session.getAttribute(“name”);//读取保存的值
setAttribute()方法返回值是Object类型,如果将获取到的信息赋值给String类型的变量,则需要进行强制类型转换或是调用其toString()方法:
String user=(String)session.getAttribute(“name”);//强制类型转换
String user1=session.getAttribute(“name”).toString();//调用toString()方法

数据库的操作
增加:sql=“insert into tb_user(name,password,email) value(’”+name+"’,’"+password+"’,’"+email+"’)";
stm.executeUpdate(sql);//执行数据库插入语句
删除: 数据库结构sql = “delete from tb_user where name= '” +name+ “’”;
stm.executeUpdate(sql);//执行数据库删除语句
更新:sql = “update tb_user set password =’” + password1 + “’ where name = '” + name + “’”;
stm.executeUpdate(sql);//执行数据库更新语句

2.数据库介绍
2.1数据表的设计和结构说明
此次作业主要是设计一个简单的购物车小程序,主要涉及到到的数据表,就是用户信息的数据表,和商品信息的数据表。用户信息的数据表主要是用于用户登录是后进行身份密码匹配验证,和用户个人信息的展示和修改。商品数据表主要是用于商品信息的存储,以及进行商品信息的读取于修改。用户信息数据表主要包括用户名(name),用户密码(password),用户的性别,生日,电话号码,住址等信息的填写。商品数据表主要包括商品的名称(gname),商品的价格(price),商品的总数(total)商品的图片(Pic),商品的分类(sort)。
设计用户的数据表:

商品的数据表:

3.程序功能及流程图
3.1整体功能的介绍
程序的目录:

此次作业主要就是实现一个简易的购物系统,在这个购物系统,我主要写了三个功能。
首先由一个Web应用模块实现登录注册功能,用户的注册信息需存放于数据库中,登录时需进行数据库数据验证,如果登录时没有输入用户名或密码或者用户名和密码不匹配,输出提示消息,重新登录。在注册时也是一样要进行用户名的验证。注册时的用户名不能相同。同时还要进行密码的输入以及密码的二次确认的确认,输入邮箱。然后进入主界面还有一个用户信息完善和修改的功能。
其次要实现一个购物的功能。就是做一个购物车,在商品展示界面,展示商品的相关信息,如有需要,则选着加入购物车,在购物车中可以选着删除商品,以及修改商品的购买数量,同时读商品的单价和总价进行显示。
第三,写了一个管理员身份登录管理的功能,在登录界面就进行判断,根据输入的用户名和密码,如果用户名为administrator则判断为管理员登录。管理员可以对用户信息进行修改,也可以对商品信息进行修改和添加商品信息。
3.2各个程序文件的功能作用介绍
把程序文件大致分为三个部分。各个部分的功能和各个程序文件的功能如下:
1.用户登录,注册部分,修改查看个人信息的部分。
用户登录注册部分,主要由user文件夹里的JSP界面,进行输入输出显示。用user包下面的Java文件或者servlet文件进行逻辑判断。用户信息查看和修改主要由person文件夹下面的JSP来进行输入输出显示,用person包下面的servlet文件进行逻辑判断。
login.jsp文件主要用来实现登录界面,主要包括用户名和密码的输入与提交,以及与数据库匹配和,匹配消息的显示。还要register.jsp的连接。
Register.jsp文件主要用来实现注册界面,主要包括输入用户名和密码,以及二次确认的密码,还要邮箱的输入,以及输出提示信息。
Login.java文件,用来接受从login.jsp传送过来的密码和用户名,判断密码和用户名是否输入,连接数据库对用户名和密码进行匹配,如果不正确,回到login.jsp界面重新登录并提示错误信息。
Register.java文件,用来接受从register.jsp传送过来的数据,用户名,密码和邮箱。判断是否有输入为空,如果有数据为空,返回register.jsp界面,重新输入。如果不为空,连接数据库对用户名进行匹配。如果输入的用户名和数据库中有一样的,返回输入进行,重新输入,并提示“用户名已存在”。
Inperson.jsp文件,进行个人信息的修改,将修改好的表带信息进行提交。
Outperson.jsp文件,用来输出修改过后的用户信息。
Show.jsp文件,用来输出用户的信息(用户只要登录了就可以查看自己的个人信息)
Showservlet文件用来判断用户是否登录,如果用户没有登录则返回提示信息请先登录,如果用户登录了,则根据用户的登录名,输出用户的个人信息。
Personservlet文件,用来接受inperson.jsp提交的表单信息,在数据库中对用户自己的信息进行修改。然后将修改过后的信息转发给outperson.jsp进行输出。
2.管理员登录,管理部分:
管理员登陆,管理部分主要由,administrator文件夹下的JSP文件和 admi包下面的servlet文件构成。
Updatauser.jsp文件主要用于展示所有用户的信息,每行的用户信息对应一个删除和和修改的链接。
Updatagoods.jsp文件主要用来输出所有的商品信息,每一行的商品信息都对应一个删除的链接和一个修改的链接。Uodatagoods.jsp文件里面还有一个增加商品的链接,可以用来输入新的商品信息。
Uponeuser.jsp文件用来进行当个用户信息的修改。首先对选着的用户信息进行输出,然后在表格中对要修改的信息进行写入。
Uponegoods.jsp文件用来修改单个商品的信息修改。首先对需要选着的商品信息进行输入,然后在表单中对要修改的数据进行写入。
Ingoods.jsp:用来输入新的商品信息。
Goodsall.java文件用来完成更新,删除,修改,用户和货物信息。里面由多个方法。
3.商城展示和购物车部分:
GoodsShow.jsp:用来进行商品的展示,可以展示全部的商品,也可以将商品进行分类展示。
cartShow.jsp:用来显示购物车里面的东西,还要输出商品的单价和总价,以及所有商品的总价。
Goods:Goods类,封装了各种Goods的方法。
GoodsServlet文件:里面写了很多的方法对商城的功能进行实现。
cartServlet文件:里面的内容主要是对商品的价格的计算。
shopDao文件:是对数据库进行一个操作。里面由很多的方法,实现对不同条件下,对数据库的操作。
4.数据库连接部分:
util包下的DatabaseAccess.java文件用来实现对数据库的连接,查询,更新,关闭。

3.3各程序文件之间的流程关系图

1.实现登录注册的文件关系:

2.实现个人信息查看修改功能的文件关系:

3.实现管理员管理功能的文件关系:

4.实现商城购物车功能的文件关系:

4.程序层次结构

4.1程序中MVC模式层次的划分及说明

5.程序界面

5.1各界面截图

1.First.jsp开始界面:

2.登录注册界面:login.jsp 和register.jsp界面

3.日历的输出calebder.jsp:

4.修改个人信息界面:inpersonShow.jsp界面和outperson.jsp界面

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210702214627151.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUxMDU2MjA3,size_16,color_FFFFFF,t_70)

5.查看个人信息界面:show.jsp:

6.对全部用户信息进行修改的界面Pudatauser.js

7.对全部商品进行修改的界面pudatagoods

8.对单个商品进行修改的界面Pudataoneuser.jsp

9.对单个用户信息进行修改的界面Pudataonegods.jsp

10.商城界面:
主界面:

分类显示界面:

文档实在是写得太多了,晚点再写了。如果有需要源码的童鞋可以留言。

Web项目实战(购物商城项目简单的实现)相关推荐

  1. python开发商城实战视频_商城项目实战_商城项目实战教程_商城项目实战视频教程 _课课家...

    本套餐将包括两个重磅性的课程与一个赠送学习的课程,分别为SpringBoot实战视频教程与RabbitMQ实战教程跟SSM整合开发之poi导入导出Excel.目的是为了让各位小伙伴可以从零基础一步一个 ...

  2. Web项目实战 | 购物系统v2.0 | 开发记录(九)Controller层返回数据的封装 | 商品批量操作 | 五表联立实现商品搜索

    --若发现文章内容有误,敬请指正,望不吝赐教,感谢! 文章目录 以往记录 运行环境 一.设计Bean用于Controller层返回数据 二.商品批量操作 2.1 批量操作的前端设计 2.2 批量操作的 ...

  3. Web项目实战 | 购物系统v2.0 | 开发记录(五)使用base64编码实现头像修改 | 用户个人信息修改 | JQuery动态提示

    文章目录 以往记录 一.运行环境 二.实现头像修改 三.用户个人信息修改 四.Bug & DeBug 以往记录 Web项目实战 | 购物系统v2.0 | 开发记录(一)需求分析 | 技术选型 ...

  4. Java高级开发0-1项目实战-青鸟商城-Day03

    作者:田超凡 原创博文,严禁复制转载,仿冒必究 项目计划 第三天: 前台系统搭建 商城首页展示 Cms系统的实现 内容分类管理 内容管理 前台内容动态展示 1. 商城首页展示 系统架构: 页面位置: ...

  5. Vue购物商城项目(二) 数据请求使用

    Vue购物商城项目(二) 文章目录 Vue购物商城项目(二) 前言 一.请求数据 request.js home.js Home.vue 二.使用数据 总结 前言 1.这里面包含了大量的.我的个人理解 ...

  6. Django 20购物商城项目(注册、登录页面:生成动态验证码)

    dDjango 20购物商城项目 1.安装pillow 2.在注册页面加入验证码 2.1.register.html (增加内容) 2.2.register.js(增加内容) 2.2.路由.视图(增加 ...

  7. Django 19购物商城项目(收货地址:添加、修改)

    dDjango 19购物商城项目 1.新建axf_addr,收货地址表 2.路由 3.cart页面,添加默认收货地址 4.视图(主要修改了cart.新建了收货地址相关方法) 5.收货地址列表 6.收货 ...

  8. 全力升级篇-基于Mongodb与Nginx负载均衡打造共享单车项目实战 最新完整项目升级版

    全力升级篇-基于Mongodb与Nginx负载均衡打造共享单车项目实战 最新完整项目升级版 课程作为全新的升级项目课程,基于Nginx负载均衡,Flume与Kafka,Mongodb和Redis等技术 ...

  9. Java 高并发_JAVA并发编程与高并发解决方案 JAVA高并发项目实战课程 没有项目经验的朋友不要错过!...

    JAVA并发编程与高并发解决方案 JAVA高并发项目实战课程 没有项目经验的朋友不要错过! 1.JPG (37.82 KB, 下载次数: 0) 2018-12-3 09:40 上传 2.JPG (28 ...

  10. 小项目-网上购物商城(无代码)

    序言 此项目为网上购物商城实战训练项目,花费三天用来学习如何使用 Maven创建项目(这个具体的细节老师没讲,只是大致学习了操作的流程),然后一天时间用来做这个小项目.不过第四天上午我的workspa ...

最新文章

  1. 重磅丨AI公共政策成全球热点,美国ITI发布《人工智能政策原则》
  2. 敏捷个人:激励   2011-11-26期
  3. Unity3d 协程、调用函数、委托
  4. Eclipse使用时的一些小积累
  5. 机器学习的简单逻辑回归的Advanced Optimization
  6. 洛谷【P2758】-编辑距离
  7. NOIP模拟测试22「位运算」
  8. 【代码升级】【iCore3 双核心板】例程二十八:FSMC实验——读写FPGA
  9. CSS3新增选择器:伪元素选择器
  10. c++怎么做app_怎么做一款app
  11. Android 功耗(10)---如何测试 Mediatek 平台各个场景的功耗数据?
  12. pat1091. Acute Stroke (30)
  13. ❤️《大前端—了解与使用NodesJS》
  14. 程序员薪资怎么论高级还是初级_Java程序员的薪水取决于年龄还是技术?
  15. C#温故而知新学习系列之面向对象编程—自动属性(十一)
  16. 旅游后台管理系列——SSM框架Service层整合
  17. 操作系统实验——进程通信
  18. 【项目管理/PMP/PMBOK第六版/新考纲】项目资源管理/权力理论/管理方格理论/领导生命周期理论/激励理论/马斯洛需求层次理论/赫兹伯格的双因素理论/X理论和Y理论/弗鲁姆的期望理论
  19. 骚操作!那些富有感情的影视台词截图都是哪来的?
  20. 计算机网络波动大,网络不稳定怎么办,小编教你电脑网络不稳定怎么办

热门文章

  1. Linux系统镜像源替换
  2. java并发包aqu_Java并发包之SynchronousQueue
  3. js代码格式化java api_Javascript 代码格式化(JsFormat)
  4. Web前端--HTML+CSS+JS实现3D立体魔方小游戏
  5. 用栈实现计算器c语言报告,利用栈实现c语言计算器
  6. Unity3D跑马灯脚本
  7. ModelSim入门教程和两个典型例子
  8. Java核心技术卷II:高级特性
  9. windows卸载linux系统,Windows和Linux双系统下完美卸载linux
  10. IIS下载无后缀文件的设置