Enum 타입
·
개발/Java
Java enum (열거형) Java의 enum (enumeration, 열거형)은 서로 관련된 상수들을 모아둔, 고정된 집합을 표현하는 특별한 데이터 타입이다. enum을 사용하면 코드의 가독성과 안정성을 높이고, 오류 발생 가능성을 줄일 수 있다.1. enum이란?상수 집합: 요일(월, 화, 수, ...), 계절(봄, 여름, 가을, 겨울), 색상(빨강, 초록, 파랑), 카드 패(스페이드, 하트, 다이아몬드, 클로버) 등과 같이 미리 정해진 몇 가지 값(상수)만을 가질 수 있는 타입을 정의할 때 사용.클래스: enum은 내부적으로 java.lang.Enum 클래스를 상속하는 클래스. 따라서, 필드(멤버 변수), 메서드, 생성자를 가질 수 있다.타입 안전성 (Type Safety): 컴파일 타임에 타입 ..
PRG(Post-Redirect-Get) 패턴
·
개발/servlet
PRG 패턴 (Post-Redirect-Get Pattern)PRG 패턴은 웹 개발에서 사용되는 디자인 패턴 중 하나로, POST 요청 후 중복 submit(form submission) 문제를 방지하고, 사용자 경험(UX)을 향상시키기 위해 사용된다. 주로 게시글 작성, 회원 가입, 상품 주문 등과 같이 서버의 상태를 변경하는 작업(POST 요청) 후에 사용된다.1. 중복 Submit 문제 (Double Submit Problem)문제 상황:사용자가 폼(form)을 작성하여 POST 요청으로 서버에 데이터를 전송. (예: 게시글 작성)서버는 요청을 처리하고, 결과를 보여주는 새로운 페이지(예: 게시글 상세 페이지)를 같은 URL에 대한 응답(response)으로 보냄. (HTTP Status Code ..
MVC 패턴
·
개발/servlet
MVC (Model-View-Controller) 패턴MVC 패턴은 사용자 인터페이스(UI)를 가진 애플리케이션을 개발할 때 널리 사용되는 디자인 패턴이다. 애플리케이션의 구성 요소를 Model, View, Controller 세 가지 역할로 분리하여 개발하는 방식으로, 코드의 재사용성, 유지보수성, 확장성을 높이고, 개발 효율성을 향상시킨다.1. MVC 패턴의 구성 요소 및 역할Model (모델):역할: 애플리케이션의 데이터와 비즈니스 로직(데이터 처리, 가공, 유효성 검사 등)을 담당.특징:데이터베이스와 상호작용하여 데이터를 가져오거나 저장합니다. (DAO - Data Access Object)데이터의 상태 변화를 처리하고, 필요한 경우 View와 Controller에 알림.View나 Controll..
HttpSession 과 Cookie 인터페이스 정리
·
개발/servlet
1. 세션 (Session)개념: 사용자가 웹 사이트에 접속해서 머무르는 동안 (일정 시간 동안) 서버에 유지되는 사용자별 정보.특징:서버에 저장: 사용자 정보는 서버에 저장됨.고유 ID: 각 사용자에게 고유한 세션 ID가 부여됨. (주로 쿠키를 통해 전달)보안: 서버에 정보가 저장되므로 쿠키보다 상대적으로 안전.만료: 브라우저 종료, 지정된 시간 동안 활동 없음, 서버에서 명시적으로 세션 종료 시 만료됨.용도:로그인 정보 유지 (사용자 인증)장바구니 기능사용자별 맞춤 설정 (테마, 언어 등)최근 본 상품 목록2. 쿠키 (Cookie)개념: 웹 사이트가 사용자의 브라우저에 저장하는 작은 텍스트 파일.특징:클라이언트에 저장: 사용자 정보는 브라우저에 저장됨.텍스트 형태: 이름-값 쌍으로 구성된 텍스트 데이..
ServletConfig 인터페이스 정리
·
개발/servlet
1. ServletConfig의 역할서블릿 초기화 파라미터(Initialization Parameter) 접근:web.xml (배포 설명자) 또는 어노테이션(@WebInitParam)을 통해 설정된 서블릿별 초기화 파라미터 값을 읽어올 수 있다.초기화 파라미터는 해당 서블릿 내에서만 사용되는 설정 값. (웹 애플리케이션 전체에서 공유되는 ServletContext의 context parameter와는 다름)서블릿 이름 획득:서블릿에 할당된 이름(논리적인 이름)을 얻을 수 있다. ( in web.xml 또는 @WebServlet의 name 속성)ServletContext 객체 접근:ServletConfig 객체를 통해 ServletContext 객체에 접근할 수 있다.2. ServletConfig 객체 얻..
ServletContext 인터페이스 정리
·
개발/servlet
1. ServletContext의 역할웹 애플리케이션 전역 정보 제공:웹 애플리케이션의 설정 정보 (초기화 파라미터, web.xml)웹 애플리케이션의 리소스 (파일, 디렉토리) 경로서블릿 컨테이너(웹 서버) 정보웹 애플리케이션의 컨텍스트 경로 (Context Path)로그 기록웹 애플리케이션 범위의 속성(Attribute) 관리:setAttribute(), getAttribute(), removeAttribute() 메서드를 사용하여 데이터를 저장하고 공유할 수 있다.저장된 속성은 웹 애플리케이션 전체에서 접근 가능. (모든 서블릿, JSP)application 내장 객체(JSP)가 바로 이 ServletContext 객체.요청 디스패처 (Request Dispatcher) 획득:getRequestDis..
Servlet RequestDispatcher 정리
·
개발/servlet
1. RequestDispatcher의 역할요청 전달 (Forward):현재 서블릿(또는 JSP)에서 다른 서블릿, JSP, 또는 HTML 페이지로 요청을 완전히 넘김.제어권이 완전히 넘어가기 때문에, 원래 서블릿에서 forward 그 이후에 작성된 응답 관련 코드는 모두 무시됨.브라우저의 URL은 변경되지 않는다. (서버 내부에서만 이동)동일한 HttpServletRequest와 HttpServletResponse 객체가 전달된다. (요청 정보와 속성 공유)리소스 포함 (Include):다른 서블릿, JSP, 또는 HTML 페이지의 실행 결과를 현재 서블릿(또는 JSP)의 응답에 포함시킴.제어권이 다시 원래 서블릿으로 돌아온다.브라우저의 URL은 변경되지 않는다.동일한 HttpServletRequest..
Servlet Request 객체와 Response의 주요 메서드
·
개발/servlet
1. HttpServletRequest (요청 객체)HttpServletRequest 객체는 클라이언트의 HTTP 요청 정보를 담고 있다.요청 정보 획득:getMethod(): String - 요청 메서드(GET, POST, PUT, DELETE 등)를 반환.getRequestURI(): String - 요청 URI(Uniform Resource Identifier)를 반환. (URL에서 호스트와 포트 부분을 제외한 경로)getRequestURL(): StringBuffer - 전체 요청 URL을 반환.getServletPath(): String - 서블릿 매핑 경로를 반환.getQueryString(): String - URL의 쿼리 스트링(query string)을 반환. (예: ?name=value..