[Linux] 리눅스에 수동으로 Java 설치하기 [wget 없이 Java 17 설치하는 법]
·
▣ OS : 운영체제/Linux🐧
- 리눅스에 수동으로 Java 설치하기폐쇄망에 Java를 설치해야 할 일이 있어 수동 설치 방법을 남겨놓는다. (폐쇄망에서는 wget이 안되기 때문!)아래의 링크에서 리눅스에서 사용할 Java의 버전을 다운로드 받는다. Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.www.oracle.com # 리눅스에 올리고 tar 파일 압축 해제 (다운로드는 17.0.2 버전 받았음)tar -xvf openjdk-17.0.2_linux-x64_bin.tar.gz [Linux] 리눅스에 수동으로 Tomc..
[Library] Java에서 동기 처리 & 비동기 처리 구현 방법 [네트워크 통신 라이브러리, OkHttp3]
·
▣ Tools/Library🎲
- Java에서 동기 처리 & 비동기 처리 구현 방법- OkHttp3: 동기 vs 비동기 구분 동기 (Synchronous) 비동기 (Asynchronous) 방식 요청 → 응답까지 대기 요청 후 콜백으로 처리 사용 메서드 Call.execute() Call.enqueue(callback) 스레드 블로킹O (현재 스레드 대기)X (백그라운드 처리)예시 용도단순 요청 / 응답 흐름UI와 함께 동작, 비동기 로직- 동기 처리 방법Response response = client.newCall(request).execute(); // ← 이게 '동기' 호출!- 비동기 처리 방법client.newCall(request).enqueue(new Callback() { @Override publi..
[JAVA] 서블릿 필터 코드로 보안 헤더 설정하기 [HttpOnly, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection]
·
◎ Java/Java☕
- 서블릿 필터 코드로 보안 헤더 설정하기 아래는 보안 헤더를 한 번에 설정하는 통합 서블릿 필터 코드이다. 이 필터는 HttpOnly, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection를 모든 응답에 적용한다.HttpOnly: Set-Cookie 헤더에 HttpOnly 속성을 추가하여 모든 쿠키에 대해 적용되도록 설정X-Content-Type-Options: 브라우저가 MIME 타입을 스니핑하지 않도록 설정X-Frame-Options: 클릭재킹 방지를 위해 페이지가 내에 표시되지 않도록 설정X-XSS-Protection: 브라우저에서 XSS 필터를 활성화Content-Security-Policy: 외부 ..
[JAVA] 서블릿 필터를 사용한 기존 세션 무효화 [여러 pc에서 중복 로그인 막는 방법]
·
◎ Java/Java☕
- 서블릿 필터를 사용한 기존 세션 무효화 서블릿 필터를 사용하여 동일한 계정으로 로그인할 때 이전 세션을 무효화할 수 있다. 이 방법은 서버에서 관리하는 세션 맵을 이용하여 로그인 시 중복 로그인을 감지하고 처리하는 방식이다.- SessionManagementFilter.java 추가import javax.servlet.*;import javax.servlet.http.*;import java.io.IOException;import java.util.concurrent.ConcurrentHashMap;public class SessionManagementFilter implements Filter { // 사용자 ID를 키로 하고, 세션을 값으로 가지는 맵 private static fina..
[JAVA] Random 클래스란? [무작위 숫자(난수)를 생성하는 클래스]
·
◎ Java/Java☕
- Random 클래스란?Random 클래스는 Java의 java.util 패키지에 포함된 클래스로, 다양한 종류의 난수를 생성하는 데 사용된다.이 클래스는 시드(seed)를 기반으로 난수를 생성하며, 시드가 같다면 동일한 난수 시퀀스를 생성한다. - Random 클래스의 생성자기본 생성자 : 시드를 지정하지 않으면 '현재 시간(밀리초 단위)'을 시드로 사용하여 난수 생성기를 초기화한다.시드를 사용하는 생성자 : 특정 시드를 지정하여 난수 생성기를 초기화한다. 동일한 시드를 사용하면 같은 난수 시퀀스를 생성한다.Random random1 = new Random(); // 시드를 자동으로 현재 시간에 맞춰 생성Random random2 = new Random(12345L); // 시드를 12..