본문 바로가기

웹 개발 한걸음

(61)
[Servlet] 게시물 삭제 구현하기 ** 이전에 JSP로 만들었던 코드를 이용해 이를 서블릿으로 구현해보았다. [JSP] 13강 Part2 - 게시글 삭제 본 포스팅은 정보 제공용이 아닌 유튜브 동빈나님의 JSP 게시판 만들기 강좌 13강을 바탕으로 보고 배운 것을 직접 정리해본 포스트 입니다. ** 간략 프로세스 view.jsp 삭제버튼-> deleteAction.jsp -> bbsD egu99.tistory.com 글의 삭제는 레코드의 완전 삭제가 아닌 이용불가 상태, 즉 bbsAvailable이 0인 상태로 업데이트 하는 식으로 수정하였다. 따라서 수정과 삭제는 거의 흡사한 코드를 가졌다. 이번에도 제 3자가 글을 지울 수 없게끔 하였다. ** deleteControl.java - doGet() @WebServlet("/delete"..
[Servlet] 게시물 수정 구현하기 ** 이전에 JSP로 만들었던 코드를 이용해 이를 서블릿으로 구현해보았다. 글의 삭제는 레코드의 완전 삭제가 아닌 이용불가 상태, 즉 bbsAvailable이 0인 상태로 업데이트 하는 식으로 수정하였다. 따라서 수정과 삭제는 거의 흡사한 코드를 가졌다. 게시물 관리에 들어오니 게시물 권한이 있는 회원인지 인증하는 것이 중요함을 새삼 느꼈다. post 방식에는 큰 문제는 없었으나 get방식에서 특히 이런 보안이 취약한듯하다. 제 3자가 쿼리스트링만으로 글을 삭제할 수 없게끔 세션 정보를 확인하도록 해주었다. 다만, 지금까지처럼 세션 확인을 사용자 인증이 필요한 모든 컨트롤러에서 해주어 같은 코드가 너무도 많은듯하다. 왠지 서블릿 필터가 이걸 해결 해줄 수 있을 것 같은데 일단 이걸 마무리 하고 시도해봐야..
[Servlet] 상세 페이지 구현하기 ** 이전에 JSP로 만들었던 코드를 이용해 이를 서블릿으로 구현해보았다. [JSP] 12강 - 상세 페이지 구현 + 특수 문자 처리 본 포스팅은 정보 제공용이 아닌 유튜브 동빈나님의 JSP 게시판 만들기 강좌 12강을 바탕으로 보고 배운 것을 직접 정리해본 포스트 입니다. ** 아마 상세 페이지가 가장 쉽지 않나 싶다. 특수 문 egu99.tistory.com JSP 때에 비해 이번에는 예외처리를 생각해보고 코드를 추가했다. view는 먼저 이용불가, 즉 bbsAvailable이 0인 게시글은 열람할 수 없게 해야한다. 하지만 기존에는 url에 쿼리스트링으로 접근하면 열람이 가능했는데 새로운 메서드를 만들어 이를 불가능하게 만들었다. 또 등록되지 않은 글의 bbsID값으로 접근시에도 돌려보내야하며, b..
[Servlet] JSTL의 조건문으로 HTML 조건처리 하기 (수정) ** 이전까지 jsp프로젝트에서 로그인 여부에 따라 로그인 버튼이 보일지 로그아웃 버튼이 보일지를 자바 코드 블럭을 이용하여 조건 처리하였는데 JSP에서 자바 코드 블럭 완전히 빼기 위해서 JSTL을 이용해 로그인 여부를 확인하고 조건 처리를 하려고 한다. ** 될까 안될까 싶어서 나중으로 미뤘는데 생각해보니 너무 쉬운 문제여서 호다닥 바꿨다. ** EL에서 Scope가 빠져있었다. 꼭 넣어줘야 범위 설정이 된다. ** 기존 자바 코드 블럭을 이용한 html 조건 처리 접속하기 로그인 회원가입 회원관리 로그아웃 코드블럭으로 세션을 확인하고 코드블럭으로 조건처리를 하였는데 코드블럭을 아예 빼기 위해 JSTL을 사용할 것이다. ** JSTL 조건문을 이용한 html 조건 처리 접속하기 로그인 회원가입 회원관..
[Web] Forward와 Redirect 차이점을 알아보자 ** 프로젝트 만들다가 문득 forward와 redirect가 각각 어떤 차이가 있는지 제대로 알고있지 않은 듯하여 정리해보았다. ** 웹에서 페이지 전환 방식에는 forward와 redirect 이렇게 2가지가 있다. *** 사례를 빗대어 forward와 redirect의 감을 잡아보자. 여기서 고객은 클라이언트, 123번은 URL이며, 상담원은 서버이다. ** 첫번째 사례(redirect) 1) 고객이 123번으로 고객센터 상담원에게 전화를 건다. 2) 상담원은 고객에게 "고객님 해당 문의 사항은 124번으로 다시 문의 해주시겠어요?" 3) 고객은 다시 124번으로 문의하여 일을 처리한다. ** 두번째 사례(forward) 1) 고객이 123번으로 고객센터 상담원에게 전화를 건다. 2) 상담원은 해당..
[Servlet] 글쓰기 구현하기(수정) ** 이전에 JSP로 만들었던 코드를 이용해 이를 서블릿으로 구현해보았다. [JSP] 10강 - 글쓰기 기능 구현 본 포스팅은 정보 제공용이 아닌 유튜브 동빈나님의 JSP 게시판 만들기 강좌 10강을 바탕으로 보고 배운 것을 직접 정리해본 포스트 입니다. ** 이번 강좌에선 글쓰기 기능을 구현해보았다. 따라 egu99.tistory.com 글쓰기 자체는 간단하지만 현재 제목과 글내용 밖에 없다. 여기에 첨부파일 또한 가능하도록 추가가 필요할 것 같다. 그리고 앞선 과정에서도 그러하듯 자바스크립트 작업을 빠르게 해야할 것 같다. 현재는 서블릿 작동에 중점을 두었다. (수정) 생각해보니 doPost부분에는 쿼리스트링으로 접근을 할 수 없으므로 doPost가 아닌 doGet에서 보안 예외처리를 해주는 것이 맞..
[Servlet] 게시판 목록 구현하기 ** 이전에 JSP로 만들었던 코드를 이용해 이를 서블릿으로 구현해보았다. [JSP] 11강 - 게시글 목록 구현 본 포스팅은 정보 제공용이 아닌 유튜브 동빈나님의 JSP 게시판 만들기 강좌 11강을 바탕으로 보고 배운 것을 직접 정리해본 포스트 입니다. ** 페이징은 정말 무척 다양한 코드들이 많은 것 같다. egu99.tistory.com 다음버튼 이전버튼만 있었을 때와는 다르게 페이지 번호도 보이게 구현하였고 이를 위해서 JSP의 EL과 JSTL을 사용하였다. 이전 게시글들도 EL과 JSTL을 적용해서 곧 수정 예정이다. 페이지에 맞는 게시물을 가져오는 sql문을 작성할 때도 쪼금 애를 먹었다. 페이징은 역시 좀 어렵다. ** 간략 프로세스 게시판에 접근 -> bbsControl에서 -> pageN..
[Servlet] 회원가입 구현하기 ** 이전에 JSP로 만들었던 코드를 이용해 이를 서블릿으로 구현해보았다. 서블릿에서는 코드가 조금 변경되었다. [JSP] 6강 - 회원가입 기능 구현 본 포스팅은 정보 제공용이 아닌 유튜브 동빈나님의 JSP 게시판 만들기 강좌 6강을 바탕으로 보고 배운 것을 직접 정리해본 포스트 입니다. 회원가입 기능 역시 로그인 기능과 크게 다르지 않아 egu99.tistory.com ** 간략 프로세스 -> 회원가입 버튼 -> JoinControl의 doGet에 의해 join.jsp로. -> (이 때 로그인 되어있는 상태라면 join.jsp 이동 전에 제지 당함) -> 가입 양식 작성. -> 작성한 양식 form이 post방식으로 joinControl의 getPost로. -> 넘겨받은 양식을 인자로 UserDAO의..