LANGUAGE/JSP

[ jsp&servlet ] 상품 관리 시스템 구축하기(1)

Elin J 2021. 5. 10. 11:28

상품 관리 프로그래밍을 위한 파일

[ JSP페이지 ]

  productList.jsp

  productWrite.jsp

  productUpdate.jsp

  productDelete.jsp

 

[ 서블릿 파일 ]

  productListServlet.java        --> 요청url패턴 produstList.do

  productWriteServlet.java     --> 요청url패턴 produsWrite.do

  productUpdateServlet.java   --> 요청url패턴 produstUpdate.do

  productDeleteServlet.java    --> 요청url패턴 produstDelete.do

 

[ 자바스크립트 ] 

  product.js   

       --> 폼에 입력된 정보가 올바른지 판단하는 자바스크립트

 

[ VO 클래스 ]

  ProductVO.java 

       --> 상품 정보를 저장하는 클래스

 

[ DAO 클래스 ]

  ProductDAO.java   

        --> 데이터베이스 연동해서 작업하는 데이터베이스 처리 클래스

 

 

////////////////////////////////////////////////////////////////////////////////

 

💻 1.  데이터베이스 구축하기

💻 2.  프로젝트 환경설정

💻 3 . VO클래스 정의 - 상품 정보 저장

💻 4. Connection 객체 얻기

   - 반드시 DAO클래스 설계 전 실행

      => 자바와 오라클은 서로 분리된 다른 시스템이기 때문에

           자바에서 오라클을 사용하기 위해서는 오라클 접속요청해서 성공해야 한다

 

   - 어느 테이블을 다루든지 공통되는 내용이므로 클래스를 분리

      => 다른 데이블 다루는 DAO클래스에서도 이 분리해 놓은 객체로 커넥션 얻을때 코드 재활용 가능!

 

💻 5. DAO클래스 정의 - 데이터베이스 처리

💻 6. 화면디자인 위한 스타일시트 정하기 (CSS)

 

<상품 리스트>

7. ProductDAO.java에서  Read

    => selectAllProducts()메소드 호출

 

8-1. 상품 리스트 서블릿 ProductListServlet.java 작성

 

8-2. 상품 리스트 화면 출력 productList.jsp  

     - 상품 등록, 수정, 삭제 페이지 이동가능

 

<상품 등록>

9-1. 상품 등록 화면 서블릿 ProductWriteServlet.java 작성

       - 상품리스트 화면의 상품등록 클릭 시 get방식으로 요청

           => doGet( )

 

9-2. 상품 등록 화면 출력 productWrite.jsp  

 

9-3. ProductDAO.java에서 Create (insert)

      => insertProduct(ProductVO pVo)메소드 호출

 

9-4. 폼에 입력된 정보 DB에 추가 ProductWriteServlet.java --> post방식으로 요청

      => doPost( ) 

 

9-5. 폼에 입력된 정보 유효성 체크 product.js 파일 생성

    => function productCheck( )

 

<상품 수정>

10-1. ProductDAO.java에서 상품 정보를 얻어오기 위한  Read

        => selectProductByCode(String code)메소드에 productUpdate.do 요청하면서 전달한 상품값 전달

 

10-2. 상품 수정 화면 서블릿 ProductUpdateServlet.java 작성

       - 상품리스트 화면의 상품 수정 클릭 시 get방식으로 요청

           => doGet( ) , 상품 수정 화면으로 이동

 

10-3. 상품 수정 화면 출력 productUpdate.jsp  --> 이미 등록된 상품의 정보 변경 위한 폼

        => <c:choose></c:choose>태그

        => 수정 버튼 클릭시 product.js 의 productCheck( )메소드 호출

        => 수정 버튼 클릭시 <form>태그의 post방식 요청 발생

 

10-4. 상품 정보를 수정하는 메소드 ProductDAO.java에 추가

        => updateProduct(ProductVO pVo)메소드

        => "update product set name=?, price=?, pictureurl=?, description=?, where code=?";

 

10-5. 상품 수정을 위한 서블릿 ProductUpdateServlet.java 작성 --> post방식으로 요청

      => doPost( ) 

 

<상품 삭제 >

11-1. ProductDeleteServlet.java  --> 상품 삭제위해 이전에 입력되었던 상품 정보가 먼저 불러오기 

       - 상품리스트 화면의 삭제 클릭 시 get방식으로 요청

           => doGet( ) , 상품 수정 화면으로 이동

 

11-2.  삭품 삭제 화면 출력 productDelete.jsp

        => <c:choose></c:choose>태그

        => 삭제 버튼 클릭시 <form>태그의 post방식 요청 발생

 

 

11-3. 실제 상품 삭제 위한 서블릿 ProductUpdateServlet.java 작성 --> post방식으로 요청

         =>doPost( )

 

11-4. 상품 삭제를 위한 메소드 ProductDAO.java에 추가

        => deleteProduct(String code)

        => "delete product where code=?";