cbw1030
기록하는 공간
cbw1030
전체 방문자
오늘
어제
  • 전체보기 (101)
    • Programming (99)
      • Java (19)
      • Servlet (10)
      • Spring Framework (13)
      • Javascript (22)
      • AWS (2)
      • 네트워크 (8)
      • 데이터베이스 (13)
      • 리눅스 (3)
      • 블록체인 (7)
      • 용어 정리 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • web
  • 인공지능
  • 데이터 사이언스
  • 생활코딩
  • 브라이틱스 스튜디오 사용법
  • 삼성SDS 브라이틱스
  • 머신러닝
  • Brightics
  • 크롤링
  • Brightics AI
  • 브라이틱스 튜토리얼
  • 브라이틱스
  • javascript
  • 차원축소
  • beautifulsoup
  • 데이터분석
  • 브라이틱스 스튜디오
  • Brightics Studio
  • react
  • 삼성SDS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
cbw1030

기록하는 공간

서블릿(Servlet) url 매핑기법 2가지(web.xml 방식, 어노테이션 방식)
Programming/Servlet

서블릿(Servlet) url 매핑기법 2가지(web.xml 방식, 어노테이션 방식)

2020. 7. 30. 00:53
반응형

서블릿에서 사용자가 url을 입력했을 때 해당 url에 매칭되는 자바파일(~~.java)가 실행되어야 한다.

이러기 위해서는 url 매핑 기법을 사용해야 하는데 두 가지 방식이 있다.

1. web.xml 방식

2. Annotation(어노테이션) 방식

 

web.xml 방식은 구시대적인 방식이다. 아래 사진을 보자.

WebContent/WEB-INF/web.xml

오우.. 벌써부터 어지럽다.  설명하면 다음과 같다.

  • servlet-class 태그에 있는 것이 패키지명부터 클래스명이다.
  • servlet-mapping 태그 안에 있는 servlet-name 태그와 servlet 태그 안에 있는 servlet-name 태그를 같게 하여 url-pattern 태그로 들어오는 url 주소에 맞춰 servlet-class 태그에 있는 Nana.java 파일을 실행시켜준다.

만약 자바 파일이 여러 개라면 음.... 으. 머리가 많이 아프다. 

이를 해결하기 위해 새로 나온 것이 어노테이션 방식!

 

Nana.java 파일

클래스 위에 어노테이션으로 @WebServlet("url")을 적어주면 된다.

그런데! 그냥 무작정 적으면 안된다.

web.xml

metadata-complete 부분을 true -> false 로 변경해야 한다. (true일 때는 web.xml 방식을 사용하는 경우)

 

지워도 되고 주석처리해도 되고

metadata-complete을 false로 변경했으니 아래 태그들은 주석처리하고 실행을 하면!?

아주 잘 작동된다. 

/hello url로 접근을 했을 때 잘 작동된다.

그런데 안녕하세요! 대신에 ?????! 가 출력된다. 이것은 response.setCharacterEncoding("UTF-8")을 쓰지 않아 웹 브라우저 상에서 UTF-8이 아닌 다른 것으로 해석을 해서 그렇다. 

해당 부분이 궁금하면 https://cbw1030.tistory.com/62?category=1068647 을 참고하길 바란다.

 

(Servlet/JSP) setCharacterEncoding, setContentType 정리

JSP와 서블릿 공부를 하면서 항상 헷갈렸던 내용이 있다. request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=utf-8"); 위 세 개의..

cbw1030.tistory.com

 

반응형
저작자표시 (새창열림)

'Programming > Servlet' 카테고리의 다른 글

[JSP & 서블릿] 모델(Model)1, 2 방식에 대해 알아보자  (0) 2020.08.04
서블릿(Servlet) 필터(Filter)를 사용하여 한글 처리 문제를 해결하기(어노테이션 방식)  (0) 2020.08.03
[JSP] JSTL(Jsp Standard Tag Library) 정리 - <c:set>,<c:out>,<c:remove>,<c:if>,<c:choose>,<c:when>,<c:otherwise>,<c:forEach>,<c:forTokens> 등  (1) 2019.10.27
[JSP] JSP Beans(빈즈)에 대해 알아보자  (0) 2019.10.09
[JSP] 표현언어(Expression Language)란?  (0) 2019.10.09
    'Programming/Servlet' 카테고리의 다른 글
    • [JSP & 서블릿] 모델(Model)1, 2 방식에 대해 알아보자
    • 서블릿(Servlet) 필터(Filter)를 사용하여 한글 처리 문제를 해결하기(어노테이션 방식)
    • [JSP] JSTL(Jsp Standard Tag Library) 정리 - <c:set>,<c:out>,<c:remove>,<c:if>,<c:choose>,<c:when>,<c:otherwise>,<c:forEach>,<c:forTokens> 등
    • [JSP] JSP Beans(빈즈)에 대해 알아보자
    cbw1030
    cbw1030

    티스토리툴바