목록Spring (26)
개(발)린이

이번엔 스프링 이용 소켓통신을 구현해보겠다. 먼저 pom.xml에서 dependency를 추가해준다. org.springframework spring-websocket ${org.springframework-version} com.fasterxml.jackson.core jackson-databind 2.9.8 websocket을 추가해주고 jackson은 무엇인가 하면 Java Object를 JSON으로 변환하거나 JSON을 Java Object로 변환하는데 사용할 수 있는 라이브러리 이다. 스트림 방식이므로 속도가 빠르며 유연하며 다양한 third party 데이터 타입을 지원하며 annotation 방식으로 메타 데이터를 기술할 수 있으므로 JSON 의 약점중 하나인 문서화와 데이터 validati..

이번엔 수행되는 메서드, 예외, 리턴값, 처리시간, 접속 ip를 로그로 찍어보는 기능을 구현해보자. BeforeAspect라는 클래스를 생성해주고 Componetn, Aspect 어노테이션을 작성해주자 그리고 logger객체 생성성 @Component @Aspect public class BeforeAspect{ private Logger logger = LoggerFactory.getLogger(BeforeAspect.class); // 로거는 sl4j를 import해주어야함. } 다음은 serviceStart메서드를 만들어주고 매개변수로 JoinPoint jp를 넣어주는 여기서 JoinPoint란 인터페이스로 advice가 적용되는 Target Object (ServiceImpl)의 정보, 전달되는 ..

aop에 대해 알아보자 AOP란 관점 지향 프로그래밍으로 일반적으로 사용하는 클래스 에서 중복되는 공통 코드 부분을 변도의 영역으로 분리해내고 코드가 실행 되기 전이나 이 후의 시점에 해당 코드를 붙혀 넣음으로써 소스 코드의 중복을 줄이고 필요할 때마다 가져다 쓸 수 있게 객체화하는 기술이다. - 공통되는 부분을 따로 빼내어 작성하는 메소드를 Advice라고 하고 Advice를 적용될 수 있는 모든 관점을 JoinPoint, JoinPoint 중 실제 Advice를 적용할 부분을 Pointcut 그리고 그 시점에 공통 코드를 끼워 넣는 작업을 Weaving이라고 한다. pom.xml에 들어가보면 org.aspectj aspectjrt ${org.aspectj-version} org.aspectj aspe..
이번 시간엔 게시글을 작성하고 DB에 저장하는 것 까지 구현 해본다. 먼저 jsp파일을보자 거두절미하고 버튼부분만 본다면 글쓰기 버튼을 눌러서 이동하고자 하는 jsp는 boardWriteForm 이다. 글쓰기 주소를 보면http://localhost:8080/comm/board/write/3?mode=insert&cp=1 이고 게시판 목록 주소는(현재주소) http://localhost:8080/comm/board/list/3 이다 게시글 작성 페이지로 가기 위해선 한단계 위로 올라가서 board/... 이런식으로 가야한다 그래서 버튼에 onclick속성을 넣어서 ../write/${boardcode}(공지사항1, 자유게시판 2, 질문게시판3)?mode=insert(게시글 삽입모드 or 수정모드를 쿼리스..

이번엔 스케줄러에 대해 알아본다. 스케줄러 : Spring에서 제공하는 스케줄러는 시간에 따른 특정 작업의 순서를 지정하는 방법이다. 우선 설정부터 해보자 먼저 spring 폴더에 있는 servlet-context.xml 파일에 들어가보자 실행 후에 Source옆에 Namespaces 탭을 클릭하면 처음엔 task 체크박스에 체크가 안되어있을건데 안되어있다면 체크를 해주자 그후엔 태그안에 을 작성해준다 주석에 쓰인바와 같이 @Scheduled 어노테이션 인식을 위해 태그를 추가한 것이다. 이제 준비는 끝났고 테스트를 해보기 전에 @Scheduled의 속성에 대해 알아보자 - fixedDelay : 이전 작업이 끝난 시점으로 부터 고정된 시간(ms)을 설정. - fixedRate : 이전 작업이 수행되기 ..

이번시간은 쿠키를 이용해서 게시글 조회 시 조회 수가 올라가는 기능을 구현해본다. 먼저 BoardController 클래스이다. @GetMapping("/detail/{boardCode}/{boardNo}") public String boardDetail(@PathVariable("boardCode") int boardCode, @PathVariable("boardNo") int boardNo, @RequestParam(value = "cp", required = false, defaultValue = "1") int cp, Model model, HttpSession session, HttpServletRequest req, HttpServletResponse resp ) { @PathVariable은..

우선 currentPage가 잘 작동하게끔 코드를 수정한다. boardList.jsp이다 이로서 페이지네이션은 작동한다. 잘 작동되는 모습을 볼 수 있다. 게시글 상세조회를 해보자 우선 boardList.jsp에 링크를 고쳐보자 ${board.boardNo} ${board.boardTitle} ${board.memberNickname} ${board.createDate} ${board.readCount} 게시판을 들어가면 board/list/{boardCode}를 보고 있다. 게시글을 클릭하면 한단계 위로 올라가서 board/detail/1/300?cp=1으로 이동해야하므로 링크 url을 바꾼다. 다음엔 BoardController 클래스로 가서 메소드를 만들어 준다. @GetMapping("/detai..