JSP, Servlet

장준휴·2023년 12월 11일
0

JAVA

목록 보기
9/9

Servlet


Server와 Applet의 합성어로 Server상에서 작동하는 Java 기반의 웹 어플리케이션 프로그래밍 기술이다.

Servlet은 httpServlet을 상속받으며 java언어를 기반으로 만들어지며, 웹 어플리케이션 서버위에서 컴파일 되고 동작한다.

웹을 만들때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고, 이 요청과 응답에는 규칙이 존재한다. 이러한 요청과 응답을 일일이 처리하려면 굉장히 힘들것이기 때문에 Servlet은 이러한 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해준다.

Servlet 특징


- 클라이언트의 Request에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트 - HTML을 사용하여 Response 한다. - JAVA의 스레드를 이용하여 동작한다. - MVC 패턴에서의 컨트롤러로 이용된다. - HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받는다. - UDP보다 속도가 느리다. - HTML 변경 시 Servlet을 재 컴파일해야 하는 단점이 있다.

Servlet 동작과정


1. Servlet Request, Servlet Response 객체를 생성한다.
  1. 설정 파일을 참고하여 매핑할 Servlet을 확인한다.

  2. 해당 서블릿 인스턴스 존재의 유무를 확인하여 없으면 init() 메소드를 호출하여 생성한다.

  3. Servlet Container에 스레드를 생성하고 service를 실행한다.

  4. 응답을 처리하였으면 distory() 메소드를 실행하여 Servlet Request, Servlet Response 객체를 소멸한다.

JSP


앞서 설명한 Servlet 과 짝꿍인 녀석이 있다. 바로, JSP 라는 녀석인데, Servlet 과 다르게 html 파일을 중심으로 해서 돌아간다.

JSP 는 자바를 웹서버에서 쉽게 쓰기 위한 기술이며 언어가 아니고, JAVA의 점유율을 대폭적으로 상승시킨 1등공신이다.

일반적인 html 파일형식에 <% %>, <%= %> 등 태그 내부에서 java언어를 사용하여 웹페이지를 다룬다.

기본문법


1. 스크립트릿 <% %> - JSP 내부에서 java 코드를 작성할 때 사용한다.
  1. 표현식
    <%= %>
  • 동적인 데이터를 Web에 출력할 때 사용한다.
  1. 선언문
    <%! %>
  • 맴버 변수 선언, 메소드 정의 할 때 사용
  1. 지시자
    <%@ %>
  • .java로 변환할 때 필요한 정보 기술

JSP 내장객체


- request : doGet, doPost 메서드의 첫 번째 파라미터와 동일한 역할 - response : doGet, doPost 메서드의 두 번째 파라미터와 동일한 역할 - out : 웹 브라우저로 html 코드를 출력하는 기능 - application : jsp 페이지가 속하는 웹 애플리케이션 관련된 기능 - config : jsp 페이지의 구성 정보를 가져오는 기능 - pageContext : jsp 페이지 범위 내에서 사용할 수 있는 데이터 저장 기능 - Session : 세션에 관련된 기능 - Page : jsp 페이지로부터 생성된 서블릿 - Exception : 익셉션 객체

jsp 페이지 안에서 내장 객체를 사용할 수 있는 이유 : web Container가 jsp page를 servlet class로 변환 시키면서 자동으로 내장 객체를 선언하기 때문이다.

JSP VS Servlet


![](https://velog.velcdn.com/images/jang_tissue/post/6ea24e9a-fc8c-444c-b604-e50f82856040/image.png)
profile
나는야 토마토

0개의 댓글