분류 전체보기 120

44 - 세션 / 쿠키 / 필터 / 리스너 (4) - 사용자 정의 쿠키

사용자 정의 쿠키 ▷ 쿠키의 생성 / 전송 사용자 정의 쿠키 WAS에서 발행하는 쿠키 (세션 쿠키) 생성 개발자가 직접 new Cookie( )로 생성 경로 지정 가능 → setPath( ) 메서드 자동 전송 반드시 HttpServletResponse에 addCookie( ) 메서드를 통해서만 전송 유효기간 쿠키 생성할 때 초 단위로 지정 가능 → setMaxAge( 초 * 분 * 시간 ) 지정불가 브라우저의 보관방식 유효기간이 없는 경우에는 메모리상에만 보관 유효기간이 있는 경우에는 파일이나 기타 방식으로 보관 메모리상에만 보관 서버쪽 DB에 저장 쿠키의 크기 4kb 4kb - 개발자가 직접 new Cookie( )를 이용해 생성 • 반드시 문자열로 된 이름(name)과 값(value)이 필요 • 값(..

카테고리 없음 2023.06.29

43 - 세션 / 쿠키 / 필터 / 리스너 (3)

컨트롤러에서 로그인 연동 - LoginController의 doPost( )를 통해 MemberService를 연동해 실제로 로그인이 되도록 수정해보자. package org.zerock.w2.controller; import java.io.IOException; import java.util.UUID; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http..

카테고리 없음 2023.06.28

42 - 세션 / 쿠키 / 필터 / 리스너 (2)

필터를 이용한 로그인 체크 - 필터 (Servlet Filter ) : 특정한 서블릿이나 JSP 등에 도달하는 과정에서 데이터를 필터링하는 역할을 위해서 존재하는 서블릿 API의 특별한 객체 → @WebFilter 어노테이션 이용해 특정한 경로에 접근할 때 필터가 동작하도록 설계하면, 동일한 로직을 필터로 분리 가능 • 한 개 이상, 여러 개 적용 가능 • @WebFilter 어노테이션의 urlPatterns 속성 이용 : { } 안에 여러 url 주소 작성 가능 ▷ LoginCheckFilter 클래스 - Filter 인터페이스 • javax.servlet.Filter를 import 해야 함 • doFilter라는 추상메서드 존재 → 필터가 필터링이 필요한 로직을 구현해야 함 • @WebFilter 어..

카테고리 없음 2023.06.27

Oracle 사용자 계정 및 샘플 테이블 생성

STS에서 Oracle 연결해서 실행시키기 Database Navigator창의 새 데이터베이스 연결 - ORACLE 선택 후, Next Connection Type의 Host 및 Database 아래와 같이 입력 · Host : 127.0.0.1 대신 자신의 IP 주소 입력 · Database - ORCL : 오라클 상용 서버를 의미 → 우리는 xe 버전이므로 xe로 입력 Authentication의 Username 및 Password의 경우, 다운로드 받았을 때 설정한대로 입력 · Username : system · Password : pass Test Connection 후, 제대로 연결된 경우 Finish 이제 생성된 계정의 이름을 바꿔주자 해당 계정 오른쪽 클릭 - 이름변경 : Oracle - ..

백엔드/Oracle 2023.06.27

41 - 세션 / 쿠키 / 필터 / 리스너 (1)

쿠키 - 웹은 기본적으로 과거의 상태를 유지하지 않는 무상태( stateless ) 연결 요청과 응답을 하나의 단위로 처리하면서 기존 사용자에 대한 정보를 기억하지 않음 → 웹의 단점 : 비연결성 ( Connectionless ) - 세션 트랙킹 ( session tracking ) • HTTP의 무상태 연결하는 이유 : 적은 자원으로 여러 개의 요청 처리 가능 → 과거의 방문 기록을 추적할 수 있는 기법 필요 : 세션 트랙킹 ( session tracking ) • 쿠키 이용 : 문자열로 만들어진 데이터의 조각으로, 서버와 브라우저 사이에서 요청과 응답 시 주고 받는 형태로 사용 ▷ 쿠키란? ( 이전 시간 복습 ) - 쿠키 : 클라이언트의 상태 정보를 유지하기 위한 기술 • 상태 정보를 클라이언트( 주..

카테고리 없음 2023.06.27

JSP : EL

EL (Expression Language) - EL의 표현식 : ${ } - 값(데이터)을 웹 페이지에 표시하는데 사용하는 태그로, JSP 2.0부터 간단하게 사용할 수 있는 출력용 언어인 EL이 개발됨 → 프론트 쪽 태그와 쉽게 어울릴 수 있게 기획됨 JSP 표현식 : → ${ 자바 영역으로 생각하자 } - 요청객체로부터 특정 값을 가져와 JSP 표현식을 사용해 출력하는 코드 - 위의 코드를 EL로 바꿔보자 ${ param.id } - 두 코드를 비교해보면, ❶ EL로 코드를 작성하는 것이 불필요한 코드 줄여줌 → JSP 페이지의 전체적인 코드 간결해짐 ❷ 자바 코드가 줄어듦 → 디자인적 요소( HTML, CSS )와 자바 코드를 서로 구분하기 쉬워짐 - 자바 코드를 몰라도 getter/setter ..

백엔드/JSP 2023.06.20

JSP : JSTL

JSTL (JavaServer Pages Standard Tag Library) - 제어문이나 반복문과 같이 식(expression)이 아닌 문(statement)를 처리하기 위해서는 JSTL 라이브러리가 필요 - JSTL : Java 코드를 바로 사용하지 않고 HTML 태그() 형태로 직관적인 코딩을 지원하는 라이브러리 - JSTL 설치 구글에서 'maven repository' 검색 - JSTL 검색 - 2.JSTL 클릭 JSTL 1.2버전 클릭 jar파일 다운로드 다운로드한 파일을 WEB-INF 폴더 내 lib폴더로 drag해서 옮기기 - OK 클릭 다음과 같이 확인 가능 그럼 webapp 폴더에 jstl_exam.jsp 파일을 생성해 테스트해보자. - taglib 지시어를 이용해 JSTL Core..

백엔드/JSP 2023.06.19

웹 프로그래밍의 시작 (3)

HTTPServlet - HttpServlet을 상속하는 별도의 서블릿을 정의하고 이를 이용 - HttpServlet의 특징 ① HttpServlet은 doGet( ), doPost( ) 메서드 등을 제공 → 필요한 메서드를 오버라디드하여 처리 가능 ② HttpServlet을 상속받은 클래스 객체는 톰캣과 같은 WAS의 내부에서 자동으로 객체 생성 및 관리됨 ③ HttpServlet은 멀티 스레드에 의해서 동시에 실행될 수록 처리됨 서블릿 lifecycle - 서블릿 ( Servlet ) : 웹 서버가 동적인 웹 페이지를 제공할 수 있도록 도와주는 애플리케이션 · 서블릿 : 서버 측에서 실행 ( 클라이언트의 요청을 받으면 서버에서 처리한 후, 응답으로는 결과값만 보내주는 구조 ) 자바 파일(.java)을..

백엔드/JSP 2023.06.18

웹 프로그래밍의 시작 (2)

MVC 구조 - MVC 구조 : Model - View - Controller의 역할을 분리해서 처리하는 구조 · 서블릿/JSP의 장단점을 고려해 MVC 구조에 따라 데이터는 Controller에서, 결과는 View에서 처리 → 즉, 서블릿이 Controller 역할이고 JSP가 View 역할! · 필요한 데이터를 제공하는 객체 : Model ① 브라우저의 요청은 해당 주소를 처리하는 서블릿에 전달 ② 서블릿 내부 : 응답에 필요한 재료 데이터를 준비함 ③ 서블릿은 준비한 데이터들을 JSP로 전달함 ④ JSP에서는 EL을 이용해서 최종적인 결과 데이터를 HTML 구조로 생성함 ⑤ JSP를 이용해 생성된 결과 화면은 톰캣을 통해서 브라우저로 전송됨 MVC 구조로 계산기를 다시 설계해보자 - 브라우저의 호출..

백엔드/JSP 2023.06.16