我是靠谱客的博主 执着水蜜桃,这篇文章主要介绍Java 实战项目锤炼之仿天猫网上商城的实现流程,现在分享给大家,希望可以做个参考。

一、项目简述

功能:

前台:

* 用户模块

* 分类模块

* 商品模块

* 购物车模块

* 订单模块

后台:

* 管理员模块

* 分类管理模块

* 商品管理模块

* 订单模块

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP + C3P0+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload等等。

基础信息操作代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
基础信息操作: public abstract class BaseBackServlet extends HttpServlet { /* 添加 */ public abstract String add(HttpServletRequest request, HttpServletResponse response, Page page); /* 删除 */ public abstract String delete(HttpServletRequest request, HttpServletResponse response, Page page); /* 更新 */ public abstract String update(HttpServletRequest request, HttpServletResponse response, Page page); /* 修改 */ public abstract String edit(HttpServletRequest request, HttpServletResponse response, Page page); /* 显示 */ public abstract String list(HttpServletRequest request, HttpServletResponse response, Page page); protected CategoryDAO categoryDAO = new CategoryDAO(); protected OrderDAO orderDAO = new OrderDAO(); protected OrderItemDAO orderItemDAO = new OrderItemDAO(); protected ProductDAO productDAO = new ProductDAO(); protected ProductImageDAO productImageDAO = new ProductImageDAO(); protected PropertyDAO propertyDAO = new PropertyDAO(); protected PropertyValueDAO propertyValueDAO = new PropertyValueDAO(); protected ReviewDAO reviewDAO = new ReviewDAO(); protected UserDAO userDAO = new UserDAO(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { try{ /* 获取分页信息 */ int start = 0; int count = 5; try{ start = Integer.parseInt(req.getParameter("page.start")); count = Integer.parseInt(req.getParameter("page.count")); } catch(Exception e) { } Page page = new Page(start, count); /* 借助反射,调用对应的方法 */ String method = (String)req.getAttribute("method"); Method m = this.getClass().getMethod(method, HttpServletRequest.class, HttpServletResponse.class, Page.class); String redirect = m.invoke(this, req, resp, page).toString(); /* 根据方法的返回值,进行相应的客户端、服务端跳转,或仅输出字符串 */ if(redirect.startsWith("@")){ resp.sendRedirect(redirect.substring(1)); } else if(redirect.startsWith("%")){ resp.getWriter().print(redirect.substring(1)); } else { req.getRequestDispatcher(redirect).forward(req, resp); } } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } public InputStream parseUpload(HttpServletRequest request, Map<String, String> params){ InputStream is = null; try{ DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); //设置上传的文件大小限制为10M factory.setSizeThreshold(1024 * 1024); List items = upload.parseRequest(request); Iterator iter = items.iterator(); while(iter.hasNext()){ FileItem item = (FileItem) iter.next(); if(!item.isFormField()){ //获取上传文件的输入流 is = item.getInputStream(); } else { String paramName = item.getFieldName(); String paramValue = item.getString(); paramValue = new String(paramValue.getBytes("ISO-8859-1"), "UTF-8"); params.put(paramName, paramValue); } } } catch (FileUploadException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return is; } }

用户信息操作代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
用户信息操作: 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<User> 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"; } }

以上就是Java 实战项目锤炼之仿天猫网上商城的实现流程的详细内容,更多关于Java 天猫商城的资料请关注靠谱客其它相关文章!

最后

以上就是执着水蜜桃最近收集整理的关于Java 实战项目锤炼之仿天猫网上商城的实现流程的全部内容,更多相关Java内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(105)

评论列表共有 0 条评论

立即
投稿
返回
顶部