Java 實戰(zhàn)項目錘煉之仿天貓網(wǎng)上商城的實現(xiàn)流程
一、項目簡述
功能:
前臺:
* 用戶模塊
* 分類模塊
* 商品模塊
* 購物車模塊
* 訂單模塊
后臺:
* 管理員模塊
* 分類管理模塊
* 商品管理模塊
* 訂單模塊
二、項目運行
環(huán)境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
項目技術(shù): JSP + C3P0+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload等等。





基礎(chǔ)信息操作代碼:
基礎(chǔ)信息操作:
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);
/* 借助反射,調(diào)用對應(yīng)的方法 */
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();
/* 根據(jù)方法的返回值,進行相應(yīng)的客戶端、服務(wù)端跳轉(zhuǎn),或僅輸出字符串 */
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);
//設(shè)置上傳的文件大小限制為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("調(diào)用了 UserServlet add方法");
return null;
}
@Override
public String delete(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println("調(diào)用了 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("調(diào)用了 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("調(diào)用了 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("調(diào)用了 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 實戰(zhàn)項目錘煉之仿天貓網(wǎng)上商城的實現(xiàn)流程的詳細內(nèi)容,更多關(guān)于Java 天貓商城的資料請關(guān)注腳本之家其它相關(guān)文章!
- Java 實戰(zhàn)項目錘煉之在線蛋糕商城系統(tǒng)的實現(xiàn)
- Java 實戰(zhàn)項目錘煉之在線購書商城系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目錘煉之網(wǎng)上花店商城的實現(xiàn)流程
- Java 實戰(zhàn)項目錘煉之網(wǎng)上商城系統(tǒng)的實現(xiàn)流程
- Java 實戰(zhàn)項目之家居購物商城系統(tǒng)詳解流程
- Java 實戰(zhàn)交易平臺項目之寵物在線商城系統(tǒng)
- java商城項目實戰(zhàn)之購物車功能實現(xiàn)
- Java實戰(zhàn)玩具商城的前臺與后臺實現(xiàn)流程
相關(guān)文章
Springboot整合Dubbo+Nacos實現(xiàn)RPC調(diào)用的示例代碼
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的企業(yè)和開發(fā)者開始關(guān)注微服務(wù)架構(gòu),Nacos是阿里巴巴開源的一個動態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺,本文講解如何將Spring Boot與Dubbo和Nacos整合,實現(xiàn)RPC調(diào)用,需要的朋友可以參考下2024-02-02
Java后端產(chǎn)生驗證碼后臺驗證功能的實現(xiàn)代碼
這篇文章主要介紹了Java后臺產(chǎn)生驗證碼后臺驗證功能,本文文字結(jié)合實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06
詳解Kotlin和anko融合進行Android開發(fā)
本篇文章主要介紹了Kotlin和anko融合進行Android開發(fā),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
一文了解Java Log框架徹底搞懂Log4J,Log4J2,LogBack,SLF4J
本文主要介紹了一文了解Java Log框架徹底搞懂Log4J,Log4J2,LogBack,SLF4J,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
詳解使用Spring3 實現(xiàn)用戶登錄以及權(quán)限認證
這篇文章主要介紹了詳解使用Spring3 實現(xiàn)用戶登錄以及權(quán)限認證,這里整理了詳細的代碼,有需要的小伙伴可以參考下。2017-03-03

