models = service.상품목록(); req.setAttribute("models", models); return "list"; } // localhost:8080/product/5 @GetMapping("/product/{id}") public String detail(@PathVariable("id") int id, HttpServletRequest req) { Product model = service.상품상세(id); req.setAttribute("model", model); return "detail"; } @GetMapping("/product/insert-form")"> models = service.상품목록(); req.setAttribute("models", models); return "list"; } // localhost:8080/product/5 @GetMapping("/product/{id}") public String detail(@PathVariable("id") int id, HttpServletRequest req) { Product model = service.상품상세(id); req.setAttribute("model", model); return "detail"; } @GetMapping("/product/insert-form")"> models = service.상품목록(); req.setAttribute("models", models); return "list"; } // localhost:8080/product/5 @GetMapping("/product/{id}") public String detail(@PathVariable("id") int id, HttpServletRequest req) { Product model = service.상품상세(id); req.setAttribute("model", model); return "detail"; } @GetMapping("/product/insert-form")">
package com.example.prodspringapp.product;

import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;

import jakarta.servlet.http.HttpServletRequest;

@Controller // view를 리턴턴
public class ProductController {
    ProductService service = new ProductService();

    // localhost:8080
    // localhost:8080/
    @GetMapping("/product")
    public String list(HttpServletRequest req) {
        List<Product> models = service.상품목록();
        req.setAttribute("models", models);
        return "list";
    }

    // localhost:8080/product/5
    @GetMapping("/product/{id}")
    public String detail(@PathVariable("id") int id, HttpServletRequest req) {
        Product model = service.상품상세(id);
        req.setAttribute("model", model);
        return "detail";
    }

    @GetMapping("/product/insert-form")
    public String insertForm() {
        return "insert-form";
    }

    @PostMapping("/product/insert")
    public String insert(String name, int price, int qty) { // x-www-form
        service.상품등록(name, price, qty);
        return "redirect:/product";
    }

    @PostMapping("/product/{id}/delete")
    public String delete(@PathVariable("id") int id) {
        service.상품삭제(id);
        return "redirect:/product";
    }
}