Java/공부공부 (23) 썸네일형 리스트형 [JAVA/JSP] jsp include * JSP _Include웹 페이지의 특정 부분을 여러 JSP 페이지에서 공유할 때 사용. (코드 재사용)지시어 방식 / 액션 방식 두가지. 1. 지시어 방식 () - 정적포함 : 컴파일 시점에 파일 내용이 현재 jsp 파일에 직접 삽입. (서버측 실행) - 컴파일 시 처리 : 정적 포함이기 때문에 한 번 컴파일되면 변경사항이 반영되지 않음. - 동일 스코프 공유 : jsp 페이지가 병합되어 모든 변수가 같은 jsp 파일 안에 있는 것처럼 동작. - 처리 속도 : 한 번 컴파일된 jsp는 실행 속도가 빠름. 2. 액션 방식 () - 동적포함 : 페이지가 실행될 때마다 다시 읽고 포함. (클라이언트측 실행) - 실행 시 처리 : 클라이언트 요청에 의해 페이지가 실행될 때마다 파일을 다시 로.. [JAVA/JPA] CompletableFuture 자바 비동기 처리 (멀티스레드) db에서 가져온 정보(쿼리) + 외부api 서버 연결여부(비동기) serverInfo + connectionStatus위의 두가지 정보를 한번에 리턴하기 위해 CompletableFuture 클래스로 비동기 작업 진행. (서버 연결여부 확인 로직) _ http 요청 (GET) public String checkConnection(String port) { try { RestTemplate request = new RestTemplate(); String url = "http://" + host + port; String response = request.getFor.. [Java] 자바 HTTP통신 (HttpURLConnection) [ URL 설정 ]요청을 보낼 url객체 생성하고, openConnection() 메소드 호출하면해당 URL에 대한 연결 객체를 반환한다. 이 반환된 객체를 HttpURLConnection 로 캐스팅하면 네트워크 연결 준비 완료.URL url = new URL("https://example.com");HttpURLConnection con = (HttpURLConnection) url.openConnection(); // 연결 열기* 실제 네트워크 연결은 getInputStream(), getOutputStream() 메서드 호출 시점. [ 네트워크 옵션 ] (메서드, 헤더, 입출력 사용 설정)con.setRequestMethod("POST"); // "GET", "PUT", "DELETE.. [Java] 자바 HTTP 통신_GET요청 (RestTemplate) * RestTemplateSpring에서 제공하는 동기식 HTTP 클라이언트 (요청에 대한 응답을 수신할때까지 대기) - GET, POST, PUT, DELETE, HEAD, OPTIONS 등의 HTTP 메서드 지원. (GET요청)- getForObject 메소드 RestTemplate request = new RestTemplate(); String url = "http://example:8080"; String response = restTemplate.getForObject(url, String.class); System.out.println("Response: " + response);=> url에 get요청을 보내면 지정된 타입의 객체로 응답 반환. (위의 예시에서는 St.. [Java/intelliJ] Serializable 인터페이스 / 객체 직렬화 & 역직렬화 * Serializable 인터페이스 ( java.io ) 객체를 파일로 저장하거나 다른 서버로 전송할 수 있도록 JVM에 알리는 역할. ( 직렬화* ) 메서드가 없는 마커 인터페이스 (marker interface). package java.io; public interface Serializable { } 해당 객체의 클래스에 Serializable 인터페이스를 구현해주면 된다. import java.io.Serializable; public class exampleClass implements Serializable { private static final long serialVersionUID = 1L; // 직렬화 호환성을 위한 UID ....... } * SerialVersionUID 객체를 .. [Java] Lombok @ 어노테이션 * Lombok Java 코드 작성을 도와주는 라이브러리. 어노테이션 기반으로 코드 자동생성. https://www.daleseo.com/lombok-popular-annotations/ [자바] 자주 사용되는 Lombok 어노테이션 Engineering Blog by Dale Seo www.daleseo.com [ Lombok 어노테이션 ] - @Getter, @Setter 클래스 필드에 대한 getter / setter 메서드를 자동 생성. - @Data @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor 를 자동 적용. - @NoArgsConstructor 파라미터가 없는 기본 생성자 자동생성. - @AllArgsCon.. [Java] switch ~ case문 기본적인 방식은 위에서부터 아래로 case 조건을 하나씩 판별해서 해당하는 case에 대한 로직을 실행 / 해당하는 case가 없다면 default 로 지정된 로직을 실행. ( default 가 위쪽부분에 위치하더라도 해당 case가 없는 경우에는 실행이 되지만 가독성을 위해 보통 맨 아래쪽에 지정. ) int number = 2; switch (number) { case 1: System.out.println("One"); break; case 2: System.out.println("Two"); break; case 3: System.out.println("Three"); break; default: System.out.println("Other number"); break; } 아래처럼 case옆에.. [Java] Gson / JSON * Gson Java객체를 JSON으로, JSON을 Java객체로 변환할 수 있도록 도와주는 오픈소스 라이브러리. - Java 객체를 JSON으로 변환 => .toJson() Gson gson = new Gson(); MyObject myObj = new MyObject(); String json = gson.toJson(myObj); - JSON 을 Java객체로 변환 => .fromJson() Gson gson = new Gson(); String json = "{\"name\":\"John\", \"age\":30}"; MyObject myObj = gson.fromJson(json, MyObject.class); 객체의 필드 이름과 JSON의 키 이름이 일치하면 자동으로 매핑된다. * Java의 .. 이전 1 2 3 다음