본문 바로가기

programing/Java8

[Spring] Tomcat 세션 - HTTP프로토콜은 비접속형, 비연결지향성(TCP임에도) 프로토콜이기 때문에 매 접속마다 새로운 네트워크 연결이 이루어진다. 그래서 서버는 클라이언트의 이전 상태를 기억하기위해 세션을 사용한다. - 보통 웹 어플리케이션에서 세션을 이용해서 로그인 정보의 상태를 유지할 수 있게 한다. - 톰캣은 사용자가 로그인하지 않아도 통신할 때 response로 JSESSIONID 쿠키 값을 브라우저에 내려준다. - 쿠키는 포트를 구분하지 않기 때문에 포트를 분리하여도 같은 서비스로 인식하여 로컬에 저장되어 있는 쿠키를 서버로 전송하여 JSESSIONID가 충돌되게 된다. - 같은 IP 내 다른 포트의 서비스의 JSESSIONID의 충돌을 방지하려면 세션 쿠키 이름을 정해주면 된다. ( Spring에서는 applic.. 2019. 4. 4.
Java에서의 Lamda - 인터페이스함수 자료형에 해당하는 인터페이스// 인터페이스 public interface FuncInterface { public void func(String param); } - 호출receive라는 메소드의 인자로 인터페이스 객체를 받아 그 인터페이스 객체 에서 함수를 호출하여 사용 public void receive(FuncInterface interface) { interface.Func("param"); } - 1. 인터페이스 함수 정의인터페이스 객체를 만들면서 함수를 정의receive( new FuncInterface(){ public void func(String param){ do(param); } } ); - 2. Lamda람다 표현식으로 바꾸면 간단히 표현 가능receive( par.. 2019. 1. 10.
[Spring] JSON maven com.google.code.gson gson 2.8.5 String to JSON String sData; JsonParser parser = new JsonParser(); JsonObject jsonObj = (JsonObject) parser.parse(sData); cf. 받은 String 데이터를 Paser로 JsonObject로 만들고 JsonObject내에서 키 값으로 해당 값을 꺼낼때문자열 데이터 일 경우 toString() 시켜 버리면 양쪽에 쌍따옴표(\")문자를 달고 나오므로 getAsString() 메소드를 이용해야 한다. 2019. 1. 10.
[Spring] RestTemplate.postForObject() maven commons-httpclient commons-httpclient 3.1 org.apache.httpcomponents httpclient 4.5.6 org.apache.httpcomponents httpasyncclient 4.1.4 java String URL = "http://localhost:8080"; MultiValueMap params = new LinkedMultiValueMap(); // body 파라미터 params.add("key", "value"); // ContentType HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity httpEn.. 2019. 1. 10.