yunyj99
라둥이
yunyj99
GitHub
전체 방문자
오늘
어제
  • 분류 전체보기 (309)
    • 1. 프로그래밍 (50)
      • 1-1. Git (17)
      • 1-2. Java (13)
      • 1-2-1. Java GUI (1)
      • 오류 (12)
      • 기타 (7)
    • 2. Front-end (57)
      • 2-1. HTML (5)
      • 2-2. CSS (19)
      • 2-3. Java Script (33)
      • 2-4. React (0)
    • 3. Back-end (47)
      • 3-1. Spring MVC - 국비 (15)
      • 3-2. Spring MVC - 남궁성 (30)
      • 3-3. Spring - 김영한 (2)
    • 4. Android (1)
    • 5. DB (20)
      • 4-1. MySQL DBMS (20)
    • 6. 자료구조 & 알고리즘 (44)
      • 6-1. 자료구조 (14)
      • 6-2. 백준 (30)
    • 7. 웹 디자인 (7)
      • 7-1. UX 디자인 (7)
    • 8. 자격증 (35)
      • 8-1. 정보처리기사 (35)
    • 프로젝트 (3)
      • 프로젝트 기록 (3)
    • etc... (43)
      • 패스트캠퍼스 챌린지 (39)
      • 잡담 (4)

블로그 메뉴

  • 홈
  • 태그

최근 글

티스토리

hELLO · Designed By 정상우.
yunyj99

라둥이

쓰기
Spring MVC - [ 클라이언트와 서버 ]
3. Back-end/3-2. Spring MVC - 남궁성

Spring MVC - [ 클라이언트와 서버 ]

2022. 10. 7. 23:17

1. 클라이언트와 서버

  • 클라이언트(client) : 서비스를 요청하는 애플리케이션(or 컴퓨터)
  • 서버(server) : 서비스를 제공하는 애플리케이션(or 컴퓨터)

ex) 내가 브라우저에 주소를 입력하면 -> 내 컴퓨터는 클라이언트 컴퓨터, 주소를 입력한 브라우저는 클라이언트 app /응답하는 컴퓨터는 서버 컴퓨터, 응답하는 톰캣은 서버 app

 

 

 


2. 서버의 포트

어떤 서비스를 제공하는지에 따라서 서버가 여러 종류 있을 수 있다.(ex. Email server, File server, Web server ..)

하나의 컴퓨터에 여러 서버가 있을 경우, IP만으로는 어떤 서버에 요청을 보낸 건지 알 수 없다. 따라서 어떤 종류의 서버에 보낸 요청인지 알려주기 위해 포트 번호를 같이 써줘야 한다. (ex. 111.22.33.44:25)

참고로 Web server (포트번호:80)은 생략 가능하다.

 

 

 


3. WAS

  • Web Server : web을 서비스
  • WAS(Web Application Server) : 서버에 프로그램을 설치하고 클라이언트가 사용할 수 있게 해 줌

 

 

 


4. Tomcat의 내부 구조

요청이 들어오면 -> 포트번호에 해당하는 서버에서 -> Thread Pool(미리 만들어놓은 여러개의 Thread)에서 한가한 Thread 사용 -> 프로토콜에 해당하는 Connector가 -> Egine -> Host -> Context -> 서블릿을 호출한다.

 

 

 


5. Tomcat 설정 파일

  • 톰캣설치경로/conf/server.xml : Tomcat 서버 설정 파일
  • 톰캣설치경로/conf/web.xml : tomcat의 모든 web app의 공통 설정
  • 웹앱이름/WEB-INF/web.xml : web app 의 개별 설정

 

STS에서 보면 Servers 아래에서 설정 파일들을 확인할 수 있다. 이 파일들은 Tomcat의 conf 폴더에 있는 설정 파일의 복사본으로, 하나의 Tomcat 프로그램을 공유하면서 설정만 다른 여러 서버를 등록할 수 있다. 

 


1) server.xml

server.xml 파일에서 포트번호를 변경할 수도 있다. 여기서 port="8088" 을 port="80"으로 변경해주면, 실행 할 때 포트번호를 붙여주지 않아도 된다.

 

Engine은 여러 Host를 포함할 수 있다. 그 중에서 어떤 Host를 default로 할 것인지 지정할 수 있다.

 

 

 


2) web.xml

원격 프로그램을 사용하려면 1.서블릿 등록(원격 프로그램 등록)  2. URL 맵핑 이 필요하다고 했다. web.xml 파일에서 설정할 수 있다.

다만 요즘은 web.xml 파일에 설정하는 대신 애노테이션(@Controller, @RequestMapping ) 기반으로 바뀌고 있다.

1. 서블릿 등록
2. URL 연결

 

개별 설정 web.xml 파일에서도 1.원격프로그램 등록  2.URL 맵핑  코드를 확인할 수 있다.


참조

https://fastcampus.co.kr/dev_academy_nks

 

스프링의 정석 : 남궁성과 끝까지 간다 | 패스트캠퍼스

국비지원 조기 마감 신화, 베스트셀러 'JAVA의 정석'의 저자 남궁성의 Spring 강의입니다! 오픈톡방과 카페에서 평생 AS를 제공하며 완강과 취업까지 도와드립니다. 지금 할인가로 확인하세요!

fastcampus.co.kr

 

'3. Back-end > 3-2. Spring MVC - 남궁성' 카테고리의 다른 글

Spring MVC - [ 바이너리 파일 ]  (0) 2022.10.18
Spring MVC - [ HTTP 요청과 응답 - 이론]  (0) 2022.10.14
Spring MVC - [ HTTP 요청과 응답 - HttpServletRequest ]  (0) 2022.09.20
Spring MVC- [원격 프로그램의 실행]  (0) 2022.09.05
Spring - [기본 개발 도구 설치 - JDK11 / SDS3 / IntelliJ / Tomcat / VS Code]  (0) 2022.09.05
    '3. Back-end/3-2. Spring MVC - 남궁성' 카테고리의 다른 글
    • Spring MVC - [ 바이너리 파일 ]
    • Spring MVC - [ HTTP 요청과 응답 - 이론]
    • Spring MVC - [ HTTP 요청과 응답 - HttpServletRequest ]
    • Spring MVC- [원격 프로그램의 실행]
    yunyj99
    yunyj99
    개발자를 목표로 하는, 새싹처럼 성장하고 싶은 사람의 학습 공간 ^v^

    티스토리툴바