作者主页:夜未央5788

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

本系统分为前后台,普通用户可在前台页面购买鲜花,加入购物车、查看订单等;后台为管理员登录,可对用户、商品、订单、留言、新闻等进行管理。本系统分为普通用户和管理员两种角色;
普通用户角色包含以下功能:
商品详情,查看订单,查看购物车,留言,购买成功,首页,登录等功能。

管理员角色包含以下功能:
商品增删改查,新闻管理,用户增删改查,留言管理,管理员后台首页,类别增删改查,订单信息查看等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
5.数据库:MySql 5.7版本;

6.是否Maven项目:否;

技术栈

HTML+CSS+JavaScript+java+jsp+servlet+mysql

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中src/com/hr/dao/Basedao.java配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入http://localhost:8080/login.jsp 登录
管理员账号/密码:admin/admin

用户账号/密码: user/123456

运行截图

前台界面-用户角色

后台界面

相关代码

gmServlet

package com.web.shopservlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import com.hr.dao.ESDao;
import com.hr.entity.EASYBUY_ORDER_DETAIL;
import com.hr.entity.EASYBUY_USER;
import com.hr.util.EncodeUtil;public class gmServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)throws ServletException, IOException {arg1.setContentType("text/html;charset=utf-8");PrintWriter out=arg1.getWriter();EncodeUtil.encode(arg0);HttpSession session=arg0.getSession();EASYBUY_USER list=(EASYBUY_USER)session.getAttribute("name");//用户idString id=list.getEU_USER_ID();//用户姓名String name=list.getEU_USER_NAME();//用户地址String address=list.getEU_ADDRESS();//总价钱String price=arg0.getParameter("jstext");//商品idString [] EP_ID=arg0.getParameterValues("spID");//购买数量String [] quantity=arg0.getParameterValues("number");//商品单价String [] sPPrice=arg0.getParameterValues("sPPrice");//购买后对商品表的库存进行修改for(int i=0;i<EP_ID.length;i++){int count5=ESDao.updateStock(Integer.parseInt(quantity[i]),Integer.parseInt(EP_ID[i]));}//商品单个总价int [] pprice=new int[EP_ID.length];for(int i=0;i<EP_ID.length;i++){pprice[i]=Integer.parseInt(quantity[i])*Integer.parseInt(sPPrice[i]);} /得到序列//往订单表里添加数据int count=ESDao.insertDD(id, name, address,Integer.parseInt(price));int getSequenceId=ESDao.getSequenceId();//循环往订单详情添加for(int i=0;i<EP_ID.length;i++){EASYBUY_ORDER_DETAIL eod=new EASYBUY_ORDER_DETAIL(1,getSequenceId,Integer.parseInt(EP_ID[i]),Integer.parseInt(quantity[i]),pprice[i]);int count2=ESDao.eodInsert(eod);}// 开单后,修改购物车String [] esID=arg0.getParameterValues("esID");for(int i=0;i<esID.length;i++){int count3 =ESDao.esdelete(Integer.parseInt(esID[i]));}/if(count>0){out.print("<script>");out.print("alert('购物成功');");out.print("location.href='shopping-result.jsp';");out.print("</script>");out.close();}else{out.print("<script>");out.print("alert('购物失败,请重新选择商品');");out.print("location.href='ShopSelect';");out.print("</script>");out.close();}
}
}

ShopSelect

