-
JSP / 서블릿 기본구조
그림설명
클라이언트가 url을 통해서 값을 보내면 Tomcat서버로 들어감
(요청)
Tomcat서버에서는
연산, 처리를 함
데이터(value 값)을 가져옴
자바 파일 생성(컴파일)
(자바페이지)결과 갓을 만듬
java -> html 결과 페이지를 만듬
서버는 클라이언트에 전달(응답)
localhost
내 자신 컴퓨터
요청(Request)
사용자(클라이언트)가 결과를 얻기위해 URL로 값을 전달하는 것
응답(Response)
서버에서 사용자의 요청에 알맞은 값을 전달하는 것
이때, 서버에서는 연산이 이루어지는데
이곳을 서블릿(서버 + 애플릿)이라고 합니다.
서블릿 방식이 좋은 점은 옛 CGI방식과 비교해 볼 수 있습니다.
CGI방식
cl1 -> url request ---> 서버 반응! (프로세스)
cl2 -> url request ---> 서버 반응! (프로세스)
cl3 -> url request ---> 서버 반응! (프로세스)CGI방식에서는 프로세스가 반응마다 하나씩 생성되어 빠른 효과를 낼 수 있었지만 그만큼 서버의 성능과 용량이 좋아야 했어요
그러나 서블릿 방식에서
cl1 -> url request ---> 서버 반응! (프로세스)
cl2 -> url request ---> 바로 전 프로세스 실행 (쓰레드)
cl3 -> url request ---> 바로 전 프로세스 실행 (쓰레드)이렇게 경량화되면서 서버 구동의 성능이 좋아지게 되었어요.
하지만 서블릿은 자바를 전제로 html이 들어가 있기에
코딩이 어렵기에 분석도 어려워서 tomcat에서 자동으로 실행됩니다
그 단점을 보완한게 JSP인거죠!
클라이언트와 서버사이에는 네트워크가 존재 하기때문에
클라이언트 -> 네트워크 -> 서버
의 흐름을 가진다고 생각할 수 있어요.
클라이언트가 URL을 보낼 때의 요청방식이 2가지가 있는데
요청방식에 따라 서블릿에서의 실행 메소드가 달라집니다.
[URL요청 방식]
(데이터) 전송 양식
<form 어디에? 어떤 방식으로? >1.Get
#1. 주소창에 보내는 데이터가 보인다.
#2. URL?변수=데이터&변수=데이터 .. ? 이후에 문장이 붙게 된다.
(쿼리 스트링)
#3. form 전송의 기본은 get 이다. 따라서 굳이 method="get" 이 속성을 쓰지 않아도 된다. (생략해도 get 방식으로 보낸다)#4. 너무길면 안된다. 256kbyte로 제한!
<form action="페이지" method="get" >
10
홍길동
</form>2.Post
#1. 주소창에 보내는 데이터가 안 보인다.
(head에 실려서 보내진다)#2. 용량에 제한이 없다.
<form action="페이지" method="post" >
10
홍길동
</form>서블릿 코딩을 한번 볼까요?
서블릿이 너무 어려워서 생긴
JSP
앞에서 했던 예제
body안에다가 한줄만 입력하면 출력이 되는데
서블릿에서는 변수 설정에, meta도 설정 , 태크들도 다 쳐줘야된다.
실행..
404 에러..
[ctrl + F11] >> 작성은 끝냈지만 해당서블릿에 신호가 없어서
404 에러 (페이지 찾을수 없음)가 발생했어요..
해당서블릿이 작동 되려면 미리 약속된 신호를 web.xml에 등록 해야되는데요
이 약속된 신호를 매핑값이라고 한다.
프로젝트 > WebContent > web.xml > source
</welcome-file-list>
아래에 매핑 코드를 넣어줍니다.
<!-- servlet 매핑하기 -->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>kr.koreait.HelloServlet</servlet-class>
</servlet><servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping><servlet-name>변수이름</servlet-name>
//변수 이름을 생성하는 곳
<servlet-class>패키지.클래스.서블릿이름</servlet-class>
//변수에 넣을 서블릿
<servlet-mapping>
<servlet-name>위에 생성한 변수</servlet-name>//매핑하기
<url-pattern>/바꿔줄 주소</url-pattern>//url 뒤에쪽을 hello로 바꿔주겠다
</servlet-mapping>servlet/kr.koreait.HelloServlet => hello
로 대체
맵핑완료
'기초 > JSP' 카테고리의 다른 글
[JSP] 서버 만들기 (0) 2017.02.13 [JSP] 서블릿2 (0) 2017.02.10 [JSP] 웹페이지 기본개념 (0) 2017.02.08 [JSP] JSP환경설정 jdk / eclips / tomcat // jsp 맛보기 (0) 2017.02.08 [JSP] JSP (0) 2017.02.08