본문 바로가기
Today I Learned

2021.02.22(Mon) 📌 TIL

by Elin J 2021. 2. 22.

🙋‍♀️💻 MVC2모델 게시판 만들기

      => 리뷰) 전체출력, 한건상세

      => 오늘의 공부) 한건삭제, 한건수정

 

======================2월 22일 월요일======================
-----------------------------[오전]--------------------------------

 

📃 [전체 출력 순서]
    ㅣ- 실행 guestList.jsp문서는 데이터 표시가 안된다, 에러는 없음
    ㅣ- 실행 guestList.do 표식이 GuestListController.java 서블릿 의미

 

1. 서블릿에서 순수자바에서 전체 데이터 땡겨온다

    서블릿문서 @WebServlet("/guestList.do")
    ArrayList naver지역변수 = gs.dbSelectAll( );
    int Gtotal 지역변수 = gs.getTotal( );
          ㅣ- GuestSQL.java문서 리턴값 dbSelectAll(  ){ while(RS.next(  )){ dto개체생성 }~~alist.add( dto ) ; }  }

 

2. 지역변수를 request.setAttribute("가짜", "진짜") 기술 후 적용 될 페이지
    request.setAttribute("naver", naver)
    request.setAttribute("Gtotal", Gtotal)
    RequestDispatcher dis = request.getRequestDispatcher("guestList.jsp뷰");
    dis.forward(request, response);

 

3. guestList.jsp 뷰문서 한건이나 하나일때 ${Gtotal}  --EL태그로 접근
   한건 이상일때는 <c:forEach var="가짜변수bean" items="${naver}"> ${bean.title}

 

                ==============================================

 

📃 [한건상세]
1. guestList.jsp문서 제목클릭
   <a href="guestDetail.do?idx="사번> ${bean.title}

 

2. 서블릿에서 idx값을 받아서 순수자바에서 한건 상세데이터
   서블릿문서 @WebServlet("/guestDetail.do")
    data = Integer.parse(request.getParameter("idx"));
    GuestDTO = gs.dbDetail(data);
    request.setAtrribute("dto", dto); 디스패처 guestDetail.jsp 문서지정 후 dis.forward(r, r)

 

3. 순수자바 GuestDTO.java문서
    GuestDTO dbDetail( int data ){ select ~ where dabun = data~return dto; }

 

4. guestDetail.jsp문서 ${dto.sabun} ${dto.name} 출력 한건이라서 froEach 기술안함

 

                ==============================================

 

/////오늘의 공부/////

💻 [한건삭제]

1. guestDetail.jsp문서
   <a href="guestDelete.do?idx="사번데이터> [삭제]

 

2. 순수 GuestSQL.java문서
    public void dbDelete(int data){delete~where sabun=data}

 

 

3. GuestDetailController.java문서 새이름으로 저장 GuestDeleteController.java문서
   GuestDeleteController.java 서블릿 문서
  표식 @WebServlet("/guestDelete.do")

         ㅣ- 첫번째) guestDelete.do 명명
         ㅣ- 두번째) gs.dbDelete(data);
         ㅣ- 세번째) 포워딩대신 response.sendRedirect("guestList.do")

 

 

*저장처리
   guestWriter.jsp문서에서 데이터입력 
   GuestInsertController.java문서
      ㅣ- 순수자바 gs.dbInsert(Gsabun, Gname, Gtitle, Gpay, Gemail);
      ㅣ- 저장 후 뷰문서 guestList.do문서로 이동
   => 포워딩대신 response.sendRedirect("guestList.do")

 

 

                ==============================================

 

index.html문서 실행하거나 guestList.do 실행해서 제목클릭-> 한건상세문서 -> 한단에 있는 [수정]
💻 [한건수정]

  1. guestDetail.jsp문서
    <a href="guestPreEdit.do?idx="사번데이터> [수정]

  2. GuestDetailController.java문서 새이름으로 저장 GuestPreEditController.java문서
    GuestPreEditController.java문서
    조회한 결과
    포워딩 문서를 guestEdit.jsp로 지정

  3. guestEdit.jsp문서 폼태그 < form action="guestEdit.do">

  4. 순수자바 GuestSQL.java문서
    public void dbEdit(매개인자){ }

5. GuestInsertController.java새이름으로 저장 GuestPreEditController.java문서
    @WebServlet("/guestEdit.do")
    GuestPreEditController.java
      ㅣ- 포워딩 guestEdit.jsp 대신(포워딩 필요없음)  --> response.sendRedirect("guestList.do")

 

      ㅣ- 순수자바문서

 

 

-----------------------------[오후]--------------------------------

 

~~ 오전에 하던 [한건수정} 이어서 같이 실습

 

💻 [페이징]
1. index.html문서 실행하거나 guestList.do
  guestList.jsp문서는 제목만 출력, 데이터 출력 X
  guestList.do서블릿 제목 출력, 데이터출력
    ㅣ- GuestListController.java

 

2. 서블릿문서 GuestListController.java
   String pnum=" ", skey=" ", sval=" ", returnpage=" ", sqry=" " ;
   int pageNUM;
   int start, end, startpage, endpage, pagecount, tmp;

 

 

3. 순수자바 GuestSQL.java
   guestList.jsp문서는 최대한 JSTL태그, EL태그 출력

 

jsp, 서블릿, 순수자바에서 페이징

 

 

페이징 1단계

 

페이징 2단계

 

페이징 결과 

 

'Today I Learned' 카테고리의 다른 글

2021.02.24(Thu) 📌 TIL  (0) 2021.02.24
2021.02.23(Wed) 📌 TIL  (0) 2021.02.24
2021.02.19(Fri) 📌 TIL  (0) 2021.02.19
2021.02.18(Thu) 📌 TIL  (0) 2021.02.18
2021.02.17(Wed) 📌 TIL  (0) 2021.02.18