JavaEE作业-实验三

目录

[1 实验内容](#1 实验内容)

[2 实验要求](#2 实验要求)

[3 思路](#3 思路)

[4 核心代码](#4 核心代码)

[5 实验结果](#5 实验结果)


1 实验内容

简单的线上图书交易系统的web层

2 实验要求

①采用SpringMVC框架,采用REST风格

②要求具有如下功能:商品分类、订单、购物车、库存

③独立完成,编写实验报告

3 思路

①确保项目结构清晰,按照MVC的结构进行组织

②在pom.xml中添加SpringMVC相关依赖,以及其他可能需要的依赖,比如数据库连接池、模板引擎等:

③配置web.xml文件,配置DispatcherServlet和Spring监听器:

④在WEB-INF目录下创建相关文件,配置相关内容:

⑤在com.exp.controller包下创建控制器类,使用@RestController注解,以REST风格暴露接口

⑥创建JSP文件,用于显示前端页面。

4 核心代码

BookController类

@RestController
@RequestMapping("/books")
public class BookController {

@Autowired

private BookService bookService;

@GetMapping

public List<Book> getAllBooks() {

return bookService.getAllBooks();
}

@GetMapping("/{id}")

public Book getBookById(@PathVariable Long id) {

return bookService.getBookById(id);
}

@PostMapping

public void addBook(@RequestBody Book book) {

bookService.addBook(book);
}

@PutMapping("/{id}")

public void updateBook(@PathVariable Long id, @RequestBody Book book) {
book.setId(id);

bookService.updateBook(book);
}

@DeleteMapping("/{id}")

public void deleteBook(@PathVariable Long id) {

bookService.deleteBook(id);
}
}

②OrderController

@RestController
@RequestMapping("/orders")
public class OrderController {

@Autowired

private OrderService orderService;

@GetMapping

public List<Order> getAllOrders() {

return orderService.getAllOrders();
}

@GetMapping("/{id}")

public Order getOrderById(@PathVariable Long id) {

return orderService.getOrderById(id);
}

@PostMapping

public void addOrder(@RequestBody Order order) {
orderService.addOrder(order);
}

@PutMapping("/{id}")

public void updateOrder(@PathVariable Long id, @RequestBody Order order) {
order.setId(id);
orderService.updateOrder(order);
}

@DeleteMapping("/{id}")

public void deleteOrder(@PathVariable Long id) {
orderService.deleteOrder(id);
}
}

③CartController

@RestController
@RequestMapping("/cart")
public class CartController {

@Autowired

private CartService cartService;

@GetMapping("/{userId}")

public List<CartItem> getCartItemsByUserId(@PathVariable Long userId) {

return cartService.getCartItemsByUserId(userId);
}

@PostMapping

public void addCartItem(@RequestBody CartItem cartItem) {

cartService.addCartItem(cartItem);
}

@PutMapping("/{id}")

public void updateCartItem(@PathVariable Long id, @RequestBody CartItem cartItem) {
cartItem.setId(id);

cartService.updateCartItem(cartItem);
}

@DeleteMapping("/{id}")

public void deleteCartItem(@PathVariable Long id) {

cartService.deleteCartItem(id);
}
}

④InventoryController

@RestController
@RequestMapping("/inventory")
public class InventoryController {

@Autowired

private InventoryService inventoryService;

@GetMapping("/{bookId}")

public Inventory getInventoryByBookId(@PathVariable Long bookId) {

return inventoryService.getInventoryByBookId(bookId);
}

@PostMapping

public void addInventory(@RequestBody Inventory inventory) {

inventoryService.addInventory(inventory);
}

@PutMapping("/{id}")

public void updateInventory(@PathVariable Long id, @RequestBody Inventory inventory) {
inventory.setId(id);

inventoryService.updateInventory(inventory);
}

@DeleteMapping("/{id}")

public void deleteInventory(@PathVariable Long id) {

inventoryService.deleteInventory(id);
}
}

5 实验结果

①购物车界面

库存界面

订单界面

商品(书籍)界面

相关推荐
努力成为包租婆36 分钟前
uniapp--原生插件开发
java·数据库·uni-app
海南java第二人2 小时前
Spring MVC核心流程深度解析:从请求到响应的完美掌控
java·springmvc
未来之窗软件服务2 小时前
幽冥大陆(一百10)PHP打造Java的Jar安全——东方仙盟筑基期
java·php·phar·仙盟创梦ide·东方仙盟
程序猿_极客5 小时前
【2025 年最新版】Java JDK 安装与环境配置教程(附图文超详细,Windows+macOS 通用)
java·开发语言·windows·macos·jdk
猫头虎5 小时前
macOS 双开/多开微信WeChat完整教程(支持 4.X 及以上版本)
java·vscode·macos·微信·编辑器·mac·脚本
二哈喇子!8 小时前
Java开发工具——IDEA(修改全局配置,提升工作效率)
java·编辑器·intellij-idea
强子感冒了8 小时前
Java网络编程学习笔记,从网络编程三要素到TCP/UDP协议
java·网络·学习
二哈喇子!8 小时前
SpringBoot项目右上角选择ProjectNameApplication的配置
java·spring boot
sin22018 小时前
MyBatis的执行流程
java·开发语言·mybatis
二哈喇子!8 小时前
基于Spring Boot框架的车库停车管理系统的设计与实现
java·spring boot·后端·计算机毕业设计