0 项目说明
java web网上购物商城系统
提示:适合用于课程设计或毕业设计,工作量达标,源码开放
1 系统设计
本网上商城系统以MVC分层思想为原则,使用SSH框架进行整合开发。页面显示使用JSP和HTML,数据库使用MySQL,这些技术目前相对比较成熟,方便系统的维护与扩展。
网上商城系统由前台管理、后台管理两部分组成。
前台管理:该部分主要是用户对商品的查询等功能,用户没有注册可以实现商品的查询和商品信息的查看;用户注册后就可以进行添加商品到购物车、从购物车删除商品、订单提交、个人信息更新等操作。
后台管理:该部分主要对商城内的一些基础数据进行有效管理,包括商品管理、会员管理、订单管理等。
2 数据库设计
数据库概念设计是根据对系统的分析、系统设计,规划出系统中使用的数据库实体。描述概念模型的工具主要是E-R图。根据对本系统的分析,规划出本系统所需要的实体,具体有:用户、商品、商品种类、管理员、订单。
2.1 实体属性的定义
(1) 用户实体拥有的属性有用户ID、用户名、用户密码、性别、姓名、电话、邮寄地址和电子邮箱这八个属性。
(2) 商品实体拥有的属性有商品ID、商品名称、商品种类、商品图片、商品描述、商品厂商、商城价格、商品原价、总数量和剩余数量这十个属性。
(3) 商品种类实体拥有的属性有商品种类和商品种类名称这两个属性。
(4) 订单实体拥有的属性有订单ID、订单用户名、商品、提交时间、发货时间、总金额、是否发货和是否付款这个八个属性。
(5) 管理员实体拥有的属性有管理员ID、管理员用户名和管理员密码这三个属性。
3 界面展示
前端界面
后台管理
4 论文概览
5 项目源码
package ***.itbaizhan.action;
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.***ponent;
import ***.itbaizhan.action.*;
import ***.itbaizhan.po.***modity;
import ***.itbaizhan.po.OrderForm;
import ***.itbaizhan.po.User;
import ***.itbaizhan.service.OrderFormService;
import ***.itbaizhan.service.UserService;
import ***.opensymphony.xwork2.ActionContext;
import ***.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
@***ponent("orderFormAction")
@Scope("prototype")//多例,每个请求生成一个新的action
public class OrderFormAction extends ActionSupport {
private OrderForm orderForm;
//要调用OrderFormService的方法,所以要声明,让spring把其实现类注入
@Resource(name="orderFormServiceImpl")
OrderFormService service;
private UserService userservice;
public OrderFormService getService() {
return service;
}
public void setService(OrderFormService service) {
this.service = service;
}
public OrderForm getOrderForm() {
return orderForm;
}
public void setOrderForm(OrderForm orderForm) {
this.orderForm = orderForm;
}
@Resource
public void setUserservice(UserService userservice) {
this.userservice = userservice;
}
public UserService getUserservice() {
return userservice;
}
@Override
public String execute() throws Exception {
// 不要直接访问数据库,应该访问业务逻辑层service,而service去访问DAO,DAO去访问数据库
this.service.save(this.orderForm);
System.out.println("orderForm:"+orderForm.getUsername());
ActionContext.getContext().put("ordermessage", "您的订单已经提交!");
return "su***ess";
}
//列表
@SuppressWarnings("unchecked")
public String listOrderForm(){
Map request = (Map) ActionContext.getContext().get("request");
request.put("listOrderForms", service.findAllOrderForms());
System.out.println("listOrderForms");
return "listOrderForm";
}
//查询
@SuppressWarnings("unchecked")
public String queryOrderForm(){
int orderFormId= orderForm.getOrderFormId();
System.out.println("orderFormId:"+orderFormId);
String username= orderForm.getUsername();
System.out.println("username:"+username);
String submitTime= orderForm.getSubmitTime();
System.out.println("submitTime:"+submitTime);
String consignmentTime= orderForm.getConsignmentTime();
System.out.println("consignmentTime:"+consignmentTime);
OrderForm orderForm=this.service.queryOrderForm(orderFormId);
Map request=(Map) ActionContext.getContext().get("request");
request.put("queryOrder", orderForm);
return "queryOrder";
}
public String deleteOrderForm(){
this.service.delete(orderForm);
return "deleteOrderForm";
}
public String findOrderFormById(){
orderForm = this.service.findOrderFormById(orderForm.getOrderFormId());
return "findOrderForm";
}
//付款
@SuppressWarnings("unchecked")
public String payOrderForm(){
double totalprice=orderForm.getTotalPrice();//订单总金额
User user=userservice.findUserByName(orderForm.getUsername());
double money=user.getMoney();//用户所有金钱
Map request = (Map) ActionContext.getContext().get("request");
if(totalprice>money){
request.put("nowOrder", orderForm);
ActionContext.getContext().put("payemessage", "您的金额不足!");
}
else
{
user.setMoney(money-totalprice);
userservice.update(user);
orderForm.setIsPayoff("是");
this.service.update(orderForm);
System.out.println("orderForm:"+orderForm.getOrderFormId());
request.put("nowOrder", orderForm);
ActionContext.getContext().put("payemessage", "付款成功!");
}
return "payOrderForm";
}
//订单列表付款
@SuppressWarnings("unchecked")
public String payOrder(){
double totalprice=orderForm.getTotalPrice();//订单总金额
String username=orderForm.getUsername();
User user=userservice.findUserByName(orderForm.getUsername());
double money=user.getMoney();//用户所有金钱
Map request = (Map) ActionContext.getContext().get("request");
if(totalprice>money){
request.put("orderFormByUserName", service.findOrderFormByUserName(username));
ActionContext.getContext().put("payemessage", "您的金额不足!");
}
else
{
user.setMoney(money-totalprice);
userservice.update(user);
orderForm.setIsPayoff("是");
this.service.update(orderForm);
System.out.println("orderForm:"+orderForm.getOrderFormId());
request.put("orderFormByUserName", service.findOrderFormByUserName(username));
ActionContext.getContext().put("payemessage", "付款成功!");
}
return "payOrder";
}
public String inputOrderForm(){
return "input";
}
//发货
@SuppressWarnings("unchecked")
public String conOrder(){
orderForm.setIsConsignment("是");
this.service.update(orderForm);
Map request = (Map) ActionContext.getContext().get("request");
request.put("listOrderForms", service.findAllOrderForms());
return "conOrder";
}
//提交订单
@SuppressWarnings("unchecked")
public String addOrderForm(){
this.service.save(this.orderForm);
Map session = ActionContext.getContext().getSession();//获得session对象
List<***modity> car = (List<***modity>)session.get("car");//取得购物车
car.clear();
Map request = (Map) ActionContext.getContext().get("request");
request.put("nowOrder",orderForm);
return "addOrderForm";
}
@SuppressWarnings("unchecked")
public String findOrderFormByUserName(){
Map request = (Map) ActionContext.getContext().get("request");
request.put("orderFormByUserName",this.service.findOrderFormByUserName(orderForm.getUsername()));
return "findOrderFormByUserName";
}
}
6 最后
项目分享:https://gitee.***/asoonis/feed-neo