상세 컨텐츠

본문 제목

55일차. Servlet 17 - ★CRUD (2)

수업 일지/Servlet

by NayC 2021. 5. 7. 09:37

본문

728x90

저장되는 곳 editController 만든 것

 

// 수정한 다음에 저장 누르면 저장 되는거까지

 

 

 

지금 꽂을게 많은데 덧셈 연산자 써야함

근데 이건 실수 유발 구문 

-> 

-> 집합 만들 필요 없음. 그냥 업데이트하는건데~ 

-> 다시 서버 시작해주고

-> 제목, 내용 수정해서 저장 되는지 한 번 보자! 

 

나는 왜 detail에서 내 화면이 뜨지 않는가~ 

문제 사항 
이거로 안고쳐줘서 정적인게 계속 떴던거! 이제 해결

 

근데 수정하고 확인 누르면 -> detail 페이지에도 바뀐게 하고 싶어.

지금 상태는 목록에는 수정된게 뜨는데 detail 페이지에는 예전것만 뜨고 수정된거 안 뜸 


 

이제 '등록'을 해주자 

html에서 '글쓰기' 버튼 하나 만들어주고 reg.jsp로 이동하게 한 다음 

-> reg.jsp 만들어주기 (edit.jsp 랑 비슷해서 복붙하되, 수정사항들 있어서 선생님 코드 옮김)

 

 

regControlloer

url reg로 수정하고

id 받는거 없으니 지우고

맨 마지막에 목록 페이지로 가니 수정해주고 list.jsp

 

그러면 중간만 구현해주면 됨 

 

 

근데 31번째줄처럼 만들어서 해줄것인가

필요하면 둘 다 만들어서 오버로드를 만들어주면 된다? 

 

이제 정말 데이터를 입력해보자 

updte랑 똑같다 

-> NoticeService.java 가서 update() 부분 복붙

 

그리고 insert로만 바꾸면 됨 (update 함수 이름을) 

 

그리고 sql 식 바꾸기 

 

?? 두 개를 prepared로 할 거기 때문에 1,2 빼고 지워주기만 하면 됨

 

실행해보자

서버 다시 시작

 

글쓰기 눌러서, 

글을 작성해보고 '저장'을 누르면 -> 검색창에서 검색하면 ... 안 나옴

 

// 우리는 지금 writer id를 안 넣음 

-> 이거 안 넣으면 안된다고 db에서 설정 (오라클에서 null 체크하고 이런거..)

 

Q. 오라클에서는 2개만 삽입하면 오류나는데, 이클립스에서는 왜 오류도 안났다고 할까~

-> 콘솔창에서 에러가 없었는지 꼭 확인해야함 

 

1) Writer_id에 null을 넣어서 이럼

 

그래서 하나 더 추가하자~ 

WRITER_ID

 

Q. 문제는 작성자에 대한 정보는 어떻게 얻어낼까?

- 현재 로그인한 사용자에 대한 정보를 얻어야

- 이거 배우기 전까지 우선 박아놓자 - 내 계정

 

그리고 난 다음에 하면 결과 나옴! 


'삭제' 해보자

 

먼저 이번엔 함수를 만들어보자

복붙, 그리고 delete로 함수명 바꾸고 

 

삭제할 때 쿼리문은~ 

- 삭제는 id만 넘겨받으면 됨

 

(질문 : 한 명이 복수 개의 글을 썼으면 다 지워지나요 -> NO. 그런 의미가 아니닷) 

여기서의 ID는 WRITER_ID가 아니기에 고유 식별자인것! 

 

//

 

우리가 삭제를 어디서 할거냐면 자세한 페이지 안에 '삭제'를 둬보자. (우리 마음이지만) 

 

양심적으로 삭제 했으면, 등록도 해주자. (지금 우리 연습을 위해) 

 

detail.jsp로 가자

 

DelController (editController 복붙) 

 

url 바꿔주고

doPost로 바꿔주고 

id 가져올건데 editController에서 복붙 

삭제 후 다시 목록으로 되돌아가게 해준 코드 

 

톰캣 재시작할 필요가 있는지 어디서 봐야하는지

 

// 우왕 정말 등록, 삭제 내 아이디로 된다 >.< 

 

CRUD 작업 

한 세트 작업

내 컨텐츠를 CRUD하는거에 맞춰서 플젝도 하기

 

근데 삭제할 때 문제가 있다. 

수정 누르려고 하다가 삭제가 눌릴 수 있.... 

-> 함부러 삭제하게 하면 안 됨

 

누르면 한 번 물어보게 해야함

옛날에 자바스크립트 없을 때는 삭제 페이지가 따로 있었는데, 요즘은 자바스크립트로 간단하게.

 

구글에서 BootBoxjs

bootboxjs.com/

 

Bootbox.js — alert, confirm and flexible dialogs for the Bootstrap framework

Bootbox provides three functions, alert, confirm, and prompt, whose aim is to mimic their native JavaScript equivalents. Here’s the simplest possible example: bootbox.alert("Hello world!"); Run example Compare that to the code you’d have to write with

bootboxjs.com

 

detail.jsp로 가서 

return false는 꼼수

true하면 -> 원래 a태그로 가는거라고? 

 

 

나는 안에 내용을 바꿔봤당

 

// 못한 것들이 많다 ~ css 기본적인 내용 다 배웠기에 css 시간을 추후 시간에 가지자. 

 

다른 테이블 정보를 꽂아넣어줄 경우도 많다.

 

ex) 조회수 같은거

 

notice 말고 다른 테이블도 join 할 수 있는걸 알아야 한다. 

 

join과 view에 대한 얘기를 해보자

 

-> dbms 


DBMS 55일차 


 

728x90
반응형

'수업 일지 > Servlet' 카테고리의 다른 글

인증 서블릿 필터  (0) 2021.05.29
54일차. Servlet 16 - ★CRUD (1)  (0) 2021.05.06
Servlet 페이지들 관계 정리  (0) 2021.05.05
38일차. Servlet 6  (0) 2021.04.13
서버 ↔ 브라우저 요청 정리  (0) 2021.04.12

관련글 더보기