package com.web.shopservlet;//订单表数据的查询import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.hr.dao.ESDao;
import com.hr.entity.EASYBUY_USER;
import com.hr.entity.eb_shop;
import com.hr.util.EncodeUtil;public class ShopSelect extends HttpServlet {@Overrideprotected void service(HttpServletRequest arg0, HttpServletResponse arg1)throws ServletException, IOException {EncodeUtil.encode(arg0);arg1.setContentType("text/html;charset=utf-8");PrintWriter out = arg1.getWriter();HttpSession session=arg0.getSession();EASYBUY_USER userCZ=(EASYBUY_USER)session.getAttribute("name");if(userCZ!=null){
//          System.out.println("登录好了");EASYBUY_USER eu=(EASYBUY_USER)session.getAttribute("name");String id=(String)eu.getEU_USER_ID();ArrayList<eb_shop> list=ESDao.getShop(id);arg0.setAttribute("shoplist",list);arg0.getRequestDispatcher("shopping.jsp").forward(arg0, arg1);}else{out.print("<script>");out.print("alert('请先登录');");out.print("location.href='login.jsp';");out.print("</script>");out.close();}}
}

UpdateServlet

package com.web.shopservlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.hr.dao.ESDao;
import com.hr.entity.eb_shop;public class UpdateServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest arg0, HttpServletResponse arg1)throws ServletException, IOException {arg1.setContentType("text/html;charset=utf-8");PrintWriter out = arg1.getWriter();String str1=arg0.getParameter("pid");String str2=arg0.getParameter("action");String str3=arg0.getParameter("getvalue");if(str2.equals("jia")){int count=ESDao.updateJia(Integer.parseInt(str1));}if(str2.equals("jian")){int count=ESDao.updateJian(Integer.parseInt(str1));}if(str2.equals("closeText")){eb_shop es=new eb_shop(Integer.parseInt(str1), "1", "1", 1, Integer.parseInt(str3), 1, 1, "1", 1);int count=ESDao.updateClose(es);}if(str2.equals("delText")){int count=ESDao.getDeleteDD(Integer.parseInt(str1));}arg1.sendRedirect("ShopSelect");}
}

ESDao

