본문 바로가기

728x90
반응형

Java

[코드로 배우는 스프링 웹 프로젝트] ch17 Ajax 댓글 처리 5 (댓글의 목록, 삭제 및 갱신, 수정, 조회 처리) https://bobo12.tistory.com/320 (3) 댓글의 목록 처리 ▷ http://localhost:8080/replies/pages/2005745/1, http://localhost:8080/replies/pages/2005745/1.json 형태로 데이터 먼저 확인 가능 ◎ getJSON() 사용 ▷ reply.js에서는 Ajax 호출을 담당하므로, jQuery의 getJSON()을 이용해서 처리할 수 있음 ◎ reply.sp 수정 console.log("Reply Module........"); var replyService = (function(){ ...(생략)... function getList(param, callback, error){ var bno = param.bno; v.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch17 Ajax 댓글 처리 4 (JavaScript의 모듈화) https://bobo12.tistory.com/319 4. JavaScript 준비 ▷ JSP 내에서 댓글에 대한 처리는 하나의 페이지 내에서 모든 작업이 이루어지기 때문에 복잡하게 느껴짐 ▷ 기존과 달리 JavaScript와 동적으로 만들어지는 HTML로 처리하므로 각 단계를 주의해서 작성해야 함 (1) JavaScript의 모듈화 ▷ 화면에서 사용되는 jQuery는 막강한 기능과 다양한 플러그인을 통해 많은 프로젝트에서 기본으로 사용 ▷ Ajax를 이용하는 경우 jQuery의 함수를 이용해 쉽게 처리할 수 있기 때문에 많이 사용 ▷ 화면 내 JavaScript 처리를 하다보면 이벤트 처리, DOM 처리, Ajax 처리 등이 섞여 유지보수 하기 힘든 코드가 생김 ▷ JavaScript를 하나의 모듈처.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch17 Ajax 댓글 처리 3 (ReplyController를 이용한 CRUD) https://bobo12.tistory.com/318 3. 서비스 영역과 Controller 처리 ▷ 서비스 영역과 Controller 처리는 기존의 BoardService와 동일하게 ReplyService 인터페이스, ReplyServiceImpl 클래스 작성 ◎ ReplyService 인터페이스 생성 package org.codehows.service; import java.util.List; import org.codehows.domain.Criteria; import org.codehows.domain.ReplyVO; public interface ReplyService { public int register(ReplyVO vio); public ReplyVO get(Long rno); publ.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch17 Ajax 댓글 처리 2 (조회, 수정, 삭제) https://bobo12.tistory.com/317 ◎ 조회(read) 1. ReplyMapper 인터페이스 내용 추가 public interface ReplyMapper { public int insert(ReplyVO vo); public ReplyVO read(Long rno); // 특정 댓글 읽기 }​ 2. ReplyMapper.xml 내용 추가 select * from tbl_reply where rno = #{rno} ​ 3. ReplyMapperTests 클래스 @Test public void testRead() { Long targetRno = 5L; ReplyVO vo = mapper.read(targetRno); log.info(vo); }​ 실행시 아래와 같은 결과가 나타나는 것.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch17 Ajax 댓글 처리 1(Ajax, 게시물 등록) ◎ Ajax 댓글 처리 ▷ REST 방식을 가장 많이 사용하는 형태는 브라우저나 모바일 App 등에서 Ajax를 이용해 호출하는 것 ▷ 데이터베이스 상에서 댓글은 전형적인 1:N의 관계로 구성 ▷ 하나의 게시물에 여러 개의 댓글을 추가하는 형태로 구성하고, 화면은 조회 화면상 별도의 화면 이동 없이 처리하기 때문에 Ajax를 이용해 호출 1. 프로젝트의 구성 ▷ REST 처리를 위해서 pom.xml에서 수정된 내용이 대부분이므로 ex02에서 사용된 'src/main/java' 폴더 아래 모든 Java 코드를 그대로 복사해서 사용 2. 댓글 처리를 위한 영속 영역 ▷ 댓글 추가 위해 댓글 구조에 맞는 테이블 설 create table tbl_reply( rno number(10,0), bno number(.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch16 REST 방식으로 전환 3(@RestController, 테스트 방법) https://bobo12.tistory.com/315 3. @RestController에서 파라미터 ▷ @Controller에서 사용하던 일반적인 타입이나 사용자가 정의한 타입(클래스)을 사용 ▶ @PathVariabel : 일반 컨트롤러에서도 사용이 가능하지만 REST 방식에서 자주 사용 됨 URL 경로의 일부를 파라미터로 사용할 때 이용 ▶ @RequestBody : JSON 데이터를 원하는 타입의 객체로 변환해야 하는 경우 주로 사용 (1) @PathVariable ▷ REST 방식에서는 URL 내에 최대한 많은 정보를 담으려고 노력함 ▷ '?' 뒤에 추가되는 쿼리 스트링이라는 형태로 파라미터 전달되던 데이터들이 REST 방식에서는 경로의 일부로 차용되는 경우가 많음 ▷ @PathVariable .. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch16 REST 방식으로 전환 2(JSON, XML, 객체 반환, ResponseEntity) https://bobo12.tistory.com/314 (2) 객체의 반환 ▷ JSON, XML을 이용함 ◎ src/main/java/org.codehows.domain → SampleVO 클래스 생성 package org.codehows.domain; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class SampleVO { private Integer mno; private String firstName; private String lastName; } 비어 있는 생성자를 만들기 위한 @NoArgsC.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch16 REST 방식으로 전환 1(@RestController) ◎ REST(Representational State Transfer) ▷ URI는 하나의 고유한 리소스(Resource)를 대표하도록 설계된다는 개념에 전송방식을 결합해 원하는 작업 지정 ▶ '/boards/123'은 게시물 중 123번이라는 고유한 의미를 가지도록 설계 ▶ GET, POST 방식과 같이 추가적인 정보를 통해 결정 ▷ 스프링의 REST 방식의 데이터 처리를 위한 여러 종류의 어노테이션과기능이 있음 NO 어노테이션 기능 1 @RestController Controller가 REST 방식을 처리하기 위한 것임을 명시합니다. 2 @ResponseBody 일반적인 JSP와 같은 뷰로 전달되는 게 아니라 데이터 자체를 전달하기 위한 용도 3 @PathVariable URL 경로에 있는 값을 파라.. 더보기

728x90
반응형