목록
'java web' 123건
-
쿠키를 이용한 웹 페이지 연동 기능 & 쿠키 기능 실행 과정쿠키(Cookie)란 웹 페이지들 사이의 공유 정보를 클라이언트 PC에 저장해 놓고 필요할 때 여러 웹 페이지들이 공유해서 사용할 수 있도록 매개 역할을 하는 방법입니다.쿠키의 특징은 다음과 같습니다.정보가 클라이언트 PC에 저장됩니다.저장 정보 용량에 제한이 있습니다(파일 용량은 4kb).보안이 취약합니다.클라이언트 브리우저에 사용 유무를 설정할 수 있습니다.도메인당 쿠키가 만들어집니다(웹 사이트 당 하나의 쿠키가 만들어집니다).쿠키는 클리이언트 PC에 정보를 저장해서 사용하므로 보안에 취약합니다. 따라서 쿠키를 이용한 방법은 주로 보안과 무관한 경우에 한해 사용합니다.쿠키는 다음과 같이 두 종류로 나눌 수 있습니다.속성Persistence 쿠키Session 쿠키생성 위치파일로 생성브라우저 메모리에 생..
-
URL Rewriting을 이용한 세션 트래킹 실습1. 새로운 패키지를 만들고 LoginServlet, SecondServlet 클래스 파일을 준비합니다. 2. LoginServlet 클래스를 다음과 같이 작성합니다. 로그인창에서 입력 받은 ID와 비밀번호를 태그의 두 번째 서블릿으로 보내기를 클릭하면 로그인창에서 입력한 ID와 비밀번호 그리고 다른 정보들을 GET 방식을 이용해 두 번째 서블릿으로 전송헙니다.package sec01.ex02;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;import jakarta.servlet.http.HttpServletRequest;imp..
-
<hidden> 태그를 이용한 세션 트래킹 실습1. 새 프로젝트 pro09를 만들고 sec01.ex01 패키지를 생성한 후 다음과 같이 LoginServlet 클래스 파일과 login,html을 준비합니다. 2. login.html을 다음과 같이 작성합니다. 로그인창에서 ID와 비밀번호를 입력하면 미리 태그에 저장된 주소, 이메일, 휴대폰 번호를 서블릿으로 전송합니다. 아이디 : 비밀번호: 3. LoginServlet 클래스를 다음과 같이 작성합니다. getParameter() 메서드를 이용해 전송된 회원 정보를 가져온 후 브라우저로 다치 출력합니다.package sec01.ex01;import jakarta.servlet.ServletException;impo..
-
웹 페이지 연결 기능보통 웹 프로그램에서 사용되는 정보는 서블릿의 비지니스 로직 처리 기능을 이용해 데이터베이스에서 가져옵니다. 그러나 동시 사용자 수가 많아지면 데이터베이스 연동 속도도 영향을 받게 되므로 정보의 종류에 따라 어떤 정보들은 클라이언트 PC나 서버의 메모리에 저장해두고 사용하면 좀 더 프로그램을 빠르게 실행시킬 수 있습니다. 세션 트래킹실제 HTTP 프로토콜 방식으로 통신하는 웹 페이지들은 서로 어떤 정보도 공유하지 않습니다.사용자 입장에서는 웹 페이지 사이의 상태나 정보를 공유하려면 프로그래머가 세션 트래킹(Session Tracking)이라는 웹 페이지 연결 기능을 구현해야 합니다.아래 그림은 HTTP 프로토콜로 각각의 웹 페이지를 요청해서 클라이언트의 브라우저에 표시해주는 과정을 나타낸 것입니다. HT..
-
@WebServlet 에니테이션을 이용한 서블릿 설정@WebServlet의 중요한 구성 요소에 대한 설명입니다.요소설명urlPatterns웹 브라우저에서 서블릿 요청 시 사용하는 매핑 이름name서블릿 이름loadOnStartup컨테이너 실행 시 로드되는 순서 지정initParams@WebinitParam 에너테이션 이용해 매개변수 추가하는 기능description서블릿에 대한 설명 1. sec06.ex01 패키지를 생성하고 마우스 오른쪽 버튼을 클릭한 후 New > Servlet을 선택합니다. 2. 클래스 이름으로 initParamServlet을 입력한 후 Next를 클릭합니다. 3. initialization parameters 항목의 Add...를 클릭합니다. 4. Name과 Value에 email과 admin@jweb.com을 입력한 후 OK를 클..
-
ServletConfigServletConfig는 각 Servlet 객체에 대해 생성됩니다. 그리고 서블릿 API 계층 구조를 보면 ServletConfig 인터페이스를 GenericServlet 클래스가 실제로 구현하고 있습니다.ServletConfig에서 제공하는 여러 가지 메서드를 이용해 서블릿에 관련된 기능을 사용할 수 있습니다. 대표적인 기능이 앞에서 실습한 ServletContext 객체를 가져오는 기능입니다.ServletConfig는 javax.servlet 패키지에 인터페이스로 선언되어 있으며, 서블릿에 대한 여러가지 기능을 제공합니다. 각 서블릿에서만 접근할 수 있으며 공유는 불가능합니다. ServletConfig는 서블릿과 동일하게 생성되고 서블릿이 같이 소멸됩니다.ServletConfig가 제공하는 기능은 ..
-
ServletContext의 파일 입출력 기능1. 프로젝트 pro08의 WebApp/WEB-INF 폴더를 선택하고 마우스 오른쪽 버튼을 클릭한 후 New > Folder를 선택합니다. 2. 폴더 이름으로 bin을 입력하고 Finish를 클릭합니다. 3. bin 폴더가 생성된 것을 확인할 수 있습니다. 4. bin 폴더를 선택하고 마우스 오른쪽 버튼을 클릭한 후 New > File을 선택합니다. 5. 파일 이름으로 init.txt를 입력하고 Finish를 클릭합니다. 6. 생성된 파일에 메뉴 항목을 입력한 후 저장합니다. 7. 이제 init.txt에서 메뉴 데이터를 읽어와 출력하는 기능을 구현해 보겠습니다. 다음과 같이 ContextFileServlet 클래스를 준비합니다. 8. ContextFileServlet 클래스를 다음과 같이 작성합니다. ..
-
ServletContext의 매개변수 설정 기능1. 다음과 같이 ContextParamServlet 클래스 파일과 web.xml 파일을 준비합니다. 2. web.xml에 메뉴 항목을 설정합니다. 태그 안에 태그와 태그를 이용해 메뉴에 대한 하위 메뉴 항목을 설정합니다. menu_member 회원등록 회원조회 회원수정 menu_order 주문조회 주문등록 주문수정 주문취소 menu_goods 상품조회 상품등록 상품수정 상품삭제 3. ContextParamServlet 클래스를 다음과 같이 작성합니다. getServletContext() 메서드로 ServletContext 객체에 접근합니다. 그리고 getInitParameter() 메서드의 인자로 각각의 메뉴 이름을 전달한 후 메뉴 항목들을 가져와 이를 브라우저로 출력합..
-
ServletContext 사용법ServletContext 클래스ServletContext 클래스는 톰캣 컨테이너 실행 시 각 컨텍스트(웹 애플리케이션)마다 한 개의 ServletContext 객체를 생성합니다. 그리고 톰캣 컨테이너가 종료하면 ServletContext 객체 역시 소멸됩니다. ServletContext 객체는 웹 애플리케이션 전체의 공통 자원이나 정보를 미리 바인딩해서 서블릿들이 공유하여 사용합니다.ServletContext 클래스의 특징은 다음과 같습니다.javax.servlet.ServletContext로 정의되어 있습니다.서블릿과 컨테이너 간의 연동을 위해 사용합니다.컨텍스트(웹 애플리케이션)마다 하나의 ServletContext가 생성됩니다.서블릿끼리 자원(데이터)을 공유하는 데 사용합니다.컨테이너 실행 시 생..
-
바인딩서블릿에서 다른 서블릿 또는JSP로 대량의 데이터를 공유하거나 전달하고 싶을 때는 바인딩(binding) 기능을 사용헙니다.바인딩의 사전적 의미는 "두 개를 하나로 묶는다"는 것입니다. 이는 웹 프로그램 실행 시 자원(데이터)을 서블릿 관련 객체에 저장하는 방법으로, 주로 HttpServletRequest, HttpSession, ServeltContext 객체에서 사용되며 저장된 자원(데이터)은 프로그램 실행 시 서블릿이나 JSP에서 공유하여 사용합니다.실제 모델2, 스트릿츠, 스프링 프레임워크로 구현하는 웹 프로그램은 이 바인딩 기능을 이용해 서블릿이나 JSP 간 데이터를 전달하고 공유합니다. 서블릿 객체에서 사용되는 바인딩 메서드관련 메서드기능setAttribute(String name, Objec..
-
dispatch를 이용한 포워드 방법dispatch를 이용한 포워드 방법dispatch를 이용한 포워딩 과정이 redirect 방법과 다른 점은 클라이언트의 웹 브라우저를 거치지 않고 서버에서 포워딩이 진행된다는 것입니다. 따라서 웹 브라우저 주소창의 URL이 변경되지 않습니다. 즉, 클라이언트 측에서는 포워드기 진행되었는지 알 수 없습니다. 즉, 클라이언트 측에서 포워드가 진행되었는지 알 수 없습니다.1. 클라이언트의 웹 브라우저에서 첫 번째 서블릿에 요청합니다.2. 첫 번째 서블릿은 RequestDispatch를 이용해 두 번째 서블릿으로 포워드합니다. 서블릿을 이용한 dispatch 포워딩 실습1. sec03.ex01 패키지에 다음과 같이 두 개의 서블릿 클래스를 추가합니다. 2. FirstServlet 클래스를 다음과 같이 작성합니..
-
서블릿 포워드 기능 & 서블릿의 여러 가지 포워드 방법포워드 기능요청에 대한 추가 작업을 다른 서블릿에게 수행하게 합니다.요청(request)에 포함된 정보를 다른 서블릿이나 JSP와 공유할 수 있습니다.요청(request)에 정보를 포함시켜 다른 서블릿에 전달할 수 있습니다.모델2 개발 시 서블릿에서 JSP로 데이터를 전달하는 데 사용됩니다. 서블릿의 여러 가지 포워드 방법redirect 방법HttpServletResponse 객체의 sendRedirect() 메서드를 이용합니다.웹 브라우저에 재요청하는 방식입니다.형식: sendRedirect("포워드할 서블릿 또는 JSP"); Refresh 방법HttpServletResponse 객체의 addHeader() 메서드를 사용합니다.웹 브라우저에 재요청하는 방식입니다.형식: response.addHeader..