본문 바로가기

JSP

1장. 서블릿과 jps는 어디에 쓰는 물건이고??


대화하는 방식은 프로토콜(http)
컨테이너는 써블릿을 관리한다.
컴퓨터  -->> 서버 -->컨테이너->>써블릿
          <====       <==             <==

오버라이드 해서 쓰기만하면된다.
요청이 들어 왔을대 무슨일을 할 것인가..

MVC모델

웹서버가 하는일
-클라이언트의 요청을 받아서, 클라이언에게 그 요청에 대한  결과를 넘겨 준다.
-약속들..프로토콜

클라이언트
-서버에 요청을 하고 서버로 받은 것을 저장한다음 화면에 출력한다.(브라우저)


웹서버는 HTML과 HTTP를 어떻게 다룰지 안다.
HTML
-브라우저가 화면에 컨텐츠를 어떻게 출력할지 지정한다.
-

HTTP
-웹 상에서 클라이언트와 서버가 서로 대화하기 위한 규약, 언어를 지칭
서버는 클라이언트로 HTML을 전송하기 위하여 HTTP를 사용

HTTP 프로토콜?
-TCP 네트워크의 한 노드에서 다른 한 노드로 파일을 보내는 역할 책임
-IP 한 호스트에서 목적지 호스트까지 패킷을 옮기고 이동하기 위한 기반 프로토콜

HTTP는 이와 별개로 웹에서만 사용하는 프로토콜이다. 요청/응답의 끊임없는 주고받음 이라고 할 수 있음

요청에는 어떤 정보가 들어가나
-HTTP 메소드이름
=


get-가장 단훈산 것으로 단순히 서버에 자원을 요청하는 일
post- 좀더 강력함, 서버에게 자원을 요청할때 필요한 정보를 함께 넘겨줌

get
-보낼 수 있는 제한이 있음
-데이터 전송 방식은 브라우저 주소 뒤에 정보를 덧붙이는 식, 주소창에 모두가 나타난다.
-이 두가지 이유로 즐겨찾기 가능..하지만 post 불가능

post

-길이 제한이 없다.

HTTP 응답(response)

Static web pages
그대로 그냥 보내준다.

웹페에지 혼자서 할 수 없는 두가지
-이런 곳에서는 동적인 컨텐츠를 생성 못함
-서버 상에 데이터 저장도 못함

이런걸 해결하기 위하여 동적인 웹 페이지를 사용 한다.
-helper 애플리케이션이 HTML을 작성하고 웹 서버는 이 결과물을 클라이언테에게 넘겨줄 수 있다.
써블릿은(HTML을 만드는 프로그램..결과적으로)

서블릿 작성하고, 배포하고, 실행하기
소스 따로, 클래스, 결과물 따로, 그외 필요한거 따로
이클립스가 자동으로 해준다.

써블릿..
하이튼 HTML을 만들기 위한것..

web.xml은 써블릿에 대한 정보를 보관 한다.
그래서 컨테이너가 이걸 참고하여 어떤 요청이 왔을때 해당 써블릿을 준비 할 수 있는 정보가 작성되어 있다.
------------------------------------써블릿 등록
<servlet-name>웹 서버 내의 통용되는 이름
<servlet-calss>실제 클래스이름(패키지 풀네임도 다 적어줘야 한다)
------------------------------------써블릿 매핑
<selvlet-mapping>브라우저 나온 이름과 실제 클래스의 이름을 연결시켜준다.
<url-pattern>/Serv1     이건 url이름이고

이렇게 하면 /Serv1은 name을 참고 하고 name은 클래스와 연결
같은 거지만 이름만 바꿔준다. 그래야 보안과, 이것저것 좋다.

JSP는 HTML에 자바코드를 집어 넣기 위한것
왜냐면 자바코드안에 HTML코드를 넣으면 완전 짜증나기 때문에..바꾼것..
-1.HTML페이지 디자이너들은 대부분 자바를 모름
-2.HTML페이지 자바 String 변수에 넣는 것은 악몽

<html>
<body>
<h1>Skyler's Login Page</h1>
<br>
<%= new java. util. Date() %>                 이게 자바 코드 넣을때 사용
</body>
</html>


이건 JSP로 저장해야 컨테이너가 읽을 수 있다.
결과 적으로 써블릿은 요청을 받아서 HTML을 만드는 것이지만 그것에대한 번거러움은 JSP로 해서 조금 편안하게 한다음 HTML을 만들어 준다.
써블릿이나 JSP 둘다 써블릿이다.