基于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
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);
}
}
@WebServlet("/updateProductServlet")
public class UpdateProductServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
// response.setCharacterEncoding("utf-8");
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();
int productId = Integer.valueOf(request.getParameter("productId"));
Files uploadFiles = su.getFiles();
fileName = uploadFiles.getFile(0).getFileExt();
fileName = productId + "." + fileName;
File f = new File(this.getServletContext().getRealPath("/upload/product"));
if (!f.exists() && !f.isDirectory()) {
f.mkdirs();
@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();
if (user != null) {
cartCount = String.valueOf(service1.findCartCountByUserId(user.getUser_id()));
}else {
cartCount = "?";
}
request.setAttribute("cartCount",cartCount);
CategoryService service2 = new CategoryServiceImpl();
List<Category> flist = service2.findCategoryListByName("father");
request.setAttribute("flist", flist);
List<Category> clist = service2.findCategoryListByName("child");
request.setAttribute("clist", clist);
//没实现分类添加图片
request.setAttribute("link", "img/banner1.jpg");
request.getRequestDispatcher("searchproductlist.jsp").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
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());
request.setAttribute("address",addresses);
//计算商品价格
String pid = request.getParameter("pid");
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);
//添加此订单为待支付订单
//添加此订单的订单列表
//查询该订单中商品及数量
int product_quantity = Integer.valueOf(count);
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();
doPost(request,response);
}
}
@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();
}
CategoryService service2 = new CategoryServiceImpl();
List<Category> flist = service2.findCategoryListByName("father");
request.setAttribute("flist", flist);
List<Category> clist = service2.findCategoryListByName("child");
request.setAttribute("clist", clist);
//没实现分类添加图片
request.setAttribute("link", "img/banner1.jpg");
request.getRequestDispatcher("searchproductlist.jsp").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
/**
* Servlet Filter implementation class Register
*/
@WebFilter("/register")
public class Register implements Filter {
/**
* Default constructor.
*/
public Register() {
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);
CategoryService service2 = new CategoryServiceImpl();
List<Category> flist = service2.findCategoryListByName("father");
request.setAttribute("flist", flist);
List<Category> clist = service2.findCategoryListByName("child");
request.setAttribute("clist", clist);
//没实现分类添加图片
request.setAttribute("link", "img/banner1.jpg");
request.getRequestDispatcher("searchproductlist.jsp").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
out.write("alert('更新成功!');");
out.write("location.href='toMyInfoServlet'");
out.write("</script>");
out.close();
}else {
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的图片,默认黑色背景
//参数一:长
//参数二:宽
//参数三:颜色
/**
* Servlet Filter implementation class Register
*/
@WebFilter("/register")
public class Register implements Filter {
/**
* Default constructor.
*/
public Register() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
out.close();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
@WebServlet("/updateUserPhotoServlet")
public class UpdateUserPhotoServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=UTF-8");
HttpSession session = request.getSession();
User user = (User) session.getAttribute("name");
if (user != null) {
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response);// 初始化
String fileName = "";
int userId = user.getUser_id();
try {
su.setAllowedFilesList("jpg,gif,jpeg,png");
su.upload();
@WebServlet("/regServlet")
public class RegServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
HttpSession session = request.getSession();
UserService service = new UserServiceImpl();
String userName = request.getParameter("userName").trim();
String userPassword = request.getParameter("userPassword").trim();
String enUserPassword = request.getParameter("enUserPassword".trim());
String verifycode = request.getParameter("verifycode".trim());
String checkcode_server = (String) session.getAttribute("CHECKCODE_SERVER");
session.removeAttribute("CHECKCODE_SERVER");//确保验证一次性
if (!verifycode.equalsIgnoreCase(checkcode_server)){
request.setAttribute("msg","验证码错误");
request.setAttribute("userName",userName);
request.setAttribute("userPassword",userPassword);
request.setAttribute("enUserPassword",enUserPassword);
request.getRequestDispatcher("reg.jsp").forward(request,response);
return;
}else {
if (!userPassword.equals(enUserPassword)) {
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 user = service.findUserByUserName(userName);
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");
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);
}
}
@WebServlet("/toUserInfoServlet")
public class ToUserInfoServlet extends HttpServlet {
//创建分类服务层对象 查询分类列表后传到前台
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);
// OrderListService service5 = new OrderListServiceImpl();
// service5.addOrderList(orderList);
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("/selectProductList")
public class SelectProductList extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//查询购物车数量
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);
/**
* Servlet Filter implementation class Register
*/
@WebFilter("/register")
public class Register implements Filter {
/**
* Default constructor.
*/
public Register() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
String userName = req.getParameter("userName");
PrintWriter out = resp.getWriter();
if(userName.equals("")) {
out.write("<script>");
out.write("alert('用户名称不能为空');");
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());
request.setAttribute("address",addresses);
//计算商品价格
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);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
@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);
AddressService service = new AddressServiceImpl();
List<Address> addresses = service.findAddressByUserId(user.getUser_id());
request.setAttribute("address",addresses);
CartService servicem= new CartServiceImpl();
List<Cart> cartList= servicem.findCartListByUserId(user.getUser_id());
Cart cs = new Cart();
String eids = request.getParameter("eids");
for(int i=0; i<cartList.size(); i++) {
if(cartList.get(i).getCart_id()==Integer.valueOf(eids)){
cs = cartList.get(i);
break;
}
}
//计算商品价格eids
// 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(cs.getProduct_id()));
int price = p.getProduct_price();
int totalPrice = price*Integer.valueOf(cs.getProduct_quantity());
request.setAttribute("price",price);
request.setAttribute("count",cs.getProduct_quantity());
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);
//添加此订单为待支付订单
//添加此订单的订单列表
//查询该订单中商品及数量
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());