package com.hr.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;import com.hr.entity.EASYBUY_ORDER_DETAIL;
import com.hr.entity.EASYBUY_PRODUCT_CATEGORY;
import com.hr.entity.EASYBUY_USER;
import com.hr.entity.eb_shop;public class ESDao {/*** 两张表联查做购物车*/public static ArrayList<eb_shop> getShop(String id){ArrayList<eb_shop> list=new ArrayList<eb_shop>();Connection conn=Basedao.getconn();PreparedStatement ps=null;ResultSet rs=null;try {ps=conn.prepareStatement("select * from EASYBUY_SHOP where es_EU_USER_ID=? and ES_VALID=1 order by es_id desc");ps.setString(1,id);rs=ps.executeQuery();while(rs.next()){eb_shop es=new eb_shop(rs.getInt("es_id"),rs.getString("es_ep_file_name"),rs.getString("es_ep_name"),rs.getInt("es_ep_price"),rs.getInt("es_eod_quantity"),rs.getInt("es_ep_stock"),rs.getInt("es_ep_id"),rs.getString("es_EU_USER_ID"),rs.getInt("es_valid"));list.add(es);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{Basedao.closeall(rs, ps, conn);}return list;}/** *修改订单数量 加*/public static int updateJia(int id){String sql="update EASYBUY_SHOP set es_eod_quantity=es_eod_quantity+1 where es_id=?";Object [] params={id};return Basedao.exectuIUD(sql, params);}/** *修改订单数量 减*/public static int updateJian(int id){String sql="update EASYBUY_SHOP set es_eod_quantity=es_eod_quantity-1 where es_id=?";Object [] params={id};return Basedao.exectuIUD(sql, params);}/** * 修改订单数量,自己输入*/public static int updateClose(eb_shop es){String sql="update EASYBUY_SHOP set es_eod_quantity=? where es_id=?";Object [] params={es.es_eod_quantity,es.es_id};return Basedao.exectuIUD(sql, params);}/*** 修改订单为2* @param id* @return*/public static int getDelete(int id){String sql="update EASYBUY_SHOP set es_vaild=2 where es_id=?";Object[] params={id};return Basedao.exectuIUD(sql, params);}/** * 订单表的添加* */public static int insertDD(String id,String name,String address,int price){String sql="insert into EASYBUY_ORDER values(null,?,?,?,now(),?,1,1)";Object [] params={id,name,address,price};return Basedao.exectuIUD(sql, params);}/** 得到序列*/public static int getSequenceId(){int id = 0;Connection conn = Basedao.getconn();PreparedStatement ps = null; ResultSet rs = null;try {ps = conn.prepareStatement("select EO_ID from easybuy_order order by EO_ID desc limit 0,1");rs = ps.executeQuery();if(rs.next()){id = rs.getInt(1);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {Basedao.closeall(rs, ps, conn);}return id;}/** * 订单详细表的添加*/public static int eodInsert(EASYBUY_ORDER_DETAIL eod){String sql="insert into EASYBUY_ORDER_DETAIL values(null,?,?,?,?)";Object [] params={eod.getEO_ID(),eod.getEP_ID(),eod.getEOD_QUANTITY(),eod.getEOD_COST()};return Basedao.exectuIUD(sql, params);}/** * 购物单的修改*/public static int esdelete(int id){String sql="update  EASYBUY_SHOP set es_valid=2 where es_id=?";Object [] params={id};return Basedao.exectuIUD(sql, params);}//kucunpublic static int updateStock(int stock,int id){String sql="update EASYBUY_PRODUCT set ep_stock=ep_stock-? where ep_id=?";Object [] params={stock,id};return Basedao.exectuIUD(sql, params);}public static int insert(eb_shop sp){String sql = "insert into easybuy_shop values(null,?,?,?,?,?,?,?,1)";Object[] params = {sp.getEs_ep_file_name(),sp.getEs_ep_name(),sp.getEs_ep_price(),sp.getEs_eod_quantity(),sp.getEs_ep_stock(),sp.getEs_ep_id(),sp.getEs_EU_USER_ID()};return Basedao.exectuIUD(sql, params);}public static  int getDeleteDD(int id){String sql="delete from easybuy_shop where es_id=?";Object [] params={id};return Basedao.exectuIUD(sql, params);}
}

Basedao

package com.hr.dao;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class Basedao {static{try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static Connection getconn(){Connection conn=null;try {conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/db_flower_shop?useUnicode=true&characterEncoding=UTF-8","root","root");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}public static void closeall(ResultSet rs,Statement ps,Connection conn){try {if(rs!=null)rs.close();if(ps!=null)ps.close();if(conn!=null)conn.close();} catch (SQLException e) {e.printStackTrace();}}public static int exectuIUD(String sql,Object[] params){int count=0;Connection conn=Basedao.getconn();PreparedStatement ps=null;try {ps=conn.prepareStatement(sql);if(params!=null){for (int i = 0; i < params.length; i++) {ps.setObject(i+1, params[i]);}}count=ps.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{Basedao.closeall(null, ps, conn);}return count;}
}

如果也想学习本系统,下面领取。关注并回复:014jsp

Java项目:JSP+servlet鲜花销售商城管理系统相关推荐

  1. nodejs+vue+elementui鲜花销售商城管理系统410

    前台: (1)    用户注册:用户名,密码,确认密码,邮箱,手机号,真实姓名,收货地址 (2)    用户登录:用户名,密码,验证码 登录后在主页显示欢迎信息,退出登录按钮 (3)    商品浏览: ...

  2. java 鲜花管理系统_基于jsp的鲜花销售管理系统-JavaEE实现鲜花销售管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的鲜花销售管理系统, 该项目可用各类java课程设计大作业中, 鲜花销售管理系统的系统架构分为前后台两部分, 最终实 ...

  3. (java毕业设计)基于java鲜花销售商店管理系统源码

    基于java鲜花销售商店管理系统 鲜花销售管理系统是java编程语言和mysql数据库开发,基于B/S架构.本系统主要分为用户和管理员两个角色,其中用户可以查看鲜花分类,鲜花详情,下订单,在线留言,搜 ...

  4. Java Web——基于Jsp+Servlet的大学生社团管理系统

    JavaWeb课程设计+JavaWeb实训作业:(Jsp+Servlet+Mysql+Tomcat+Idea) 项目类型:JAVA WEB项目 用户类型:3个角色(管理员+社长+学生) 主要技术:Js ...

  5. 基于Java+JSP+Servlet的网上商城源码案例

    源码编号:F-B15 项目类型:Java web项目(开源免费) 项目名称:基于JSP+Servlet的网上商城(交易吧) 项目架构:B/S架构 开发语言:Java语言 前端技术:HTML.CSS.J ...

  6. 宿舍管理系统 住宿管理系统 寝室管理系统源码 java项目jsp web项目

    宿舍管理系统 住宿管理系统 寝室管理系统源码 java项目jsp web项目 [源码+数据库+文档齐全] 宿舍管理系统主要实现的功能有:学生管理.宿舍管理.评分管理.损坏管理.访客管理.班级管理.系统 ...

  7. 电影影院管理系统电影购票系统java项目jsp web项目

    电影影院管理系统电影购票系统java项目jsp web项目基于javaweb的在线电影院售票管理系统 电影影院管理系统电影购票系统java项目jspweb项目-Java文档类资源-CSDN下载电影影院 ...

  8. 图书管理系统java项目jsp web项

    图书管理系统java项目jsp web项 源码+数据库+文档+运行环境齐全! 图书信息浏览,图书借阅,图书归还,个人信息管理,最佳读者,借阅排行,问题反馈等. 管理员功能可以实现读者管理,图书管理,借 ...

  9. 【java毕业设计】基于java+SSH+jsp的酒水销售系统设计与实现(毕业论文+程序源码)——酒水销售系统

    基于java+SSH+jsp的酒水销售系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+SSH+jsp的酒水销售系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...

最新文章

  1. 数据结构之二分查找(折半查找)
  2. 微软私有云分享(R2)13 处理孤立资源
  3. Oracle下载汇聚
  4. Protocol Buffer Java应用实例
  5. opencv-4.1.0-百度云盘下载链接-环境配置
  6. python抢票代码_教你用Python动刷新抢12306火车票,附源码!
  7. NLP炼丹笔记:Switch Transformers 朴实无华 大招秒杀
  8. qt高亮快捷键_Qt高级——QtCreator常用快捷键
  9. SfM(Structure from motion,运动恢复结构,从motion中实现3D重建。也就是从时间系列的2D图像中推算3D信息
  10. AI2(App Inventor 2)离线版服务器(2019.8.25更新)
  11. matlab点在直线上运动,求助如何用matlab取出直线上的点
  12. matlab 鲁棒性分析,电液速度系统的鲁棒性分析及MATLAB计算
  13. 常见文章、图文素材采集软件优缺点比较分析
  14. struck.unpack
  15. 所处网络导致虚拟机的域名解析失败
  16. 如何给图片加水印?分享怎么给图片加水印的方法
  17. Download.Accelerator.Plus.v10.0.4.3_Patch-REPT
  18. 全球与中国汽车真皮内饰市场发展模式及前景趋势预测报告2022-2028年版
  19. 类之间的继承java,Java类与类之间的继承关系
  20. centos7 安装Apache、PHP、MariaDB并修改相关默认端口

热门文章

  1. 绘制恒定频率下的二维光子晶体光子带图谱
  2. 人智导(二十二):规划(下)
  3. S7-1200 与 S7-1200或1500建立S7通信的具体方法和步骤(图文)
  4. std的list, vector, map,multimap, set 区别与用法比较
  5. c语言电脑快捷键截屏,三、Windows键盘快捷键—快捷键表
  6. OSPF协议之链路数据库同步
  7. C语言bool类型变量命名,bool类型怎么用(c语言bool类型 怎么用)
  8. ntohs函数的意思
  9. 测试矩阵是什么,小孩子都懂的,你该不会不知道吧
  10. 计算机在水产养殖学中的应用,计算机视觉技术在水产养殖中的应用与展望-农业工程学报.PDF...