Spring
[25] REST 방식과 Ajax를 이용하는 댓글 - Ajax 댓글 처리 3
4. JavaScript 준비 JSP 내에서 댓글에 대한 처리는 하나의 페이지 내에서 모든 작업이 이루어지기 때문에 조금 복잡하게 느껴지는 것이 사실이다. 또한 기존과 달리 JavaScript와 동적으로 만들어지는 HTML로 처리하기 때문에 각 단계를 주의해서 작성해야 한다. 4-1. JavaScript의 모듈화 화면에서 사용되는 jQuery는 막강한 기능과 다양한 플로그인을 통해서 많은 프로젝트에서 기본으로 사용된다. 특히 Ajax를 이용하는 경우에는 jQuery의 함수를 이용해서 너무나 쉽게 처리할 수 있기 때문에 많이 사용한다. 화면 내에서 JavaScript 처리를 하다 보면 어느 순간 이벤트 처리와 DOM 처리, Ajax 처리 등이 마구 섞여서 유지보수 하기 힘든 코드를 만드는 경우가 많다. 이..
[24] REST 방식과 Ajax를 이용하는 댓글 처리 - Ajax 댓글 처리 2
2-4. @Param 어노테이션과 댓글 목록 댓글의 목록과 페이징 처리는 기존의 게시물 페이징 처리와 유사하지만, 추가적으로 특정한 게시물의 댓글들만을 대상으로 하기 때문에 추가로 게시물의 번호가 필요하게 된다. MyBatis는 두 개 이상이 데이터를 파라미터로 전달하기 위해서는 1) 별도의 객체로 구성하거나, 2) Map을 이용하는 방식, 3) @Param을 이용해서 이름을 사용하는 방식이다. @Param의 속성값은 MyBatis에서 SQL을 이용할 때 '#{}'의 이름으로 사용이 가능하다. 페이징 처리는 기존과 동일하게 Criteria를 이용한다. 여기에 추가적으로 해당 게시물의 번호는 파라미터를 전달하도록 ReplyMapper를 구성한다. 1) ReplyMapper 인터페이스 public List ..
[23] REST 방식과 Ajax를 이용하는 댓글 처리 - Ajax 댓글 처리
REST 방식을 가장 많이 사용하는 형태는 역시 브라우저나 모바일 App 등에서 Ajax를 이용해서 호출하는 것이다. 예제에서는 Ajax 호출을 가정하고 웹페이지에서 사용하는 댓글 기능을 작성해 보도록 한다. 데이터 베이스 상에서 댓글은 전형적인 1:N 의 관계로 구성한다. 하나의 게이물에 여러 개의 댓글을 추가하는 형태로 구성하고, 화면은 조회 화면상에서 별도의 화면 이동 없이 처리하기 때문에 Ajax를 이용해서 호출한다. 1. 프로젝트의 구성 기본적인 웹 게시물 관리에서 만들었던 ex02 프로젝트를 그대로 복사하여 붙여넣고 pom.xml 등의 설정을 같게 한다! 2. 댓글 처리를 위한 영속 영역 댓글을 추가하기 위해서 댓글 구조에 맞는 테이블을 설계한다. 댓글 테이블은 tbl_reply라는 이름의 테..
[22] REST 방식과 Ajax를 이용하는 댓글처리 - REST 방식으로 전환
과거에는 서버의 데이터를 소비하는 주체가 '브라우저'라는 특정한 애플리케이션으로 제한적이었다면, 모바일의 시대가 되면서 앱에나 웹은 서버에서 제공하는 데이터를 소비하게 된다. 과거의 서버는 브라우저라는 하나의 대상만을 상대로 데이터를 제공했기 때문에 아예 브라우저가 소화 가능한 모든 데이터를 HTML이라는 형태로 전달하고, 브라우저는 이를 화면에 보여주는 역할을 해 왔다. 스마트폰에서는 앱이라 불리는 고유한 애플리케이션을 이용해서 데이터를 소비하게 되고, 보이는 화면 역시 자신만의 방식으로 서비스하게 된다. 앱에서 서버에 기대하는 것은 완성된 HTML이 아니라 그저 자신에게 필요한 순수한 데이터만을 요구하게 되었다. 이처럼 서버의 역할은 점점 더 순수하게 데이터에 대한 처리를 목적으로 하는 형태로 진화하..
[21] 기본적인 웹 게시물 관리 - 검색처리
1. 검색 기능과 SQL 게시물의 검색 기능은 다음과 같이 분류 가능하다. 제목/내용/작성자와 같이 단일 항목 검색 제목 or 내용, 제목 or 작성자, 내용 or 작성자, 제목 or 내용 or 작성자와 같은 다중 항목 검색 검색 항목은 제목/내용/작성자와 같은 단일 항목 검색과 제목 or 내용과 같이 복합적인 항목으로 검색하는 방식이 존재한다. 게시물의 검색이 붙으면 가장 신경 쓰이는 부분은 역시 SQL 쪽이다. 오라클은 페이징 처리에 인라인뷰를 이용하기 때문에 실제로 검색 조건에 대한 처리는 인라인뷰 내부에서 이루어져야 한다. 단이 항목의 검색은 검색 조건에 따라서 칼럼이 달라지고, LIKE 처리를 통해서 키워드를 사용하게 된다. 만일 2페이지에 해당하는 데이터를 '제목'으로 검색하고 키워드는 'Te..
[20] 기본적인 웹 게시물 관리 - 페이징 화면 처리
URL의 파라미터를 이용해서 정상적으로 원하는 페이지로 이동하는 것을 확인했다면, 화면 밑에 페이지 번호를 표시하고 사용자가 페이지 번호를 클릭할 수 있기 처리한다. 페이지를 보여주는 작업은 다음과 같은 과정을 통해서 진행한다. 브라우저 주소창에서 페이지 번호를 전달해서 결과를 확인하는 단계 JSP에서 페이지 번호를 출력하는 단계 각 페이지 번호에 클릭 이벤트 처리 전체 데이터 개수를 반영해서 페이지 번호 조절 페이지 처리는 단순히 링크의 연결이기 때문에 어렵지는 않지만, 목록페이지에서 조회 페이지, 수정 삭제 페이지 까지 페이지 번호가 계속해서 유지되어야만 하기 때문에 끝까지 신경 써야 하는 부분들이 많은 편이다. 1. 페이징 처리할 때 필요한 정보들 화면에 페이징 처리를 하기 위해서는 우선적으로 여러..