Darren's Devlog

스프링의정석 CH02-05,06 클라이언트와 서버 & 설정 파일 -server.xml, web.xml 본문

Spring/스프링의정석

스프링의정석 CH02-05,06 클라이언트와 서버 & 설정 파일 -server.xml, web.xml

Darren Gwon 2022. 8. 3. 21:14
반응형

브라우저를 통해 특정 URL에 요청을 보내면, 해당 서버의 톰캣이 요청을 받는다.

이때 톰캣에서 HttpServletRequest 객체를 생성하여 요청에 포함된 데이터들을 담아 매개변수로 제공한다.

 

같은 name값이 여러 개가 있으면 위와 같이 배열로 받을 수 있다.

 

한 PC에 여러 서버를 돌아가고 있으면, 포트 번호를 통해 그 요청을 구별할 수 있다.

0~1023은 예약된 포트이기에 이 포트번호를 피해 사용하면 된다.

 

WAS: Web Application Server

 

STS프로젝트는 각 독립된 Context에서 실행된다. 

 

- web.xml의 경우 2개가 존재를 하는데, 하나는 톰캣의 모든 web app의 공통 설정이다.

-각 프로젝트(context) 별로 web.xml이 따로 존재하는데, 이 설정의 우선 순위가 더 높다.

스프링 프로젝트의 경우, 스프링에서 사용하는 Spring Container, DispatcherServlet등의 대한 세팅을 정의해놓았다.

 

원래 원격프로그램을 등록하기 위해서는 톰캣의 web.xml에 ①서블릿등록 ②URL맵핑 순서로 세팅을 해주어야 했다.

하지만 스프링에서는 @Controller, @RequestMapping 등 애너테이션 기반으로 간편하게 등록할 수 있도록 발전하였다.

 

Servlet 등록 설정

톰캣의 Servlet등록 설정
스프링의 DispatcherServlet 등록 설정

 

앞서 말한 것 처럼, 공통 설정보다 개별 설정의 우선 순의가 더 높아,

톰캣 내부에 있는 web.xml보다 스프링 프로젝트 내부의 web.xml이 더 높은 우선 순위를 가진다.

 

그렇기 때문에 서로 같은 <url-pattern>/<url-pattern>URL로 맵핑이 되어있지만

DefaultServlet에서 처리해야할 요청을 DispatcherServlet에서 모든 가로채어 처리를 하게된다.

 

반응형
Comments