IT/Java

2021-03-05 일지1

어린이개발자 2021. 3. 5. 10:44

<Servlet과 JSP 내용 정리>

 

* HttpServletRequest, HttpServletResponse
- WAS는 웹브라우저로부터 Servlet 요청을 받으면,
  > 요청할 때 가지고 있는 정보를 HttpServletRequest 객체를 생성하여 저장
  > 웹브라우저에게 응답을 보낼 때 사용하기 위하여 HttpServletResponse 객체를 생성
  > 생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달
  
* HttpServletRequest
- http 프로토콜의 request 정보를 서블릿에게 전달하기 위한 목적으로 사용
- 헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드를 가지고 있음
- Body의 Stream을 읽어 들이는 메소드를 가지고 있음

* HttpServletResponse
- WAS는 어떤 클라이언트가 요청을 보냈는지 알고 있고, 해당 클라이언트에게 

  응답을 보내기 위한 HttpServletResponse 객체를 생성하여 서블릿에게 전달
- 서블릿은 해당 객체를 이용하여 content type, 응답코드, 응답 메시지 등을 전송

* JSP(JavaServer Pages) 실행순서
1. 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달한다.
2. 브라우저가 요청한 JSP가 최초로 요청했을 경우만
   1) JSP로 작성된 코드가 서블릿으로 코드로 변환한다. (java 파일 생성)
   2) 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성)
   3) 서블릿 클래스를 로딩하고 인스턴스를 생성한다.
3. 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다.

* 스크립트 요소의 이해
- JSP페이지에서는 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression) 이라는
  3가지의 스크립트 요소를 제공
1) 선언문(Declaration) - <%! %> : 전역변수 선언 및 메소드 선언에 사용
2) 스크립트릿(Scriptlet) - <% %> : 프로그래밍 코드 기술에 사용
3) 표현식(Expression) - <%=%> : 화면에 출력할 내용 기술에 사용

* 선언문: <%! %>
- 선언문은 JSP 페이지 내에서 필요한 멤버변수나 메소드가 필요할 때 

  선언해 사용하는 요소
- 선언문의 문법: <%! 문장%>

* 스크립트릿: <% %>
- 가장 일반적으로 많이 쓰이는 스크립트 요소
- 주로 프로그래밍의 로직을 기술할 때 사용
- 스크립트릿에서 선언된 변수는 지역변수
- 스크립트릿의 문법: <% 문장%>

* 표현식: <%=%>
- JSP 페이지에서 웹 브라우저에 출력할 부분을 표현 (즉, 화면에 출력하기 위한 것)
- 스크립트릿 내에서 출력할 부분은 내장 객체인 out 객체의 
  print() 또는 println() 메소드를 사용해서 출력
- 표현식의 문법: <%=문장%>

* 주석(Comment)
- JSP 페이지에서 사용할 수 있는 주석
  > HTML 주석, 자바 주석, JSP 주석
- HTML 주석
  > HTML 주석은 <!--로 시작해서 -->로 끝나는 형태
  > HTML 주석은 HTML 주석을 사용한 페이지를 웹에서 서비스할 때
    화면에 주석 내용이 표시되지는 않으나, [소스보기]를 수행하면 
HTML 주석의 내용이 화면에 표시
  > HTML 주석의 예시: <!-- html 주석입니다. -->
- JSP 주석
  > JSP 페이지에서만 사용되면 <%--로 시작해서 --%>로 끝나는 형태
  > JSP 주석은 해당 페이지를, 웹브라우저를 통해 출력 결과로서 표시하거나,
    웹브라우저 상에서 소스 보기를 해도 표시 되지 않음
또한 JSP 주석 내에 실행코드를 넣어도 그 코드는 실행되지 않음
  > JSP 주석의 예시: <%-- JSP 주석입니다. --%>
- 자바 주석
  > 자바 주석은 //, /**/을 사용해서 작성
  > //은 한 줄짜리 주석을 작성할 때 사용되고, /**/은 여러 줄의 주석을 작성할 때 사용
  > 스크립트릿이나 선언문에서 사용되는 주석으로, 자바와 주석 처리 방법이 같음
  > 자바 주석의 예시
    //주석
/*주석
여러 줄에 걸친 주석이다.
*/

 

* JSP 내장 객체
- JSP를 실행하면 서블릿 소스가 생성되고 실행
- JSP에 입력한 대부분의 코드는 생성되는 서블릿 소스의 
  _jspService() 메소드 안에 삽입되는 코드로 생성
- _jspService()에 삽입된 코드의 윗 부분에 미리 선언된 객체들이 있는데,
  해당 객체들은 jsp에서도 사용 가능
- response, request, application, session, out과 같은 변수를
  내장객체라고 함

'IT > Java' 카테고리의 다른 글

2021-03-05 일지3  (0) 2021.03.05
2021-03-05 일지2  (0) 2021.03.05
2021-03-04 일지  (0) 2021.03.04
2021-03-03 일지2  (0) 2021.03.03
2021-03-03 일지1  (1) 2021.03.03