💬 LANGUAGES/JAVA

    [JAVA] 세션 session 유효시간 설정

    [JAVA] 세션 session 유효시간 설정 세션 객체는 클라이언트가 가장 최근에 접근한 시간값을 갖고 있고, 사용될 때마다 최근 접근 시간은 갱신된다. 세션 유효 시간은 가장 최근에 접근한 시간부터 최대 몇 시간까지 세션을 살려둘지 지정한 시간이다 세션은 마지막 접근 후 일정 시간 내에 다시 접근 하지 않으면 자동으로 세션을 종료한다. 만약 세션을 제거해주지 않으면 컨테이너에 세션이 생성만 되어 메모리 부족이 되거나, 메모리 누수로 이어져 서버가 다운될 수 있다. 세션 유효시간 설정 방법 1. WEB-INF\web.xml 파일에 태그를 사용 50 전체 세션 타임아웃을 설정할 때 사용 값의 단위: 분 따라서 위의 코드에서 세션 유효시간은 50분 2. setMaxInactiveInterval() 메서드를..

    [JAVA] Date 현재 날짜 시간 구하기, 비교하기, 객체 표현

    Date 현재 날짜 시간 구하기, 비교하기, 객체 표현 참고한 글에 따르면 JAVA 8 이전의 시간을 나타내는 Date, Calendar 클래스는 많은 부분이 deprecated 되었고, 가능하면 사용을 권장하지 않는다고 한다. 그런데 나는 일단 만들어 놓은 VO의 데이터 형식에 맞춰 java.util.Date 클래스에 맞춰 작업했다. 1. 현재 날짜 시간 구하기 // 현재 날짜/시간 Date now = new Date(); // 현재 날짜/시간 출력 System.out.println(now); // Thu Jun 17 06:57:32 KST 2021 // 포맷팅 정의 SimpleDateFormat formatter = new SimpleDateFormat("yyyy년 MM월 dd일 HH시 mm분 ss초..

    [Spring] JoinPoint와 ProceedingJoinPoint 차이

    JoinPoint와 ProceedingJoinPoint 차이 보안점검 프로젝트를 하는데 비밀번호 변경일이 90일이 지난 경우 사용자가 비밀번호를 변경하도록 유도해야한다. 90일이 지난 후에도 비밀번호를 변경하지 않으면 비밀번호 변경 페이지 외, 다른 페이지로의 접근이 불가하도록 막아야했다. 이를 구현하기 위해서 모든 컨트롤러에 비밀번호 변경일을 검증하는 로직을 추가하지 않고 컨트롤러 진입 이전 관점(Aspect)를 모듈화 하는 AOP를 이용하기로 했다. 관련 이전글 [Spring] AOP Aspect Orientend Programming(관점 지향 프로그래밍) JoinPoint JoinPoint 인터페이스는 호출되는 대상 객체, 메서드, 전달 파라미터 목록에 접근 할 수 있는 메소드 제공 메서드 접근하..

    [JAVA] 정규식 관련 패키지 - Pattern, Matcher

    관련글 🔗 [JS]문자열 - 정규표현식(Regular Expression) 1. 정규표현식(Regular Expression)이란? 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어 정규 표현식은 문자열의 검색과 치환을 위해 지원 2. JAVA 정규식 패키지 java.util.regx 패키지를 사용한다. 주로 사용하는 클래스 Pattern Matcher 2-1. Pattern 클래스 java.util.rege.Pattern 문자열을 검증할 때 활용 주로 사용하는 메소드 Pattern.matches(String reg, String val) : 일치-true, 불일치-false 반환 Pattern.compile(String reg) : 주어진 정규표현식으로부터 만든 패턴 반환 Patter..

    [Tomcat] JSESSIONID, Cookie 쿠키

    1. JSESSIONID란? Tomcat 컨테이너에서 세션을 유지하기 위해 발급하는 키 HTTP는 stateless하기 떄문에, 새로운 연결이 생성되면 이전 연결은 끊기기 때문에 상태를 유지할 수 없는 문제를 해결하기 위함 2. JSESSIONID의 동작방식 브라우저 최초 접근 -> Tomcat: Response 헤더에 JSESSIONID 값 발급 Set-Cookie: JSESSIONID=3CB361E0BE1A9A7DE7DB926DF0772BAE 브라우저 재 요청 시 Response를 통해 받은 JSESSIONID를 Request 헤더의 쿠키에 값을 넣어 서버에 요청. 쿠키를 통해 JSESSIONID를 전달 받으면 서버는 새 JSESSIONID를 발급하지 않는다. 서버는 클라이언트에게서 전달받은 JSES..