Language`/JSP (Java Server Page)(11)
-
[JSP] 자바빈(JavaBeans) & <jsp:useBean> 액션 태그
자바빈(JavaBeans) - 객체를 JSP페이지에서 사용하기 위해서 사용 - 자바빈을 사용하면 JSP에서 객체를 사용해서 데이터를 저장하고 불러올 수 있다 - 규격을 갖추지 않고 사용하면 에러가 발생 java.io.Serializable 인터페이스를 구현해야 한다 인수가 없는 기본 생성자가 있어야 한다 반드시 패키지화 멤버변수를 "Property"라고 부른다 프로퍼티의 접근 지정자는 반드시 private 프로퍼티마다 getter/setter가 존재해야 한다 읽기 전용의 경우 getter만 있어야 한다 getter 메소드에는 파라미터가 존재하면 안된다 setter 메소드에는 파라미터가 1개 이상 존재해야 한다 프로퍼티를 제외한 기본 생성자 & 메소드들은 "public"으로 작성해야 한다 - java.io..
2022.03.19 -
[JSP] <jsp:foward> 액션 태그
- 하나의 JSP 페이지에서 다른 JSP 페이지로 request 처리를 전달할 때 사용 - Client로부터 request를 받는거는 from.jsp이지만, 최종적으로 response를 전달하는거는 to.jsp이다 1. Client가 from.jsp로 request 전달 2. from.jsp는 코드내에 존재하는 액션 태그를 실행 3. 액션 태그로 인해서 요청 흐름이 to.jsp로 넘어간다 이 때, from.jsp에서 사용한 request/response 객체가 to.jsp로 전달된다 4. to.jsp가 response 생성 5. to.jsp가 생성한 결과를 Client에게 전달 ## 방법 1) ## ## 방법 2) ## Example 1) ## from.jsp ## 현재 페이지는 "from.jsp"입니다..
2022.03.19 -
[JSP] <jsp:include> 액션 태그
- 다른 JSP의 실행 결과 & 코드를 포함할 때 사용하는 액션 태그 - 중복된 코드를 하나의 .jsp를 통해서 구현할 수 있다 화면 구성 요소의 코드 중복을 없앨 수 있다 page : 포함할 다른 JSP 페이지의 경로 지정 flush : "page"에서 지정한 JSP 페이지를 실행하기 전에 출력 버퍼를 flush할지 여부 지정 & default = "false" ## main.jsp ## main.jsp 실행 include 이후 ## sub.jsp ## sub.jsp 실행 ※ flush : "true"? "false"? flush를 "true"로 지정하게 되면 를 실행하는 시점에 출력 버퍼에 저장된 내용들을 flush한다는 의미이다. 출력 버퍼를 flush하게 되면 client에게 response를 보..
2022.03.19 -
[JSP] 에러 처리
에러 페이지 - 실행 도중 Exception이 발생하면, 에러 화면 대신 지정한 에러 페이지를 보여줄 수 있다 ## 에러 발생시 보여줄 페이지 ## ## 에러 처리 페이지 ## 처리 우선순위 1) page 디렉티브의 errorPage 속성 2) web.xml 파일의 : 범용 에러 처리 3) web.xml 파일의 : 별도 에러 처리 4) WAS가 제공하는 기본 에러 페이지 에러 코드 200 : 요청을 정상적으로 처리 307 : 임시로 페이지를 리다이렉트 400 : Client 요청이 잘못됨 401 : 접근 허용 X 404 : 요청한 URL 경로 X 500 : 요청 메소드(GET, POST, ..)를 허용 X 503 : JSP Exception 발생 504 : 서버가 서비스 제공을 못함 (서버측 문제) [N..
2022.03.19 -
[JSP] JSP 기본 객체 & 영역
Web-Application의 4가지 영역 1) page 영역 - 하나의 JSP 페이지를 처리할 때 사용되는 영역 - Client로부터 request가 들어오면 해당 JSP 페이지를 실행하는데, 그 때 각각의 JSP 페이지의 범위가 "page 영역"이다 pageContext 기본 객체 2) request 영역 - 하나의 HTTP 요청을 처리할 때 사용되는 영역 - Client가 request를 보낼 때마다 새로운 request 영역이 생성된다 - 하나의 JSP 페이지에 대해서 request와 관련된 모든 JSP 페이지가 "request 영역"이다 request 기본 객체 3) session 영역 - 하나의 웹 브라우저와 관련된 영역 - 세션이 생성되면 해당 웹 브라우저와 관련된 모든 request가 하나..
2022.03.19 -
[JSP] out 객체 & pageContext 객체 & application 객체
Out 객체 - JSP 페이지 내의 비-스크립트 요소들(HTML & 텍스트)은 out 기본 객체에 그대로 전달된다 - 값을 출력하는 표현식의 결과값도 out 기본 객체에 전달된다 - 출력 메소드는 기본적으로 print() / println() / newLine()이 제공된다 ※ out.println()을 통한 개행 out.println()을 사용하면 웹 페이지에서 개행이 될까? Hello World ?? 실제로 웹 페이지에서는 개행이 되지 않았다 Why? HTML 코드 내에서만 개행이 이루어졌다 실제로 JSP 페이지는 일단 자바 소스코드로 변환이되고, 해당 자바 소스코드는 서블릿 클래스로 컴파일이 되는데 이 과정에서 "Hello " / "World " / "??" 를 HTML 코드 관점에서 보면 그냥 1..
2022.03.18 -
[JSP] JSP 처리 과정 & 버퍼
JSP 처리 과정 1) 요청한 JSP 페이지와 관련된 "서블릿 클래스"가 없는 경우 1. JSP 페이지를 자바 소스코드로 "변환" 2. 자바 소스코드를 서블릿 클래스로 "컴파일" 3. WAS가 서블릿에 Request 전달 4. 서블릿은 Request에 대한 Response 생성해서 WAS에 전달 5. WAS는 Client(웹 브라우저)에게 Response 전달 2) 요청한 JSP 페이지와 관련된 "서블릿 클래스"가 있는 경우 1. WAS가 서블릿에 Request 전달 2. 서블릿은 Request에 대한 Response 생성해서 WAS에 전달 3. WAS는 Client(웹 브라우저)에게 Response 전달 출력 버퍼 - JSP 페이지가 생성하는 출력 내용을 모았다가 한번에 웹 브라우저에 전송할 수 있다 ..
2022.03.18 -
[JSP] response 객체
response 객체 Client로부터 request를 받으면 Server는 해당 request에 대한 response를 보내줘야 한다 헤더 정보 입력 (HTTP 메시지 헤더) 리다이렉트 :: 다른 웹 페이지로 direct 이동 1) Client(웹 브라우저)에 헤더 정보 전송하기 (response) 메소드 설명 void addDateHeader(String name, long date) "name" 헤더에 date를 추가 >> 1970년 1월 1일 이후로부터 1/1000초 단위로 설정 void setDateHeader(String name, long date) "name" 헤더의 값을 date로 설정 >> 1970년 1월 1일 이후로부터 1/1000초 단위로 설정 void addHeader(String..
2022.03.18 -
[JSP] request 객체
request 객체 우리가 주소창에 어떤 웹 사이트의 주소를 입력하면 >> 웹 브라우저(Client)는 웹 서버(Server)에 연결하고, 요청 정보들을 전송한다 여기서 이 요청 정보를 제공하는 것이 "request 객체"이다 request 객체가 제공하는 기능들 Client(웹 브라우저)와 관련된 정보 읽기 Server와 관련된 정보 읽기 Client가 전송한 request 파라미터 읽기 Client가 전송한 request 헤더 읽기 (HTTP 메시지 헤더) Client가 전송한 cookie 읽기 속성 처리 1) Client 정보 & Server 정보 읽기 메소드 설명 String getRemoteAddr() 웹 서버에 연결한 Client의 IP주소 long getContentLength() Clien..
2022.03.17 -
[JSP] 스크립트 요소
스크립트 요소 스크립트릿 (Scriptlet) 표현식 (Expression) 선언부 (Declaration) - JSP 프로그래밍에서 어떠한 로직을 수행할 때 필요 - 프로그램이 수행해야 하는 기능을 구현할 수 있다 1) 스크립트릿 (Scriptlet) - JSP 페이지에서 자바 코드를 실행할 때 사용하는 코드 블록 > 스크립트릿 코드 블록은 여러개를 작성할 수 있다
2022.03.13 -
[JSP] page 디렉티브
Page 디렉티브 - JSP 페이지에 대한 설정 정보를 지정할 때 사용 어떤 문서를 생성? 어떤 자바 클래스를 사용? 세션에 참여? 출력 버퍼 존재? .... ----------------------------------------------- 속성 설명 default 값 contentType JSP가 생성할 문서의 MIME 타입 & 캐릭터 인코딩 지정 text/html import JSP 페이지에서 사용할 자바 클래스 지정 session JSP 페이지가 세션을 사용할지 여부 지정 true buffer JSP 페이지의 출력 버퍼 크기 지정 - "none" = 버퍼 사용 X 최소 8kb autoFlush 출력 버퍼 가득차면 버퍼 내의 데이터들 자동으로 출력 스트림에 내보내고 비울지 결정 - "true" :..
2022.03.13