728x90

웹 어플리케이션은 기본적으로 

1. 클라이언트(브라우저)로부터의 request

2. 서버에서 request 처리

3. 서버에서 처리 결과 response

4. 클라이언트(브라우저)가 받은 response의 데이터를 브라우징(사용자에게 보여주는 것)

 

4단계로 동작한다.

 

JSP는 그 자체로 정적인 HTML 코드에 자바코드를 넣어, 동적 웹페이지를 생성할 수 있는 도구이며, 따라서 이 과정에서 아주 유용한 언어이다.

 

 


JSP 내장 객체(기본 객체)

 

1) 입출력 관련 객체

 

◆ request = 요청 하나 당 하나가 생성된다. 클라이언트로부터 요청이 오면 요청 정보를 저장하기 위함. 요청이 오면 생성, 응답을 하면 바로 없어짐.

 

◆ response = 클라이언트에게 응답할 내용을 처리하는 객체. sendRedirect() 메서드로 페이지를 이동시키는 기능을 자주 사용한다.

 

◆ out = 처리 결과를 브라우저로 출력하기 위한 기본 출력 객체.

 

2) 서블릿 관련 객체

 

◆ page = JSP 페이지 자체를 의미 (Java class의 this. 와 같은 의미)

 

◆ config = JSP 페이지에서 사용하는 초기 파라미터를 저장하고 있는 객체

 

3) 외부 환경 정보를 제공하는 객체

 

◆ session

= 브라우저 하나당 하나가 생성되며 Session ID 값을 만들어 브라우저들을 식별함.

= 브라우저가 웹 서비스를 이용하는 동안 유지하고 있어야 하는 값을 저장(로그인 상태유지 등)

 

◆ application

= 웹 어플리케이션 하나당 하나씩 존재. 서비스가 종료될 때까지 하나씩 존재한다.

= 웹 어플리케이션 전체 영역에서 사용할 수 있는 파라미터를 저장하는 용도로 사용(초기화 파라미터, 서버정보 등 불러오기)

 

◆ pageContext

= JSP페이지 하나당 하나 생성. JSP 페이지에서 다른 기본 객체에 접근할 수 있는 메서드를 제공한다.

(흐름제어 가능(include, forward 메서드)

 

4) 예외 관련 객체

◆ exception = JSP 페이지에서 발생한 예외를 처리할 때 사용

(Page Directive 에서 isErrorPage = true 여야 사용 가능하다.)


JSP 기본 객체의 영역

 

1. Page 영역 = 하나의 JSP 페이지를 처리할 때 사용되는 영역 - pageContext.getAttribute("name")하고 forward로 secondPage로 보내면, 콘솔에는 속성값이 출력되지만 브라우저에는 출력되지 않음.

 

2. Request 영역 = 하나의 HTTP 요청을 처리할 때 사용 (처리하는 데 사용되는 모든 JSP 페이지 포함)

 

3. Session 영역 = 하나의 웹브라우저와 관련된 영역

 

4. Application 영역 = 하나의 웹 어플리케이션과 관련된 영역(모든 JSP 페이지, 모든 요청, 모든 브라우저 세션)

728x90
반응형

'console.log("What ? " + Cord); > Java' 카테고리의 다른 글

[JSP] JSP (JavaServer Pages) 란 무엇일까?  (0) 2023.06.24
[JAVA]자바란 무엇일까?  (0) 2023.06.24
<Java> JDBC에 대해서 개념 공부  (0) 2023.02.21
<Git>PrintMe.java  (0) 2023.02.05
<Git>PlusMinus02.java  (0) 2023.02.05
728x90

JSP (JavaServer Pages)

 

- HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.

 

JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.

 

 

웹 서버가 사용자로부터 서블릿에 대한 요청을 받으면 서블릿 컨테이너에 그 요청을 넘김 -> 요청을 받은 컨테이너는 HTTP Request와 HTTP Response 객체를 만들어, 이들을 통해 서블릿 doPost()나 doGet() 메소드 중 하나를 호출한다.

만약 서블릿만 사용하여 사용자가 요청한 웹 페이지를 보여주려면 out 객체의 println 메소드를 사용하여 HTML 문서를 작성해야 하는데 이는 추가/수정을 어렵게 하고, 가독성도 떨어지기 때문에 JSP를 사용하여 비지니스 로직과 프레젠테이션 로직을 분리한다.

 

여기서 서블릿은 데이터의 입력, 수정 등에 대한 제어를 JSP에게 넘겨서 프레젠테이션 로직을 수행한 후 컨테이너에게 Response를 전달, 이렇게 만들어진 결과물은 사용자가 해당 페이지를 요청하면 컴파일이 되어 자바파일을 통해 .class 파일이 만들어지고, 두 로직이 결합되어 클래스화 되는 것을 확인 할 수 있다. 즉, out 객체의 println 메소드를 사용해서 구현해야하는 번거로움을 JSP가 대신 수행해준다.


cf) 기본 개념 Plus ++

 

◆ 웹(web)

웹이란 인터넷 기반의 정보기술로 World Wide Web 의 줄임말로 쓰이며 WWW 라고도 한다.

전세계에 거대한 네트워크 망을 통해 정보를 공유하며 정보의 흐름은 양방향성을 가진다.

 

웹어플리케이션(Web Application)

웹어플리케이션은 웹에서 실행되는 응용프로그램을 뜻하며 인터넷을 통한 은행업무, 인터넷쇼핑, 등등 인터넷에서 하는 여러 서비스를 총칭

하며 사용자가 필요한 요청(Request) 를 하고 서버에서는 이에 해당하는 요청을 수행하고 그리고 요청한 데이터를 응답(Response) 한다.

 

◆ 웹 브라우저(Web Browser)

 - 클라이언트에서 요청을 하고 전달받은 페이지를 볼수있는 환경을 말한다.  ( 크롬, IE, Safari, Firefox 등.. )

 

◆ 웹 서버(Web Server) 

- 클라이언트로 부터 요청받아 서버에 저장된 리소스를 클라이언트 에게 전달한다. 주로 정적컨텐츠롤 담당한다.

 

◆ 웹 어플리케이션 서버 ( Web Application Server )

- 줄여서 was 라고도 부르며 서버단에서 필요한 기능을 수행하고 그결과를 웹서버에게 전달한다.

 

◆ 데이터베이스

- 서비스에 필요한 데이터를 보관, 갱신 등 관리를 한다.

 


참고)

https://yn971106.tistory.com/23

 

https://javacpro.tistory.com/43

728x90
반응형

'console.log("What ? " + Cord); > Java' 카테고리의 다른 글

[JSP] JSP기본 개념 및 객체  (0) 2023.06.27
[JAVA]자바란 무엇일까?  (0) 2023.06.24
<Java> JDBC에 대해서 개념 공부  (0) 2023.02.21
<Git>PrintMe.java  (0) 2023.02.05
<Git>PlusMinus02.java  (0) 2023.02.05

+ Recent posts

728x90
반응형
728x90
반응형