아니 벌써 6번째 게시글이네요.. 처음에 따라하면서 직접 코드치고하니 오류가 뿜뿜터지고 오타도 팡팡터져서 엄청 오래걸렸는데... 

확실히 두 번째가 첫 번째보단 편하네요 Model 1도 이 게시글이 마지막입니다~ 하하하

정말 대충 휘갈겨쓴 글이라 나중에 제가 봐도 시간이 오래 걸릴 듯하네요. 





이제 얼핏 게시판 같은 게시판 같지않은 게시판이 되어가고 있네요.

이번 글에서는 게시글 조회와 삭제기능을 만들어 보겠습니다.


먼저 리스트에서 제목에 링크를 걸고 게시글 조회로 이동하는 걸로 생각해봅시다.

리스트에서 게시글조회로 넘어 갈 때 어떤 정보들을 넘겨야 해당 게시글을 볼 수 있을까요?

DB에서 중복이 되지 않는 값이라고 하면 idx밖에 없겠죠? 그럼 idx값을 넘기면 해당 게시글을 볼 수 있겠죠!

idx를 찾으러 떠납시다.

list.jsp에서 출력을할 때 rs.getString(1)이 바로 idx에 해당하는 값이죠.

근데 rs.getString(1)은 정말 가독성이 떨어져요. rs.getString("컬럼명")으로도 가능하답니다.

위의 사진을 보면 기존의 것보다 좀 더 가독성이 올라간 것을 확인할 수 있습니다. 그런데 중간에 좀 더 바뀌었죠?

<a href='content.jsp'> </a>구문이 추가되었습니다. title을 클릭하게 되면 content.jsp로 넘어가게 만든 것이죠.

이대로 실행을하고 title을 클릭하면 당.연.히 404 Not Found 에러가 뜹니다. 당연하죠 우린 content.jsp를 안만들었으니까요.

그전에 우린 어떻게 idx값을 넘겨줄것인지 생각해보아야 하는데요. 이 때 사용하는 것이 파라미터 넘기는 방식중 하나인 GET방식이 등장합니다.

GET 방식은 www.jmoon.co.kr/?name=Yes&value=No 형태를 가지며 URL끝에 " ? "를 추가하고 name=YES 형식으로 넘기며

&를 붙여 다수의 파라미터를 넘길 수 있습니다. 

그럼 이번 경우에는 content.jsp?idx="글번호"가 되겠죠. 그럼 이것에 맞게 수정을 해봅시다.

WOW ! idx값이 넘어간 것을 확인 할 수 있습니다. 하지만 404 Not Found가 뜨네요. 이제 content.jsp를 만들어 봅시다.

content.jsp는 기존과 비슷합니다 안보고 짜보시고 보는 것을 추천드립니다.



이제 삭제를 만들어보아야겠죠?

기존의 소스코드와 매우 유사합니다.

delete.jsp를 만들고 한번 짜보세요.

실행 모습


이렇게 짜면 삭제를하고 또다시 뒤로가기를 누르면 똑같은 idx가 또 삭제되는 경우가 발생합니다. 이럴 경우를 대비해서 redirect.jsp를 만들어 redirect시킴으로써 다시 발생하지 못하도록 합니다. redirect.jsp를 만들고 안에는 아래 문구를 넣읍시다

<script>

alert("게시글이 지워졌습니다!!")

location.href=list.jsp";

</script>


그리고 Delete.jsp에 있는  location.href="redirect.jsp" 로 바꿔줘야겠죠??



그럼 끝입니다! Model1이 다 끝났어요!!

count 변수를 추가했지만 작동하지 않고 부족한 칼럼들도 있고 보안적이나 성능적인 측면에서 매우 미흡하네요.

그리고 model1 방식의 게시판은 소스의 가독성이나, 팀으로 작업할 경우 작업의 분업이 원활하지 못합니다.

그래서 model2라는 방식이 생겨났다고 해요.

자세한 내용은 다음 글에서 뵙도록 하겠습니다.


그럼 여기까지 제가 짠 소스코드를 올려드리겠습니다. DB 계정이나 변수 값등이 좀 다를 수도 있으니 참고하시길 바랍니다.

JSP_Model1.zip



+ Recent posts