基于javaweb+mysql的网上商城系统(java+jsp+servlet+mysql+ajax)
·
一、项目简述(+需求文档+PPT)
功能: 主页显示热销商品;所有商品展示,可进行商品搜索;点 击商品进入商品详情页,显示库存,具有立即购买和加入 购物车功能,可增减购买商品数量亦可手动输入(同时验证 库存),热销商品展示。立即购买进入确认订单页面,可选 择已经添加的地址,亦可新增地址。(同时验证库存),可 选择购买哪些商品,可删除不需要的商品。点击结算进入 确认订单页面,确认后提交订单,订单重复提交给予响 应,库存不足或商品下架给予响应。后台管理:(修改密码 等),商品管理(商品批量添加、上下架、库存维护等), 订单管理。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe ( IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP + C3P0+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload等等。



适用
课程设计,大作业,毕业设计,项目练习,学习演示等
String password = req.getParameter("newPassword");
System.out.println("新密码:"+password);
User user = (User) req.getSession().getAttribute("user");
int id = user.getId();
System.out.println("旧密码id"+id);
int d = service.updatePasswordById(id, password);
try {
if (d > 0) {
JSONResult ok = JSONResult.ok();
resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
} else {
JSONResult errorMsg = JSONResult.errorMsg("修改失败,请重试");
resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
商品服务类:
@WebServlet("/frontstage_goodsServlet")
public class GoodsServlet extends HttpServlet{
GoodsService service = new GoodsService();
@Override
req.getRequestDispatcher("/backstage/tgls/ordersManage/orders_list.jsp").forward(req, resp);
} catch (ServletException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 根据订单名查询商品(注意!类别没改)
* @param req
* @param resp
* @throws IOException
*/
public void getOrdersListByName(HttpServletRequest req,HttpServletResponse resp) throws IOException {
//设置请求编码格式:
req.setCharacterEncoding("utf-8");
//设置响应编码格式
resp.setContentType("text/html;charset=utf-8");
String name = req.getParameter("OrdersUser");
//String type = req.getParameter("type");
order.setUser(user.getUserName());
order.setGoods_id(Integer.parseInt(req.getParameter("id")));
order.setGoods_num(Integer.parseInt(req.getParameter("num")));
order.setGoods_status(1);
int d = service.addOrder(order);
try {
if(d>0) {
JSONResult ok = JSONResult.ok();
resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
}else {
JSONResult error = JSONResult.errorMsg("订单提交失败!");
resp.getWriter().println(JsonUtil.javaObjectToJson(error));
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 向前端页面返回订单数据列表
*/
public void getOrdersList(HttpServletRequest req,HttpServletResponse resp) {
List<Orders> allOrders = service.getAllOrders();
req.setAttribute("ordersList",allOrders);
try {
req.getRequestDispatcher("/backstage/tgls/ordersManage/orders_list.jsp").forward(req, resp);
//设置响应编码格式
resp.setContentType("text/html;charset=utf-8");
User user = (User) req.getSession().getAttribute("user");
String oldPassword = service.getPasswordById(user.getId());
System.out.println("旧密码:"+oldPassword);
String password = req.getParameter("password");
System.out.println("旧密码验证:"+password);
try {
if (!oldPassword.equals(password)) {
JSONResult errorMsg = JSONResult.errorMsg("原始密码错误,请重新输入");
resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));
} else {
JSONResult ok = JSONResult.ok();
resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 修改密码
* @throws IOException
*/
public void modifyPassword(HttpServletRequest req, HttpServletResponse resp) throws IOException {
}
}
/*
* 删除全部订单
*/
private void deleteAllOrders(HttpServletRequest req, HttpServletResponse resp) throws IOException {
//设置请求编码格式:
req.setCharacterEncoding("utf-8");
//设置响应编码格式
resp.setContentType("text/html;charset=utf-8");
// TODO 自动生成的方法存根
int d = service.deleteAllOrders();
try {
if(d>0) {
JSONResult ok = JSONResult.ok();
resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
*根据类型获得商品列表
* @param req
* @param resp
*/
public void findGoodsByType(HttpServletRequest req, HttpServletResponse resp) {
String type = req.getParameter("type");
String currentPage = req.getParameter("currentPage");
PageBean pageBean = null;
// 如果当前第几页currentPage 值为null,说明第一次跳转到此页面或者是要跳转到首页,则设定该值currentPage默认为1
if(currentPage == null) {
pageBean = service.getGoodsByType(type, 4, 1);
}else {
pageBean = service.getGoodsByType(type, 4, Integer.parseInt(currentPage));
}
try {
req.setAttribute("pageBean", pageBean);
try {
req.setAttribute("allGoods", allGoods);
req.getRequestDispatcher("/main.jsp").forward(req, resp);
return;
} catch (ServletException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
*根据类型获得商品列表
* @param req
* @param resp
*/
public void findGoodsByType(HttpServletRequest req, HttpServletResponse resp) {
String type = req.getParameter("type");
break;
case "register":
register(req, resp);
break;
case "logout":
logout(req, resp);
break;
case "checkOldPassword":
checkOldPassword(req, resp);
break;
case "modifyPassword":
modifyPassword(req, resp);
break;
}
}
public void login(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.getWriter().println(JsonUtil.javaObjectToJson(ok));
} else {
// 将错误信息封装在结果集中
JSONResult result = JSONResult.errorMsg("用户名或密码错误,请重试");
// 以json的形式返回给前端
resp.getWriter().println(JsonUtil.javaObjectToJson(result));
}
} else {
// 将错误信息封装在结果集中
JSONResult result = JSONResult.errorMsg("验证码输入错误,请重试");
// 以json的形式返回给前端
resp.getWriter().println(JsonUtil.javaObjectToJson(result));
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 用户名重名检测
*
* @param req
* @param resp
*/
public void checkUserNameRepeat(HttpServletRequest req, HttpServletResponse resp) {
String userName = req.getParameter("userName");
String captcha = req.getParameter("captcha");
if (captcha != null) {
captcha = captcha.toUpperCase();
}
// 先进行验证码验证
String checkcode = (String) req.getSession().getAttribute("checkcode_session");
try {
// 将用户输入的验证码和 系统验证对比
if (checkcode.equals(captcha)) {
User user = service.getUserByNameAndPassword(userName, password);
if (user != null) {
HttpSession session = req.getSession();
session.setAttribute("user", user);
JSONResult ok = JSONResult.ok();



魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)