달력

102021  이전 다음

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
  •  

servlet 만들기

java/jsp 2008. 2. 27. 19:11

서블릿, 자바로 웹 애플리케이션을 만들기 위해 최초로 나온 기술입니다. 이후 JSP로 서블릿의 약점을 보완했지만, 스트럿츠, 스프링 등의 프레임워크가 득세하면서 다시 관심을 받게 됩니다. 하지만 예전처럼 순수 서블릿의 활용은 많이 없어졌습니다. 프레임워크에 종속된 개발을 많이 하게 되죠.

일단 가장 간단한 서블릿을 만들어보겠습니다. servlet이라는 Dynamic Web Project를 만들고 프로젝트 이름에서 New > Servlet 을 선택합니다. src 아래서는 Servlet 항목이 나오지 않습니다.

사용자 삽입 이미지

net.okjsp 패키지에 HelloServlet 이라고 이름을 주었습니다. *Servlet과 같이 서블릿 클래스의 명명규칙을 가져가는 것이 좋습니다.
사용자 삽입 이미지

URL mapping 이라는 것이 있습니다. 스트럿츠 이후 *.do 라는 매핑이 유명해졌는데, 서블릿 컨테이너에서 들어온 request URL의 패턴에 따라서 매칭되는 서블릿을 호출하게 됩니다. /hello 라는 URL mapping을 추가합니다.
사용자 삽입 이미지

패키지 익스플로러에 HelloServlet.java 파일이 생겼습니다.
사용자 삽입 이미지

함께 생성된 소스입니다. 일반적으로 주소를 치고 들어가는 것은 GET방식으로 호출합니다. 때문에 doGet() 이라는 메소드가 호출이 됩니다. doPost() 메소드는 form 태그에서 method="post" 와 같이 호출할 때 실행이 됩니다. POST방식의 호출이죠.
사용자 삽입 이미지

doGet() 내용을 다음과 같이 적어줍니다.

  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  out.println("<h1>Hello World</h1>");
  out.close();


실행은 JSP와 동일합니다. HelloServlet 파일을 선택하고 Run As > Run on Server 로 실행합니다.

사용자 삽입 이미지

기본 매핑에 따라서 http://localhost:8080/servlet/HelloServlet 주소로 실행이 됩니다.
사용자 삽입 이미지


http://localhost:8080/servlet/hello 로 다시 접속을 해도 같은 서블릿이 실행됩니다.
사용자 삽입 이미지


서블릿의 단점이라 한다면 태그가 문자열 안에 들어가기 때문에 " 는 \" 로 표기해야하고 번잡스러워집니다. html 소스가 바뀌면 일이 커지죠. 때문에 JSP 기술이 나오게 된 것이구요.

하지만 JSP가 Javascript를 비롯해 비즈니스 로직과 프리젠테이션 코드들의 스파게티 소스로 변해가자 로직은 Servlet에서 처리하고 결과값을 JSP에서 보여주는 형식으로 즉 MVC(Model View Controller) 형태의 코드로 관리되는 쪽으로 변해왔습니다. MVC 프레임워크들의 탄생 배경이죠.
Posted by 케누 kenu허광남

댓글을 달아 주세요

  1. 흰둥이  댓글주소 수정/삭제 댓글쓰기 2008.02.27 22:39

    저녁식사는 하셨는지요...?

    아.. 아까 얼핏 빵드시던 생각이 나긴하네요..

    ^^;; 밥 드세요...

  2. lovedev  댓글주소 수정/삭제 댓글쓰기 2008.02.28 21:16 신고

    정말 바쁘게 사시는거 같아요 ^^ 몸관리좀 하세요!@

  3. okclick  댓글주소 수정/삭제 댓글쓰기 2008.03.03 10:08

    꾸준히 post하시네요~ ^^;
    okjsp나 여기블로그나 많은 도움 얻어갑니다.
    도움도 도움이지만 꾸준히 열심히 하시는것을 보면 저도 분발해야겠다는 생각이... ㅋㅋ

  4. ㅠㅠ  댓글주소 수정/삭제 댓글쓰기 2008.07.15 15:23

    검색하다 들어오게 됐습니다. URL mapping을 어디서 해줘야 되는건지 모르겠어요..ㅠㅠ
    지금 서블릿실행못해서 지금 3시간동안 삽질중...ㅠㅠ아...url mapping어디서 하는건가요?ㅠㅠ

  5. ㅠㅠ  댓글주소 수정/삭제 댓글쓰기 2008.07.15 18:02

    아 next를 누르면 되는거였군요-0-감사합니다!!