基于javaweb+mysql的jsp+servlet家居购物商城系统(java+jsp+jdbc+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的JSP+Servlet家居购物商城系统(java+jsp+jdbc+mysql)
一、项目简述
功能: Java Web精品项目源码,家居商城分类展示,商品展示, 商品下单,购物车,个人中心,后台管理,用户管理,商品管理,分类管理等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: Jdbc+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload
response.sendRedirect("login.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
/**
* 验证码
*/
@WebServlet("/checkCodeServlet")
public class CheckCodeServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
//服务器通知浏览器不要缓存
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
response.setHeader("expires","0");
//在内存中创建一个长80,宽30的图片,默认黑色背景
//参数一:长
//参数二:宽
//参数三:颜色
int width = 136;
int height = 38;
BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
//获取画笔
Graphics g = image.getGraphics();
//设置画笔颜色为灰色
g.setColor(Color.GRAY);
//填充图片
g.fillRect(0,0, width,height);
//产生4个随机验证码,12Ey
@WebServlet("/toUserInfoServlet")
public class ToUserInfoServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
if (user != null) {
UserService service = new UserServiceImpl();
User newUser = service.findUserByUserId(user.getUser_id());
CategoryService service1 = new CategoryServiceImpl();
List<Category> flist = service1.findCategoryListByName("father");
List<Category> clist = service1.findCategoryListByName("child");
request.setAttribute("flist",flist);
request.setAttribute("clist",clist);
request.setAttribute("user",newUser);
//查看该用户的各种订单数量
OrderService service2 = new OrderServiceImpl();
List<Order> orders = service2.findOrderByUserId(user.getUser_id());
int a1 = 0;
int a2 = 0;
int a3 = 0;
int a4 = 0;
for (Order o:orders) {
if ("0".equals(o.getIs_pay()) && "0".equals(o.getIs_ship()) && "0".equals(o.getIs_receipt())) {
a1++;
}
if ("1".equals(o.getIs_pay()) && "0".equals(o.getIs_ship()) && "0".equals(o.getIs_receipt())) {
a2++;
}
if ("1".equals(o.getIs_pay()) && "1".equals(o.getIs_ship()) && "0".equals(o.getIs_receipt())) {
a3++;
}
if ("1".equals(o.getIs_pay()) && "1".equals(o.getIs_ship()) && "1".equals(o.getIs_receipt())) {
a4++;
}
}
request.setAttribute("a1",a1);
request.setAttribute("cartCount",cartCount);
//添加此订单为待支付订单
//添加此订单的订单列表
//查询该订单中商品及数量
int product_quantity = Integer.valueOf(cs.getProduct_quantity());
int product_id = p.getProduct_id();
Order order = new Order(System.currentTimeMillis() +""+ user.getUser_id(),user.getUser_id(),totalPrice,new Date(),"0","0","0",product_id,product_quantity);
ProductService service5 = new ProductServiceImpl();
Product product = service5.findProductById(product_id);
order.setProduct_name(product.getProduct_name());
order.setProduct_photo(product.getProduct_photo());
order.setProduct_price(product.getProduct_price());
request.setAttribute("order",order);
OrderService service4 = new OrderServiceImpl();
service4.addOrder(order);
request.getRequestDispatcher("order.jsp").forward(request, response);
} else {
response.sendRedirect("login.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
@WebServlet("/updateUserListServlet")
public class UpdateUserListServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
UserService service = new UserServiceImpl();
PageBean<User> pb = service.findUserByPage(currentPage,rows);
request.setAttribute("pb",pb );
// List<User> list = service.findAllUser();
//
// //放到请求对象域里
// request.setAttribute("userlist", list);
// request.setAttribute("tsum", arr[0]);
// request.setAttribute("tpage", arr[1]);
request.setAttribute("cpage", cpage);
if(keyword != null) {
request.setAttribute("searchParams", "&keywords="+keyword);
}
request.getRequestDispatcher("admin_user.jsp").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
@WebServlet("/userListServlet")
public class UserListServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int cpage = 1; //当前页
int count = 5; //每页显示条数
//获取用户指定的页面
String cp = request.getParameter("cp");
//接收用户搜索的关键字
String keyword = request.getParameter("keywords");
if(cp!=null) {
cpage = Integer.parseInt(cp);
}
/*****************************************************/
String currentPage = request.getParameter("currentPage");//当前页码
String rows = request.getParameter("rows");//每页显示条数
if (currentPage == null || "".equals(currentPage)) {
currentPage = "1";
}
if (rows == null || "".equals(rows)) {
rows = "5";
}
UserService service = new UserServiceImpl();
PageBean<User> pb = service.findUserByPage(currentPage,rows);
request.setAttribute("pb",pb );
// List<User> list = service.findAllUser();
//
// //放到请求对象域里
// request.setAttribute("userlist", list);
// request.setAttribute("tsum", arr[0]);
// request.setAttribute("tpage", arr[1]);
request.setAttribute("cpage", cpage);
if(keyword != null) {
request.setAttribute("searchParams", "&keywords="+keyword);
}
request.getRequestDispatcher("admin_user.jsp").forward(request, response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response);
}
}
@WebServlet("/searchProductServlet")
public class SearchProductServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String key = request.getParameter("key");
ProductService service = new ProductServiceImpl();
List<Product> list = service.findProductListByKey(key);
request.setAttribute("productList",list);
//查询购物车数量
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
String cartCount = "0";
CartService service1 = new CartServiceImpl();
}
}
@WebServlet("/orderDetailServlet")
public class OrderDetailServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
UserService service = new UserServiceImpl();
User newUser = service.findUserByUserId(user.getUser_id());
request.setAttribute("user",newUser);
CategoryService service1 = new CategoryServiceImpl();
List<Category> flist = service1.findCategoryListByName("father");
List<Category> clist = service1.findCategoryListByName("child");
request.setAttribute("flist",flist);
request.setAttribute("clist",clist);
String oid = request.getParameter("oid");
OrderService service2 = new OrderServiceImpl();
Order order = service2.findOrderById(oid);
request.setAttribute("order",order);
AddressService service3 = new AddressServiceImpl();
Address address = service3.findAddressByAddressId(order.getAddress_id());
request.setAttribute("address",address);
if (user != null) {
request.setAttribute("msg", "用户已存在");
request.setAttribute("userName", userName);
request.setAttribute("userPassword", userPassword);
request.setAttribute("enUserPassword", enUserPassword);
request.getRequestDispatcher("reg.jsp").forward(request, response);
return;
} else {
User u = new User(userName,"无昵称哦",userPassword,null,"0","0","1","default_0.jpg");
service.addUser(u);
request.setAttribute("msg", "注册成功!");
request.getRequestDispatcher("reg.jsp").forward(request,response);
}
}
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
CartService service1 = new CartServiceImpl();
if (user != null) {
cartCount = String.valueOf(service1.findCartCountByUserId(user.getUser_id()));
}else {
cartCount = "?";
}
request.setAttribute("cartCount",cartCount);
//查询评论
int productId = Integer.valueOf(id);
CommentService service3 = new CommentServiceImpl();
List<Comment> comments= service3.findCommentByProductId(productId);
request.setAttribute("comments",comments);
System.out.println(comments);
request.getRequestDispatcher("productview.jsp").forward(request, response);
/*
//获取最近访问
HttpSession session = request.getSession();
//从SSESSIOn获取一下 ids
List<Integer> ids = (List<Integer>)session.getAttribute("ids");
if(ids == null){
ids = new List<Integer>();
}
//最多放5, 如果多出5个将第一个删除
if(ids.size() >= 5) {
ids.remove(0);
}
// 添加列表里, 但只要一份
if(id!=null && (!ids.contains(Integer.parseInt(id)))) {
ids.add(Integer.parseInt(id));
}
session.setAttribute("ids", ids);
ids= (List<Integer>)session.getAttribute("ids");
if(ids!=null) {
List<LMONKEY_PRODUCT> lastlylist = LMONKEY_PRODUCTDao.selectAllById(ids);
@WebServlet("/addProductServlet")
public class AddProductServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String fileName = "";
SmartUpload su= new SmartUpload();
su.initialize(this.getServletConfig(), request, response);
try {
su.setAllowedFilesList("jpg,gif,jpeg,png");
su.upload();
String id = String.valueOf(System.currentTimeMillis());
Files uploadFiles = su.getFiles();
fileName = uploadFiles.getFile(0).getFileExt();
fileName = id+"."+fileName;
File f = new File(this.getServletContext().getRealPath("/upload/product"));
if (!f.exists() && !f.isDirectory()) {
f.mkdir();
}
uploadFiles.getFile(0).saveAs("/upload/product/"+ fileName);
} catch (SmartUploadException e) {
e.printStackTrace();
}
User u = service.findUserByUserId(UserId);
fileName = u.getUser_photo();
}else {
System.out.println("no kong");
fileName = UserId+"."+fileNameExt;
File f = new File(this.getServletContext().getRealPath("/upload/user"));
if (!f.exists() && !f.isDirectory()) {
f.mkdir();
}
uploadFiles.getFile(0).saveAs("/upload/user/"+ fileName);
}
} catch (SmartUploadException e) {
e.printStackTrace();
}
int userId = Integer.valueOf(request.getParameter("userId"));
String nickname = su.getRequest().getParameter("nickName");
String username = su.getRequest().getParameter("name");
String passWord = su.getRequest().getParameter("passWord");
String sex = su.getRequest().getParameter("sex");
String vip="0";
String viptime="0";
String status="1";
User user = new User(username,nickname,passWord,sex,vip,viptime,status,fileName);
user.setUser_id(userId);
System.out.println(user);
UserService service = new UserServiceImpl();
service.updateUserById(user);
PrintWriter out = response.getWriter();
out.write("<script>");
out.write("alert('更新成功!');");
out.write("location.href='/HOMEECMS/userListServlet'");
out.write("</script>");
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
//计算商品价格
String pid = request.getParameter("pid");
String oid = request.getParameter("oid");
String count = request.getParameter("count");
ProductService service2 = new ProductServiceImpl();
Product p = service2.findProductById(Integer.valueOf(pid));
int price = p.getProduct_price();
int totalPrice = price*Integer.valueOf(count);
request.setAttribute("price",price);
request.setAttribute("count",count);
request.setAttribute("product",p);
request.setAttribute("totalPrice",totalPrice);
//查询购物车数量
String cartCount = "0";
CartService service3 = new CartServiceImpl();
if (user != null) {
cartCount = String.valueOf(service3.findCartCountByUserId(user.getUser_id()));
}else {
cartCount = "?";
}
request.setAttribute("cartCount",cartCount);
OrderService service4 = new OrderServiceImpl();
Order o = service4.findOrderById(oid);
request.setAttribute("order",o);
}else {
CategoryService service1 = new CategoryServiceImpl();
List<Category> flist = service1.findCategoryListByName("father");
List<Category> clist = service1.findCategoryListByName("child");
request.setAttribute("flist",flist);
request.setAttribute("clist",clist);
AddressService service = new AddressServiceImpl();
List<Address> addresses = service.findAddressByUserId(user.getUser_id());
order.setProduct_name(product.getProduct_name());
order.setProduct_photo(product.getProduct_photo());
order.setProduct_price(product.getProduct_price());
request.setAttribute("order",order);
OrderService service4 = new OrderServiceImpl();
service4.addOrder(order);
request.getRequestDispatcher("order.jsp").forward(request, response);
} else {
response.sendRedirect("login.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
@WebServlet("/updateUserListServlet")
public class UpdateUserListServlet extends HttpServlet {
String id = request.getParameter("id");
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
//创建商品服务层对象 查询该商品后传到前台
ProductService service2 = new ProductServiceImpl();
Product productById = service2.findProductById(Integer.valueOf(id));
request.setAttribute("p",productById);
//创建分类服务层对象 查询分类列表后传到前台
CategoryService service = new CategoryServiceImpl();
List<Category> flist = service.findCategoryListByName("father");
request.setAttribute("flist", flist);
List<Category> clist = service.findCategoryListByName("child");
request.setAttribute("clist", clist);
//查询该商品的二级和一级分类
Category c = service.findCategoryByCid(productById.getProduct_cid());
request.setAttribute("childC",c);
Category f = service.findCategoryByCid(c.getCategory_parentid());
request.setAttribute("fatherC",f);
//查询二级分类商品
List<Product> productList = service2.findProductByCategoryCid(c.getCategory_id());
request.setAttribute("classlist",productList);
//查询最近访问的商品,未实现,改为了查询所有商品
List<Product> productAllList = service2.findAllProduct();
request.setAttribute("lastlist",productAllList);
//查询购物车数量
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
String cartCount = "0";
CartService service1 = new CartServiceImpl();
if (user != null) {
cartCount = String.valueOf(service1.findCartCountByUserId(user.getUser_id()));
}else {
cartCount = "?";
}
request.setAttribute("cartCount",cartCount);
//查询评论
int productId = Integer.valueOf(id);
CommentService service3 = new CommentServiceImpl();
List<Comment> comments= service3.findCommentByProductId(productId);
request.setAttribute("comments",comments);
System.out.println(comments);
request.getRequestDispatcher("productview.jsp").forward(request, response);
@WebServlet("/addUserServlet")
public class AddUserServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response);// 初始化
String fileName = "";
try {
su.setAllowedFilesList("jpg,gif,jpeg,png");
su.upload();
String userName = su.getRequest().getParameter("userName");
Files uploadFiles = su.getFiles();
fileName = uploadFiles.getFile(0).getFileExt();
fileName = userName+"."+fileName;
File f = new File(this.getServletContext().getRealPath("/upload/user"));
if (!f.exists() && !f.isDirectory()) {
f.mkdir();
}
uploadFiles.getFile(0).saveAs("/upload/user/"+ fileName);
} catch (SmartUploadException e) {
e.printStackTrace();
}
String userName = su.getRequest().getParameter("userName");
String nickname = su.getRequest().getParameter("nickname");
String passWord = su.getRequest().getParameter("passWord");
String rePassWord = su.getRequest().getParameter("rePassWord");
String sex = su.getRequest().getParameter("sex");
String status = su.getRequest().getParameter("status");
User u = new User(userName,nickname,passWord,sex,"0","0",status,fileName);
System.out.println(u);
su.upload();
String userName = su.getRequest().getParameter("userName");
Files uploadFiles = su.getFiles();
fileName = uploadFiles.getFile(0).getFileExt();
fileName = userName+"."+fileName;
File f = new File(this.getServletContext().getRealPath("/upload/user"));
if (!f.exists() && !f.isDirectory()) {
f.mkdir();
}
uploadFiles.getFile(0).saveAs("/upload/user/"+ fileName);
} catch (SmartUploadException e) {
e.printStackTrace();
}
String userName = su.getRequest().getParameter("userName");
String nickname = su.getRequest().getParameter("nickname");
String passWord = su.getRequest().getParameter("passWord");
String rePassWord = su.getRequest().getParameter("rePassWord");
String sex = su.getRequest().getParameter("sex");
String status = su.getRequest().getParameter("status");
User u = new User(userName,nickname,passWord,sex,"0","0",status,fileName);
System.out.println(u);
UserService service = new UserServiceImpl();
Boolean flag = service.addUser(u);
if (flag) {
response.sendRedirect(request.getContextPath()+"/userListServlet");
}else {
PrintWriter out = response.getWriter();
out.write("<script>");
out.write("alert('新增用户失败!');");
out.write("</script>");
out.close();
}
@WebServlet("/toProductViewServlet")
public class ToProductViewServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取参数商品id
String id = request.getParameter("id");
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
//创建商品服务层对象 查询该商品后传到前台
ProductService service2 = new ProductServiceImpl();
Product productById = service2.findProductById(Integer.valueOf(id));
request.setAttribute("p",productById);
//创建分类服务层对象 查询分类列表后传到前台
CategoryService service = new CategoryServiceImpl();
List<Category> flist = service.findCategoryListByName("father");
request.setAttribute("flist", flist);
List<Category> clist = service.findCategoryListByName("child");
request.setAttribute("clist", clist);
//查询该商品的二级和一级分类
Category c = service.findCategoryByCid(productById.getProduct_cid());
request.setAttribute("childC",c);
Category f = service.findCategoryByCid(c.getCategory_parentid());
request.setAttribute("fatherC",f);
//查询二级分类商品