본문 바로가기

JSP

[JSP] JSP(JavaServer Pages), Servlet 란?

728x90
반응형

서버 

  • Server
  • 서비스를 제공하는 컴퓨터 
  • 웹 호스팅을 이용하게되면 도메인을 받게되어 다른 컴퓨터에서도 접근이 가능 (응답하는 쪽) 
  • 사용자의 요청을 받아서 서비스를 제공하는 쪽 

클라이언트 

  • Client
  • 서비스를 이용하는 컴퓨터 
  • 사용자 
  • 브라우저 
  • 요청을 시도하는 쪽 

HTTP 명령 : GET, POST 

요청에 의해 서버에서 전송된 HTML 태그는 웹 브라우저에 의해 해석되어 

화면 구성 및 배치 작업 등을 거쳐 제공됨 

 

GET 방식이란?

  • URL에 정보가 노출됨 (보안에 불리) 
  • 전달할 수 있는 데이터 크기에 제한이 있음 
  • URL ? 매개변수 = 값&매개변수=값 
  • CRUD중에 R (데이터를 로드) 작업에 많이 활용 : SELECT -> 서버에서 정보를 가져오려고 사용하는 방법 

POST 방식이란? 

  • URL에 값이 표시되지 않음
  • 요청헤더에 데이터를 넣어 전송하기때문에 데이터 크기에 제한이 없음 
  • CRUD중 CUD(데이터를 전달) 작업에 많이 활용 -> 서버에 정보를 전달하려고 사용하는 방법 

 

클라이언트와 서버간의 동작 과정 ( 웹 서비스 진행 과정 )

1) URL 입력

2) IP 주소로 변환 

3) HTML 페이지 요청 

4) 3의 요청 내용을 분석

5) HTML 파일 전송

6) HTML 태그를 분석하여 화면 구성 

 

[ 아파치 톰캣 ] 

웹 서버의 역할 

JSP가 운영될 환경 제공

서블릿 컨테이너 ★

=> 서블릿과 JSP를 실행하기 위한 환경을 제공함 

 

JSP는 HTML 태그와 굉장히 비슷함 

[ <%@ %> 지시어 ] 

page 지시어

 -> language 속성 ... 

 

JSP(JavaServer Pages) 란? 

  • HTML 코드내부에 JAVA 언어를 사용할 수 있게 해주는 서버 프로그래밍 언어 
  • 컴파일 결과로 .JAVA로 끝나는 파일을 생성함 => 서블릿  Servlet

 

- JSP 파일 생성 시 첫줄에 빨간 밑줄이 나온다면 서버가 연결이 안된것!

   해당 project에 Properties -> Java Build Path -> Add Library -> Server Runtime에서 

    연결하고자 하는 서버(Tomcat)가 잘 들어가있는지 확인해본다 

- JSP 파일에서 Java 코드를 인코딩해주는 방법 ( 2가지 방법 중 하나만 선택! ) 

1) <%%> 태그 안에 java.util.를 넣어준다

2) 맨 윗줄에 imort를 사용한다. 

 

Servelt 서블릿 

  • .java로 끝남
  • 패키지가 항상 존재해야함 
  • JAVA언어에서 HTML을 작성할 수 있게 해줌 
  • JSP가 개발되기 전까지는 서블릿을 사용하였음 
  • 기본 생성자 필수 
  • doGet(), doPost() 메서드로 GET, POST 요청에 대해 수행할 것을 작성 
  • public class Student와는 다른 클래스 파일 -> Student(일반객체)을 POJO라고 함 -> 서블릿은 POJO가 아닌 클래스 
  • @webServelt("/xxx") 어노테이션 (애너테이션) : "/xxx 요청에 대해 이 서블릿 파일을 실행 시켜라." 
  • 서블릿을 다루기가 매우 어려워서 JSP가 등장 

★Test 서블릿이 객체화(인스턴스화,new)되지않았는데, 어떻게 doGet()이 호출되었을까? 
  => 누군가가 new Test()하고,  doGet()도 호출했다!!!!!
  누군가 == 서블릿 컨테이너 ( Tomcat - 자신이 사용하는 서버) 
  컨테이너 : 객체화를 담당

 JSP 전체 동작 과정 

1) URL 입력

2) IP 주소로 변환 

3) JSP 페이지 요청 

4) JSP 서블릿 처리

( 웹 서버가 요청 내용을 분석, 서블릿 컨테이너에게 요청을 넘겨서 처리) 

-> new 서블릿() 객체화

-> .doGet() 호출 

5) HTML 페이지 응답

( 화면에 출력될 내용을 HTML 문서형태로 웹 브라우저에게 전송 ) 

6) HTML 태그를 분석하여 화면 구성 

728x90
반응형