본문 바로가기

Spring

(34)
Spring에서 웹소켓으로 알림 받기 #웹소켓 정의- 컴퓨터 네트워크용 통신 규약- (위키백과) 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜* 프로토콜→통신 프로토콜 또는 통신규약: 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계* TCP(Transmission Control Protocol, 전송조종규약): 인터넷 프로토콜 스위트(IP)의 핵심 프로토콜 →TCP/IP라는 명칭으로 널리 불림→[근거리 통신망, 인트라넷, 인터넷]에 연결된 프로그램 간에 일련의 옥탯을 안정적이며 순서대로 에러없이 교환 가능-옥텟(octet)(=바이트): 컴퓨팅에서 8개의 비트가 한데 모인 것→ 전송 계층에 위치-전송 계층(Transport layer): 계층 구조의 네트워크 구성요소와 프로토콜 내 송신자&수..
정리 #1 스프링MVC 구조 - 모델 2방식 구조: 화면과 데이터 처리를 분리해서 재사용이 가능하도록 하는 구조개발자와 웹 퍼블리셔 영역 분리뷰의 교체, 변경과 같은 유지보수에 유용문제점: 컨트롤러 사이의 중복적인 코드의 문제, 개발자의 개발 패턴의 차이→ Front Controller 방식: 전체 로직의 일부만을 컨트롤러가 처리(Delegation) 스프링 MVC가 처리URI 분석 적절한 컨트롤러 찾기컨트롤러에 필요한 메소드 호출컨트롤러 결과 데이터를 뷰로 전달적절한 뷰 찾기개발자가 처리특정 URI에 동작하는 컨트롤러를 설계서비스 객체 생성DAO 객체 생성컨트롤러 내에 원하는 결과를 메소드로 설계뷰애서 전달받은 데이터 출력---------------------------------------------------..
"쿠키를 이해하려면 세션부터 알아야 한다?" 세션과 쿠키 session(javax.servlet.http.HttpSession) (세션 == 접속) → 브라우저 URL 요청 시, 서버 각 브라우저를 식별할 수 있는 번호 부여 서버측 메모리에 저장하고 있다가 또 다른 URL 요청 시, 같은 client인지 비교→ 클라이언트에 대한 세션정보를 처리하기 위해 사용→ 비연결형 프로토콜인데 마치 연결된 것처럼 접속상태를 유지해주는 메커니즘비연결형 프로토콜 HTTP → (한 페이지가 출력된 다음에 서버와 클라이언트 연결은 끊어짐)세션의 사용용도) - 사용자 로그인 - 쇼핑몰에서 장바구니 기능 구현 - 사용자가 어떤 페이지를 다녀갔는지 웹 페이지 트래킹 기능을 구현 주요메소드) getId() - 각 접속에 대한 세션 고유의 ID를 문자열형태로 리턴. getCr..
"DTO와 VO의 차이는?" DTO vs VODTO(Data Transfer Object) VO(Value Object) 공통점: 컨트롤러에 전달되는 데이터를 수집하는 용도로 사용 차이점: DTO - 화면에서 전달되는 데이터 VO - 테이블 구조를 이용해서 전달되는 데이터
"Spring @Around 이해할 수 있나요?" AOP @Around 이해하기 - AOP 기능 클래스 @Component - 스프링의 빈으로 인식 되기 위해 설정 root-context.xml 인식할 수 있게 scan될 수 있도록 패키지 입력 @Aspect - AOP 기능을 하는 클래스를 선언@Before("execution(* com.encore.service.MsgService*.*(..))") - service 패키지 안의 MsgService 클래스 중 메소드가 실행되기 전에 실행된다 ARC에서 실행하면 controller를 거쳐서 메소드 addMsg가 실행되는데 SampleAdvice에서 startLog 메소드가 실행되고 addMsg가 실행된다. Controller에서 addMsg를 호출하고 service.addMsg(msg); 를 실행하면 M..
"Spring DAO와 Service 메소드 명은 왜 다를까?" 메소드명 짓기 서비스에서 처리해야 할 DAO 메소드가 2개 이상일 경우가 있기 때문이다 예)상품 관련 -입고 insert 재고 update 이체 관련 -보내는 사람: 출금 받는 사람: 입금 Service: 기능적인 이름을 넣어주는 것이 좋다 DAO: 실행하는 SQL(reply.xml) id 와 일치하는 것이 좋다
"Spring DTD mapper와 config 설정할 수 있을까? DTD 추가하기 Windows - Preferences - XML - XML Catalog에 들어가서 add를 누른다 Location, Alternative web address에 http://mybatis.org/dtd/mybatis-3-config.dtd를 넣어준다 Key에 -//mybatis.org//DTD Config 3.0//EN을 넣어준다 Location, Alternative web address에 http://mybatis.org/dtd/mybatis-3-mapper.dtd를 넣어준다 Key에 -//mybatis.org//DTD Mapper 3.0//EN을 넣어준다 위치는 src/main/resources 밑에 넣어준다 위치는 src/main/resources 밑에 mappers 밑에 넣어..
"내가 원하는대로 페이징 구현할 수 있을까?" -2 @RequestMapping(value="listPage", method=RequestMethod.GET) public String listPage(Criteria cri, Model model) throws Exception{ model.addAttribute("list", service.listCriteria(cri)); PageMaker pageMaker = new PageMaker(); pageMaker.setCri(cri); pageMaker.setTotalCount(service.listCount()); model.addAttribute("pageMaker", pageMaker); return "board/listPage"; }controller에서 listPage는 listCri와 비슷한 부..