当前位置: 首页 > article >正文

JavaEE作业-实验三

目录

1 实验内容

2 实验要求

3 思路

4 核心代码

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 实验结果

①购物车界面

库存界面

订单界面

商品(书籍)界面


http://www.kler.cn/a/231369.html

相关文章:

  • Linux一些常用的系统优化
  • 网络安全领域的最新动态和漏洞信息
  • 【蓝桥杯C/C++】I/O优化技巧:cin.tie(nullptr)的详解与应用
  • etcd defrag
  • 区块链中的wasm合约是什么?
  • elasticsearch是如何实现master选举的?
  • List与数组相互转换
  • 【react native】ScrollView的触摸事件与TouchableWithoutFeedback的点击事件冲突
  • 蓝桥杯基础知识8 list
  • Flutter组件 StatefulWidget、StatelessWidget 可继承写法
  • Docker 搭建mysql 集群(二)
  • C语言——oj刷题——实现字符串逆序
  • 波纹扩散效果
  • 阿里云游戏服务器租用价格表,2024最新报价
  • Linux下centos操作系统安装Mysql8.0过程及踩坑填补
  • 幻兽帕鲁服务器怎么搭建?palworld创建笔记(收藏备用)
  • nginx简单配置四种携带/时的拼接关系
  • 人工智能福利站,初识人工智能,图神经网络学习,第四课
  • Spring Cloud使用ZooKeeper作为注册中心的示例
  • postman执行批量测试
  • step导入到solidworks外观处理方法
  • 图数据库 之 Neo4j - 环境搭建(2)
  • Android Button background 失效
  • 最新GPT4.0使用教程,AI绘画,GPT语音对话使用,DALL-E3文生图
  • UniApp 快速上手与深度学习指南
  • CloudStack中控制台虚拟机调试