基于javaweb的小蜜蜂扩音器网上商城系统(java+jsp+servlet+jdbc+ajax+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的小蜜蜂扩音器网上商城系统(java+JSP+Servlet+JDBC+Ajax+mysql)
一、项目简述
用户功能模块: 用户注册: 用户登录:商品模块:订单模块;后台管理系统功能:管理员模块: 商品模块:订单管理模块 ;
二、项目运行
1.运行环境
JDK1.8+Tomcat8.5+MYSQL+Eclispe(Eclispe,MyEclispe,Sts,IntelliJ IDEA都支持,小伙伴自行配置即可)
2.技术栈
JSP + Servlet + JDBC + Ajax + JavaScript + CSS + +DBUtil 等等
用户管理控制层:
public class UserServlet extends BaseBackServlet {
@Override
public String add(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了 UserServlet add方法”);
return null;
@Override
public String delete(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了 UserServlet delete方法”);
int id = Integer.parseInt(request.getParameter(“id”));
userDAO.delete(id);
return “@admin_user_list”;
@Override
public String update(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了 UserServlet update方法”);
Map<String, String> params = new HashMap<>();
InputStream is = super.parseUpload(request, params);
System.out.println(params);
int id = Integer.parseInt(params.get(“id”));
String password = params.get(“password”);
User user = userDAO.get(id);
user.setPassword(password);
userDAO.update(user);
return “@admin_user_list”;
@Override
public String edit(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了 UserServlet edit方法”);
int id = Integer.parseInt(request.getParameter(“id”));
User u = userDAO.get(id);
request.setAttribute(“u”, u);
return “admin/editUser.jsp”;
@Override
public String list(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了 UserServlet list方法”);
List us = userDAO.list(page.getStart(), page.getCount());
int total = userDAO.getTotal();
page.setTotal(total);
request.setAttribute(“us”, us);
request.setAttribute(“page”, page);
return “admin/listUser.jsp”;
订单管理控制层:
public class OrderServlet extends BaseBackServlet {
@Override
public String add(HttpServletRequest request, HttpServletResponse response, Page page) {
return null;
@Override
public String delete(HttpServletRequest request, HttpServletResponse response, Page page) {
return null;
@Override
public String update(HttpServletRequest request, HttpServletResponse response, Page page) {
return null;
@Override
public String edit(HttpServletRequest request, HttpServletResponse response, Page page) {
return null;
public String delivery(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了 OrderServlet delivery方法”);
int id = Integer.parseInt(request.getParameter(“id”));
Order o = orderDAO.get(id);
o.setDeliveryDate(new Date());
o.setStatus(OrderDAO.waitConfirm);
orderDAO.update(o);
return “@admin_order_list”;
@Override
public String list(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了 OrderServlet list方法”);
// 对订单对应的订单项进行初始化
List os = orderDAO.list(page.getStart(), page.getCount());
orderItemDAO.fill(os);
int total = orderDAO.getTotal();
page.setTotal(total);
request.setAttribute(“os”, os);
request.setAttribute(“page”, page);
return “admin/listOrder.jsp”;
品类控制层:
public class CategoryServlet extends BaseBackServlet {
@Override
public String add(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了category add方法”);
Map<String,String> params = new HashMap<>();
InputStream is = super.parseUpload(request, params);
System.out.println(params);
String name = params.get(“name”);
Category c = new Category();
c.setName(name);
categoryDAO.add©;
File imageFolder = new File(request.getSession().getServletContext().getRealPath(“img/category”));
File file = new File(imageFolder, c.getId() + “.jpg”);
try{
if(null != is && 0 != is.available()){
try(
FileOutputStream fos = new FileOutputStream(file);
){
byte[] b = new byte[1024 * 1024];
int length = 0;
while(-1 != (length = is.read(b))){
fos.write(b, 0, length);
fos.flush();
//通过以下代码,将文件保存为jsp格式
BufferedImage img = ImageUtil.change2jpg(file);
ImageIO.write(img, “jpg”, file);
} catch (IOException e) {
e.printStackTrace();
return “@admin_category_list”;
@Override
public String delete(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了category delete方法”);
int id = Integer.parseInt(request.getParameter(“id”));
categoryDAO.delete(id);
return “@admin_category_list”;
@Override
public String update(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了category update方法”);
Map<String,String> params = new HashMap<>();
InputStream is = super.parseUpload(request, params);
System.out.println(params);
String name = params.get(“name”);
int id = Integer.parseInt(params.get(“id”));
Category c = new Category();
c.setName(name);
c.setId(id);
categoryDAO.update©;
File imageFolder = new File(request.getSession().getServletContext().getRealPath(“img/category”));
File file = new File(imageFolder, c.getId() + “.jpg”);
try{
if(null != is && 0 != is.available()){
try(
FileOutputStream fos = new FileOutputStream(file);
){
byte[] b = new byte[1024 * 1024];
int length = 0;
while(-1 != (length = is.read(b))){
fos.write(b, 0, length);
fos.flush();
//通过以下代码,将文件保存为jsp格式
BufferedImage img = ImageUtil.change2jpg(file);
ImageIO.write(img, “jpg”, file);
} catch (IOException e) {
e.printStackTrace();
return “@admin_category_list”;
@Override
public String edit(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了category edit方法”);
int id = Integer.parseInt(request.getParameter(“id”));
Category category = categoryDAO.get(id);
request.setAttribute(“c”, category);
return “admin/editCategory.jsp”;
@Override
public String list(HttpServletRequest request, HttpServletResponse response, Page page) {
List cs = categoryDAO.list(page.getStart(), page.getCount());
int total = categoryDAO.getTotal();
page.setTotal(total);
request.setAttribute(“thecs”, cs);
request.setAttribute(“page”, page);
return “admin/listCategory.jsp”;
产品控制层:
public class ProductServlet extends BaseBackServlet {
@Override
public String add(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了Product add方法”);
Map<String, String> params = new HashMap<>();
InputStream inputStream = super.parseUpload(request, params);
System.out.println(params);
int cid = Integer.parseInt(params.get(“cid”));
Category c = categoryDAO.get(cid);
String name = params.get(“name”);
String subTitle = params.get(“subTitle”);
float originalPrice = Float.parseFloat(params.get(“originalPrice”));
float promotePrice = Float.parseFloat(params.get(“promotePrice”));
int stock = Integer.parseInt(params.get(“stock”));
Product p = new Product();
p.setCategory©;
p.setName(name);
p.setSubTitle(subTitle);
p.setOriginalPrice(originalPrice);
p.setPromotePrice(promotePrice);
p.setStock(stock);
p.setCreateDate(new Date());
productDAO.add§;
return “@admin_product_list?cid=” + cid;
@Override
public String delete(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了Product delete方法”);
int id = Integer.parseInt(request.getParameter(“id”));
Product p = productDAO.get(id);
productDAO.delete(id);
return “@admin_product_list?cid=” + p.getCategory().getId();
@Override
public String update(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了Product update方法”);
Map<String, String> params = new HashMap<>();
InputStream inputStream = super.parseUpload(request, params);
int cid = Integer.parseInt(params.get(“cid”));
Category c = categoryDAO.get(cid);
int id = Integer.parseInt(params.get(“id”));
String name = params.get(“name”);
String subTitle = params.get(“subTitle”);
float originalPrice = Float.parseFloat(params.get(“originalPrice”));
float promotePrice = Float.parseFloat(params.get(“promotePrice”));
int stock = Integer.parseInt(params.get(“stock”));
Product p = new Product();
p.setId(id);
p.setName(name);
p.setSubTitle(subTitle);
p.setOriginalPrice(originalPrice);
p.setPromotePrice(promotePrice);
p.setStock(stock);
p.setCategory©;
p.setCreateDate(new Date());
productDAO.update§;
return “@admin_product_list?cid=” + p.getCategory().getId();
@Override
public String edit(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了Product edit方法”);
int id =Integer.parseInt(request.getParameter(“id”));
Product p = productDAO.get(id);
request.setAttribute(“p”,p);
return “admin/editProduct.jsp”;
public String updatePropertyValue(HttpServletRequest request, HttpServletResponse response, Page page){
System.out.println(“调用了Product updatePropertyValue方法”);
int pvid = Integer.parseInt(request.getParameter(“pvid”));
String value = request.getParameter(“value”);
PropertyValue pv = propertyValueDAO.get(pvid);
pv.setValue(value);
propertyValueDAO.update(pv);
return “%success”;
public String editPropertyValue(HttpServletRequest request, HttpServletResponse response, Page page){
System.out.println(“调用了Product editPropertyValue方法”);
int id = Integer.parseInt(request.getParameter(“id”));
Product p = productDAO.get(id);
request.setAttribute(“p”, p);
// 初始化属性,将产品对应的属性全部
propertyValueDAO.init§;
List pvs = propertyValueDAO.list(p.getId());
request.setAttribute(“pvs”, pvs);
return “admin/editPropertyValue.jsp”;
@Override
public String list(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println(“调用了Product list方法”);
int cid = Integer.parseInt(request.getParameter(“cid”));
Category c = categoryDAO.get(cid);
List ps = productDAO.list(cid, page.getStart(), page.getCount());
int total = productDAO.getTotal(cid);
page.setTotal(total);
page.setParam(“&cid=” + c.getId());
request.setAttribute(“ps”, ps);
request.setAttribute(“c”, c);
request.setAttribute(“page”, page);
return “admin/listProduct.jsp”;