Java 實(shí)戰(zhàn)項(xiàng)目之家居購(gòu)物商城系統(tǒng)詳解流程
一、項(xiàng)目簡(jiǎn)述
功能: Java Web精品項(xiàng)目源碼,家居商城分類(lèi)展示,商品展示, 商品下單,購(gòu)物車(chē),個(gè)人中心,后臺(tái)管理,用戶(hù)管理,商品管理,分類(lèi)管理等等。
二、項(xiàng)目運(yùn)行
環(huán)境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
項(xiàng)目技術(shù): Jdbc+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload
打開(kāi)訂單列表頁(yè)面代碼:
@Controller @RequestMapping("/order") public class OrderController { @Autowired private OrderService orderService; /** * 打開(kāi)訂單列表頁(yè)面 * * @return */ @RequestMapping("/toList.html") public String toOrderList() { return "mall/order/list"; } /** * 查詢(xún)用戶(hù)訂單列表 * * @param request * @return */ @RequestMapping("/list.do") @ResponseBody public ResultBean<List<Order>> listData(HttpServletRequest request) { List<Order> orders = orderService.findUserOrder(request); return new ResultBean<>(orders); } /** * 查詢(xún)訂單詳情 * * @param orderId * @return */ @RequestMapping("/getDetail.do") @ResponseBody public ResultBean<List<OrderItem>> getDetail(int orderId) { List<OrderItem> orderItems = orderService.findItems(orderId); return new ResultBean<>(orderItems); } /** * 提交訂單 * * @param name * @param phone * @param addr * @param request * @param response */ @RequestMapping("/submit.do") public void submit(String name, String phone, String addr, HttpServletRequest request, HttpServletResponse response) throws Exception { orderService.submit(name, phone, addr, request, response); } /** * 支付方法 * * @param orderId */ @RequestMapping("pay.do") @ResponseBody public ResultBean<Boolean> pay(int orderId, HttpServletResponse response) throws IOException { orderService.pay(orderId); return new ResultBean<>(true); } /** * 確認(rèn)收貨 * @param orderId * @param response * @return * @throws IOException */ @RequestMapping("receive.do") @ResponseBody public ResultBean<Boolean> receive(int orderId, HttpServletResponse response) throws IOException { orderService.receive(orderId); return new ResultBean<>(true); } }
商品信息操作代碼:
@Controller @RequestMapping("/product") public class ProductController { @Autowired private ProductService productService; @Autowired private ClassificationService classificationService; @Autowired private ShopCartService shopCartService; /** * 獲取商品信息 * * @param id * @return */ @RequestMapping("/get.do") public ResultBean<Product> getProduct(int id) { Product product = productService.findById(id); return new ResultBean<>(product); } /** * 打開(kāi)商品詳情頁(yè)面 * * @param id * @param map * @return */ @RequestMapping("/get.html") public String toProductPage(int id, Map<String, Object> map) { Product product = productService.findById(id); map.put("product", product); return "mall/product/info"; } /** * 查找熱門(mén)商品 * * @return */ @ResponseBody @RequestMapping("/hot.do") public ResultBean<List<Product>> getHotProduct() { List<Product> products = productService.findHotProduct(); return new ResultBean<>(products); } /** * 查找最新商品 * * @param pageNo * @param pageSize * @return */ @ResponseBody @RequestMapping("/new.do") public ResultBean<List<Product>> getNewProduct(int pageNo, int pageSize) { Pageable pageable = new PageRequest(pageNo, pageSize); List<Product> products = productService.findNewProduct(pageable); return new ResultBean<>(products); } /** * 打開(kāi)分類(lèi)查看商品頁(yè)面 * * @return */ @RequestMapping("/category.html") public String toCatePage(int cid, Map<String, Object> map) { Classification classification = classificationService.findById(cid); map.put("category", classification); return "mall/product/category"; } @RequestMapping("/toCart.html") public String toCart(){ return "mall/product/cart"; } /** * 按一級(jí)分類(lèi)查找商品 * * @param cid * @param pageNo * @param pageSize * @return */ @ResponseBody @RequestMapping("/category.do") public ResultBean<List<Product>> getCategoryProduct(int cid, int pageNo, int pageSize) { Pageable pageable = new PageRequest(pageNo, pageSize); List<Product> products = productService.findByCid(cid, pageable); return new ResultBean<>(products); } /** * 按二級(jí)分類(lèi)查找商品 * * @param csId * @param pageNo * @param pageSize * @return */ @ResponseBody @RequestMapping("/categorySec.do") public ResultBean<List<Product>> getCategorySecProduct(int csId, int pageNo, int pageSize) { Pageable pageable = new PageRequest(pageNo, pageSize); List<Product> products = productService.findByCsid(csId, pageable); return new ResultBean<>(products); } /** * 根據(jù)一級(jí)分類(lèi)查詢(xún)它所有的二級(jí)分類(lèi) * @param cid * @return */ @ResponseBody @RequestMapping("/getCategorySec.do") public ResultBean<List<Classification>> getCategorySec(int cid){ List<Classification> list = classificationService.findByParentId(cid); return new ResultBean<>(list); } /** * 加購(gòu)物車(chē) * * @param productId * @param request * @return */ @ResponseBody @RequestMapping("/addCart.do") public ResultBean<Boolean> addToCart(int productId, HttpServletRequest request) throws Exception { shopCartService.addCart(productId, request); return new ResultBean<>(true); } /** * 移除購(gòu)物車(chē) * * @param productId * @param request * @return */ @ResponseBody @RequestMapping("/delCart.do") public ResultBean<Boolean> delToCart(int productId, HttpServletRequest request) throws Exception { shopCartService.remove(productId, request); return new ResultBean<>(true); } /** * 查看購(gòu)物車(chē)商品 * @param request * @return */ @ResponseBody @RequestMapping("/listCart.do") public ResultBean<List<OrderItem>> listCart(HttpServletRequest request) throws Exception { List<OrderItem> orderItems = shopCartService.listCart(request); return new ResultBean<>(orderItems); } }
以上就是Java 實(shí)戰(zhàn)項(xiàng)目之家居購(gòu)物商城系統(tǒng)詳解流程的詳細(xì)內(nèi)容,更多關(guān)于Java 家居購(gòu)物商城系統(tǒng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring Cache相關(guān)知識(shí)總結(jié)
今天帶大家學(xué)習(xí)Spring的相關(guān)知識(shí),文中對(duì)Spring Cache作了非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)Java Spring的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05Java redisTemplate阻塞式處理消息隊(duì)列
用redis中的List可以實(shí)現(xiàn)隊(duì)列,這樣可以用來(lái)做消息處理和任務(wù)調(diào)度的隊(duì)列。因此,本文將主要為大家介紹如何利用redisTemplate處理消息隊(duì)列,感興趣的小伙伴可以了解一下2021-12-12Java 17 更新后的 strictfp 關(guān)鍵字
strictfp 可能是最沒(méi)有存在感的關(guān)鍵字了,很多人寫(xiě)了多年 Java 甚至都不知道它的存在,strictfp,字面意思就是嚴(yán)格的浮點(diǎn)型。這玩意兒居然還有個(gè)關(guān)鍵字,可見(jiàn)其地位還是很高的。下面文章小編就帶大家詳細(xì)介紹其關(guān)鍵字,需要的朋友可以參考一下2021-09-09Struts2學(xué)習(xí)筆記(7)-訪問(wèn)Web元素
這篇文章主要介紹Struts2中訪問(wèn)Web元素的方法,希望能給大家做一個(gè)參考。2016-06-06SpringBoot應(yīng)用War包形式部署到外部Tomcat的方法
這篇文章主要介紹了SpringBoot應(yīng)用War包形式部署到外部Tomcat的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08關(guān)于后端如何解決跨域的問(wèn)題說(shuō)明
這篇文章主要介紹了關(guān)于后端如何解決跨域的問(wèn)題說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08sqlite數(shù)據(jù)庫(kù)的介紹與java操作sqlite的實(shí)例講解
今天小編就為大家分享一篇關(guān)于sqlite數(shù)據(jù)庫(kù)的介紹與java操作sqlite的實(shí)例講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02Java常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)之棧和隊(duì)列詳解
這篇文章主要介紹了Java常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)之棧和隊(duì)列詳解,棧(Stack) 是一種基本的數(shù)據(jù)結(jié)構(gòu),具有后進(jìn)先出(LIFO)的特性,類(lèi)似于現(xiàn)實(shí)生活中的一疊盤(pán)子,棧用于存儲(chǔ)一組元素,但只允許在棧頂進(jìn)行插入(入棧)和刪除(出棧)操作,需要的朋友可以參考下2023-10-10Java實(shí)戰(zhàn)項(xiàng)目 圖書(shū)管理系統(tǒng)
這篇文章主要介紹了使用java SSM jsp mysql maven設(shè)計(jì)實(shí)現(xiàn)的精品圖書(shū)管理系統(tǒng),是一個(gè)很好的實(shí)例,對(duì)大家的學(xué)習(xí)和工作具有借鑒意義,建議收藏一下2021-09-09