ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSP] 서블릿
    기초/JSP 2017. 2. 9. 13:00

    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

    댓글

Designed by Tistory.