Java项目:仿天猫网上商城项目(java+jsp+servlet+mysql+ajax)
Posted qq_1334611189
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java项目:仿天猫网上商城项目(java+jsp+servlet+mysql+ajax)相关的知识,希望对你有一定的参考价值。
一、项目简述
功能:
前台:
* 用户模块
* 分类模块
* 商品模块
* 购物车模块
* 订单模块
后台:
* 管理员模块
* 分类管理模块
* 商品管理模块
* 订单模块
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP + C3P0+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload等等。
基础信息操作代码:
基础信息操作:
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;
}
}
用户信息操作代码:
用户信息操作:
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+jsp+servlet+mysql+ajax)的主要内容,如果未能解决你的问题,请参考以下文章
java毕设项目开源了,springboot+bootstrap的仿天猫商城系统
java毕设项目开源了,springboot+bootstrap的仿天猫商城系统
基于springboot仿天猫商城系统开发与设计.rar(项目源码)
仿天猫淘宝的ShopNC好商城原生Android 客户端源码项目