목록JSP (31)
각진 세상에 둥근 춤을 추자
forward는 현재 페이지에 들어온 요청을 다음 페이지로 보내는 기능이다. forward는 이동된 페이지와 request 영역을 공유하며 URL이 변경되지 않는다. 예제를 통해 forward 액션 태그를 이해해 본다. [예제] (1) 시작 페이지 (포워드 하는 페이지): ForwardMain.jsp 액션 태그를 이용한 포워딩 (2) 포워드 되는 페이지: inc 폴더 - ForwardSub.jsp 포워드 결과 page 영역: request 영역: 실행 결과 URL과 request영역은 공유되나 페이지 별로 생성되는 page 영역은 공유되지 않는 것을 알 수 있다.
액션 태그 (Action tag)란 JSP의 표준 태그로, 페이지 사이에서 이동을 제어하거나 자바빈을 생성할 때 주로 사용한다. 액션 태그의 특징은 다음과 같다. XML 문법을 따른다. 반드시 종료 태그를 사용한다. 액션 태그 사이에 주석을 사용하면 에러가 발생한다. 액션 태그에 속성값을 부여할 때는 표현식 을 사용할 수 있다. 액션 태그의 종류는 다음과 같다. - 외부 파일을 현재 파일에 포함 - 다른 페이지로 요청을 넘김 , , - 자바빈즈를 생성하고 값을 설정/추출 - 다른 페이지로 매개변수 전달 (include, forward 액션 태그와 함께 사용) 액션 태그는 외부 JSP 파일을 현재 JSP 파일로 포함시키는 기능을 한다. 비슷한 기능으로는 include 지시어가 있다. include 지시어와..
세션(session)이란 클라이언트가 서버에 접속해 있는 상태 혹은 단위를 말한다. 세션 테이블(session table)이란 클라이언트가 서버로 요청할 때 서버로 기록되는 클라이언트 정보 객체를 말한다. 서버는 각 클라이언트에 대한 고유식별번호(session ID)를 발급한다. 주로 회원인증 후 로그인 상태를 유지하는 처리에 사용된다. 예제를 통해 session 내장 객체에 대해 이해해 본다. 먼저, 클라이언트의 화면에 띄울 로그인 폼을 생성한다. [6_session.jsp] session 내장 객체 세션 ID 확인 로그인 처리 세션 ID는 각각 다른 브라우저로 접속했을 때 다른 것을 알 수 있다. (네이버 웨일, 사파리, 크롬) 위 로그인 폼에서 내용을 입력했을 때 로그인 처리를 위해 데이터를 log..
request 내장 객체가 클라이언트의 요청 정보를 저장하는 역할을 했다면, response 내장 객체는 그와 반대로 요청에 대한 응답을 웹 브라우저로 보내주는 역할을 한다. 주요 기능으로는 리다이렉트(redirect)와 HTTP 헤더에 응답 헤더 추가가 있다. sendRedirect(): 페이지 이동하기 간단한 로그인 폼을 제작하여 리다이렉트 기능을 확인해 본다. (1) Response.jsp: 로그인 폼과 응답 헤더 설정 페이지 1. 로그인 폼 아이디: 패스워드: 2. 응답 헤더 설정하기 날짜 형식: 숫자 형식: 문자 형식: (2) ResponseLogin.jsp 로그인 폼 영역에 아이디와 패스워드를 입력한 후 [로그인] 버튼을 클릭하면 요청이 에 의해 ResponseLogin.jsp 페이지로 전송된..
웹 프로그래밍에 있어 기본적인 요청과 응답, 화면 출력 등 JSP의 내장 객체는 필수라고 할 수 있다. 웹은 클라이언트가 서버로 요청을 보내면, 서버는 그에 맞는 결과를 응답한다. 이때 JSP의 내장 객체는 요청과 응답 혹은 HTTP 헤더(header)등의 정보를 쉽게 다룰 수 있도록 한다. 내장 객체의 특징은 다음과 같다. - 컨테이너가 미리 선언해 놓은 참조 변수를 이용한다. - 별도의 객체 생성 없이 각 내장 객체의 메서드를 사용한다. - JSP 문서 안의 과 에서만 사용할 수 있다. - 에서는 즉시 사용할 수 없으나 매개변수로 전달받아 사용할 수 있다. 대표적인 내장 객체의 종류는 다음과 같다. 내장 객체 타입 설명 request HttpServletRequest 클라이언트의 요청 정보를 저장한다..
지시어는 JSP 페이지를 자바(서블릿)코드로 변환하는 데 필요한 정보를 JSP 엔진에 알려준다. 주로 스크립트 언어나 인코딩 방식 등을 설정하며 지시자 혹은 디렉티브로 부른다. 지시자의 기본 구문은 다음과 같다. 지시어의 종류는 크게 세 가지가 있다. 1. page 지시어= JSP 페이지에 대한 정보를 설정한다. 2. include 지시어= 외부 파일을 현재 JSP 페이지에 포함시킨다. 3. taglib 지시어= 표현 언어에서 사용할 자바 클래스나 JSTL을 선언한다. 1. page 지시어 page 지시어는 JSP 페이지에 대한 정보를 설정한다. 속성 내용 기본값 info 페이지에 대한 설명을 입력한다. - language 페이지에서 사용할 스트랩팅 언어를 지정한다. java contentType 페이지..
JSP 파일의 기본 구조를 알아보기 위해 간단한 예제를 입력한다. str1: str1: str1: str1: str1: 실행은 마우스 우클릭 - [Run As] - [Run on Server] 버튼을 클릭한다. Tomcat v9.0 Server at localhost를 클릭한 후 [Next] 버튼을 누른다. Configured에 해당 JSP 파일이 있는 Project가 있는지 확인한 후 [Finish] 버튼을 클릭한다. 결과는 다음과 같다.
Eclipse JSP File 생성 시 사용하기 편한 템플릿을 설정한다. (1) 상단 메뉴 [Eclipse] - [Preference] - [Web] - [JSP Files] - [Editor] - [Templates] 에서 "New JSP File (html5) - JSP with html 5 markup"을 선택 후 Edit를 클릭한다. (2) Edit Template 내용을 다음과 같이 변경한 후 [OK] 버튼을 누른다. ${cursor} (3) [Apply] - [Apply and Close] 버튼을 누른다. 템플릿을 적용한 후 새로 만드는 JSP 파일은 다음 모습과 같다.
JSP의 주된 목적은 웹 브라우저에 띄울 HTML 파일을 생성하는 것이다. 예제를 통하여 JSP 파일의 기본 형태를 이해해 본다. JSP 파일을 생성하기 앞서 프로젝트를 생성한다. 프로젝트 생성 (1) [File] - [New] - [Dynamic Web Project] (2) Project name에 원하는 프로젝트명을 작성하고, [Target runtime]을 Apache Tomcat v9.0으로 설정한 후 [Next] 버튼을 클릭한다. (3) 자바 소스 파일 경로 설정은 수정 없이 [Next] 버튼을 클릭한다. (4) "Generate web.xml deployment descriptor" 체크 박스를 체크한 후 [Finish] 버튼을 클릭한다. (Generate web.xml deployment ..
JSP란? JSP(Java Server Page)는 동적인 웹 페이지를 개발하기 위한 웹 프로그래밍 기술이다. 즉, 자바 언어를 사용하여 서버 측에서 웹 페이지들을 생성해 웹 브라우저로 전송한다. JSP의 구동 방식은 다음과 같다. 서버는 클라이언트의 요청을 해석하여 가장 적절한 웹 페이지를 생성하여 응답한다. 즉, 동적 웹 페이지는 '전처리' 과정을 거쳐 응답 페이지를 동적으로 생성한다. 이때 '전처리' 부분을 서블릿이 담당한다. 서블릿은 JSP 파일을 자바 파일(.java)로 변환하고 자바 파일을 클래스 파일(.class)로 컴파일한 형태이며, 이를 실행하고 관리해 주는 런타임을 웹 컨테이너라고 한다. 한 번 서블릿으로 컴파일된 JSP 파일은 캐시되므로 실질적인 성능 저하 없이 개발 생산성과 유지 보..