728x90

아파치 8

웹 어플리케이션의 상태 저장(2)

* 본 글은 뉴렉처(Newlecture) 채널의 서블릿, JSP 강의를 참고하여 작성되었습니다. * 해당 글도 읽어보면 좋을 듯합니다(세션과 쿠키의 관계: https://www.daleseo.com/http-session/) 세션(Session)세션이란 HTTP 프로토콜에서 브라우저 단위로(사용자 단위) 상태를 서버 측에 저장하는 기술을 말한다. 종류가 다른 두 브라우저 IE, Chrome에서 각각 똑같은 사이트를 요청했을 때, 요청 헤더를 보면 두 브라우저의 세션이 실제로 다름을 알 수 있다. 세션 작동 방식세션이 작동하는 방식은 다음과 같다.브라우저에서 특정 페이지를 최초로 요청응답시 서버에서 세션을 생성하고, 생성된 세션 ID를 브라우저에 전달(쿠키라는 방식으로)이후에 들어오는 매 요청마다 세션 I..

웹 어플리케이션의 상태 저장(1)

* 본 글은 뉴렉처(Newlecture) 채널의 서블릿, JSP 강의를 참고하여 작성되었습니다. 웹 어플리케이션에서 상태 저장의 필요성 우리는 인터넷을 통해 굉장히 다양한 작업들을 할 수 있다. 단순히 브라우저 요청에 데이터를 전달해 그에 맞는 응답을 얻어올 뿐만 아니라 요청 데이터를 통해 특정 사이트에 회원가입을 하거나, 사이트에서 로그인 사용자와 비로그인 사용자를 구분하여 다른 응답을 얻기도 한다. 쿠팡과 같은 인터넷 쇼핑몰을 사용할 경우 사용자가 최근에 본 제품 목록을 임시로 저장하거나, 원하는 제품을 장바구니에 담아 저장할 수도 있다. 위에서 설명한 작업들의 공통점은 모두 여러 번의 요청을 거쳐 동작한다는 것이다. 지금까지의 응답 방법의 한계 아래 내용이 지금까지 우리가 구현할 수 있는 웹 프로젝..

서블릿 필터

* 본 글은 뉴렉처(Newlecture) 채널의 서블릿, JSP 강의를 참고하여 작성되었습니다. 서블릿 필터의 필요성지금까지 서블릿을 작성하면서 입출력 인코딩, 문자셋 지정을 위해 필수적으로 썼던 코드들이 있다. (모르겠으면 앞의 글을 참고하자) 이처럼 여러 서블릿에 공통적으로 작성하는 내용들이 있을 때 코드를 반복해서 작성하는 것은 개발자 입장에서 번거롭고 불필요한 일이다. 그래서 코드 작성시의 불필요한 반복을 줄이기 위한 방법이 필요한데, 이러한 방법 중 하나가 바로 서블릿 필터이다. 서블릿 필터서블릿 필터란 브라우저의 요청에 따른 응답 과정에서 WAS가 서블릿을 실행하기 전, 또는 실행하고 난 후에 실행되는 코드를 말한다. 서블릿 필터를 위한 인터페이스는 javax.servlet.Filter이며, ..

Request, Response 객체를 이용한 요청 처리(2)

* 본 글은 뉴렉처(Newlecture) 채널의 서블릿, JSP 강의를 참고하여 작성되었습니다. * 추가 참고: https://velog.io/@yh_lee/HttpServletRequest HTML의 입력 폼을 통한 요청 이전 글에서는 주소 창에 직접 쿼리 스트링을 입력하여 인자값과 함께 서버에 GET 요청을 실행했다. 하지만 HTML 문서에서 form 태그 안에 input 태그를 입력하면 브라우저에 주소를 입력하지 않고 서버에 GET, POST 요청할 수 있는 입력 폼이 생성된다. 첫 번째 input 태그는 type 속성이 text이므로 실제 html 문서에서 텍스트 작성 칸이 되며, 두 번째 input 태그는 type 속성이 submit 이므로 서버에 요청하는 기능의 버튼이 된다. 텍스트 작성 칸에..

Request, Response 객체를 이용한 요청 처리(1)

* 본 글은 뉴렉처(Newlecture) 채널의 서블릿, JSP 강의를 참고하여 작성되었습니다. * 참고하면 좋을 글 https://velog.io/@yeppi/%ED%8C%A8%ED%82%A4%EC%A7%803-java.io-%EC%9D%98-%EC%9E%85%EC%B6%9C%EB%A0%A5%EC%8A%A4%ED%8A%B8%EB%A6%BC-InputStream-OutputStream-Reader-Writer 패키지(3) java.io 의 입출력스트림 데이터 흐름 ⇒ 단방향ex. 물 위→아래처럼) 파이프 개념사용자의 입력 데이터를 읽어드리는 통로 어떤 파일에 등록된 데이터/메시지를 입력 스트림으로 읽어들임⇒ 입력데이터(키보드)와 파일 velog.io 서블릿으로 응답용 html 문서 생성 브라우저를 통해 ..

웹 사이트의 작동 방식과 서블릿

* 본 글은 뉴렉처(Newlecture) 채널의 서블릿, JSP 강의를 참고하여 작성되었습니다. 웹 사이트의 흐름 웹 사이트의 작동 방식은 아래와 같다. 1. 브라우저를 통해 URL 요청 2. WAS가 URL과 매칭되는 서블릿의 메서드 실행 3. 문서 생성 4. 웹 서버가 생성된 문서를 전달해 브라우저로 응답 서블릿 javax.servlet.http 패키지의 추상 클래스 HttpServlet을 구현한 클래스를 서블릿이라고 한다. 서블릿을 구현할 때 반드시 service() 메서드를 정의해야 한다. WAS가 서블릿의 service() 메서드를 실행하여 사용자(브라우저) 측에 응답하기 때문이다. 서블릿 구조 import java.io.IOException; import javax.servlet.http.*;..

톰캣 구동, 컨텍스트 사이트 설정

* 본 글은 뉴렉처(Newlecture) 채널의 서블릿, JSP 강의를 참고하여 작성되었습니다. 톰캣의 실행 및 종료 톰캣을 실행하거나 종료하기 위한 파일은 톰캣이 설치된 경로의 bin 디렉토리, 즉 $CATALINA_HOME/bin 안에 있다. 멈춰 있는 톰캣을 실행하려면 startup.bat(리눅스의 경우 startup.sh)을 실행하면 되고, 현재 실행 중인 톰캣을 종료하려면 shutdown.bat (리눅스의 경우 shutdown.sh) 실행하면 된다. 브라우저로 문서 요청 톰캣을 실행하게 되면 브라우저를 통해 문서를 보여달라고 요청할 수 있다. 브라우저로 http://localhost:8080/abc.txt를 요청할 시, 홈 디렉토리의 abc.txt 문서를 찾아 전달하는 것이 톰캣의 기본 동작 과..

웹 서버, WAS의 탄생 배경

* 본 글은 뉴렉처(Newlecture) 채널의 서블릿, JSP 강의를 참고하여 작성되었습니다. 클라이언트와 서버 프로그램 웹이 없던 시절, 일반적인 응용 프로그램은 로컬 컴퓨터의 DB에서 데이터를 가져와 문서를 생성했다. 예를 들어 회원을 관리하는 프로그램에서 사용자가 회원 정보 확인 버튼을 클릭하면 DB에서 정보를 꺼내 회원 정보가 담긴 문서를 사용자에게 보여주는 식이다. 시간이 흐르면서 멀리 있는 곳의 컴퓨터에 저장된 DB에서 정보를 조회하려는 수요가 발생했다. 이를 위해서는 네트워크가 필요했다. 프로그램과 네트워크가 만나면서 클라이언트 프로그램과 서버 프로그램의 개념이 처음 등장하게 되었다. 여기서 클라이언트 프로그램이란 사용자가 원하는 정보를 요청해 주는 요청자 프로그램을 의미하고, 서버 프로그..

728x90