목록spring (16)
today_is

오늘의 목표프로젝트에서 사용해봤던 mail 보내기 과정을 정리해보겠다 먼저 설정해주어야할 작업 1) 프로젝트 내에서 바로 id, password 를 임의로 작성해줄 것이기 때문에편의성을 위해서는 2차인증을 "해제" 해두자. 2) 네이버 메일 -> 환경설정 -> POP3/IMAP 설정에서, POP3/SMTP 설정 , IMAP/SMTP 설정 둘다 사용함으로 체크해둔 후, "저장"해두자. 꼭, 네이버가 아니더라도2번에서 언급한 환경설정만 해둔다면 메일 보내기 가능하다 3) 프로젝트에 필요한 설정들 해주기 pom.xml : 의존성 추가( ... 중략 ...) org.springframework spring-websocket ${org.springframework-version} ..

오늘의 목표 웹소켓으로 다른 사람과 채팅을 해보자. STOMP STOMP는 Simple Text Oriented Messaging Protocol의 약자이다. 간단한 메시지를 전송하기 위한 프로토콜로 메시지 브로커를 publisher - subscriber 방식을 사용한다. 메시지의 발행자와 구독자가 존재하고 메시지를 보내는 사람과 받는 사람이 구분되어 있다. 메시지 브로커는 발행자가 보낸 메시지를 구독자에게 전달해주는 역할을 한다. STOMP는 HTTP와 비슷하게 frame 기반 프로토콜 command, header, body로 이루어져 있다. 설정 파일 servlet-context.xml: prefix 지정하기 ( web socket message broker prefix / web socke..

오늘의 목표 웹소켓으로 간단한 메모장을 만들어보자 Ajax 와 Web socket 의 차이 : 연결의 지속성에 따라 둘을 구분한다 클라이언트와 서버가 통신할 때 HTTP 통신을 주로 사용한다. HTTP 통신은 다음과 같은 특징이 있다. 비연결성 (connectionless) : 연결을 맺고 요청을 하고 응답을 받으면 연결을 끊어버린다. 무상태성 (stateless) : 서버가 클라이언트의 상태를 가지고 있지 않는다. 단방향 통신이다. 이러한 HTTP 통신의 경우 채팅과 같은 실시간 통신에 적합하지 않다. 물론 HTTP 통신으로 실시간 통신을 흉내낼 수는 있으나 완벽하지는 않다. 실시간 통신이 필요할 때 사용하는 통신을 소켓 통신이라고 한다. HTTP 통신과 다르게 연결을 맺고 바로 끊어버리는 게 아니라 ..

오늘의 목표 같은 형식의 테이블 구조를 가지고 있는두개 이상의 컴퓨터 DB의 내용을 공유해보자 home.jsp 미리 const urls 에 DB데이터를 전달받고 싶은 ip주소를 기입해둔다 !! 지금은 나와 같은 실습 중인 컴퓨터들의 DB데이터를 보는 경우이기 때문에 프로젝트명까지 똑같이 기입해주자 !! ( /day13/schedules ) 유의할 점 : 콜백함수가 계속 중첩되면 관리하기 힘들다 ! 콜백함수란, 다른 함수에 전달되는 함수day13 일정 추가하기 일정 추가 localhost 나 7번 자리 24번 자리 function.js // HTML 문서를 불러오지 않아도 설정할 수 있는 전역변수 및 함수 정의..

오늘의 목표 공공데이터 포털에 있는 json 데이터를 HashMap 으로 mapping 해서 출력해보자 프로젝트 구조 home.jsp : 시작 페이지, a 태그를 이용하여 페이지 이동day09JSON : JavaScript Object Notation자바스크립트에서 객체를 표현하는데 사용하는 문법 ex01 - 부산 축제 정보 서비스 연습 ex02 - 부산 축제 정보 서비스 (AJAX) ex01.jsp : json 파일을 자바 객체로 변환하여 출력하기 ex01 - JSON을 자바 객체로 변환하여 출력하기 JS로 처리하기 ${dto.UC_SEQ }. ${dto.TITLE } (${dto.GUGUN_NM }) ${dto.HOMEPAGE_URL } 상세보기 ${dt..

오늘의 목표코드를 적다보면 발생하는 예외들이 많다. 예외를 처리하거나, 전가하여서 에러를 막아보자. NullpointerException 예외를 만들어보기 에러 뜨는 이유 date 변수에 null 을 넣고 SimpleDateFormat 함수를 사용한다 한들, null 이다 null이 담겨있는 today 변수를 호출하면 NullpointerException 에러가 뜬다 해결방법 1 ) try ~ catch 콘솔창에 에러에 대한 메시지를 띄워서 에러를 알리자. 예외처리에는 try, catch, finally 가 있다. try {일반, 실행 예외 발생 가능 코드 } catch {try에서 예외가 발생하면 처리할 구문} finally {예외 발생과는 관계 없이..
오늘의 목표product 테이블을 만들어서 간단하게 상품관리, 매출 등을 볼 수 있는 페이지를 만들어보자 1 테이블로 구성해야 하는 항목 : CRUD 작업의 대상 1) 상품 테이블 (Product) 2) 매출 테이블 (Sales) 2 각 테이블에 대한 스키마(뼈대)를 구성 상품테이블상품번호(primary key)상품명이미지단가수량NUMBERVARCHAR2VARCHAR2NUMBERNUMBER (default 0) 매출테이블매출번호(primary key)날짜상품번호(foreign key)판매수량NUMBERDATENUMBERNUMBER 3 각 테이블에 대해서 구현할 CRUD기능 상품테이블기능설명insert상품 등록select상품 조회 (전체 목록 / 단일 ..
오늘의 목표json 와 ajax 에 대해서 알아보고, ajax 전용 컨트롤러인 @RestController를 사용해보자.JSON: javaScript Object Notation 자바스크립트 토대로 개발되었으며, 여러 프로그래밍언어에도 사용할 수 있는 독립형 언어이다. 데이터 객체의 형태는 속성 - 값 쌍 형태 주로, 웹 브라우저와 웹 서버간 비동기 통신, 데이터 교환 등에 사용된다 home.jspday10 ex01 - ajax(1) 정수반환 ex02 - ajax(2) 문자열 반환 ex03 - ajax(3) map 반환 ex04 - ajax(4) List< DTO 반환(DB 이용 O) Ex01Controller: 일반적인 스프링 컨트롤러 함수는 viewName을 반환해서, JSP로 포워딩 혹..