아파치/톰캣 설치하기
톰캣은 스프링에 내장되어 있어서, 우린 톰캣을 설치만 하고 개념만 잡을 것임. 애부터 배워야 스프링을 이해할 수 있음
[톰캣 설치 사이트] https://tomcat.apache.org/whichversion.html
C:\Program Files\Apache Software Foundation\Tomcat 11.0 톰캣 설치 경로. 추후에 인텔리J에서 톰캣 경로 잡을때, 이걸로 잡으면 된다.

우린 자바 21버전 쓰니까, 톰캣 11을 받아야함

우린 인스톨러를 다운받을 것이다 아까 통신을 자동으로 했잖아? (소켓이나 버퍼 코드를 치지 않고도!) 그게 전부 아파치/톰캣 덕분임
아파치 - 웹서버 / 톰캣 - WAS
[ 포트 번호 확인 ]

-1이라는 포트는 없다! 말이 안되는 포트.. 즉, 사용자가 직접 정해라는 뜻
Shutdown Port = 원격으로 특정 포트를 끌 수 있게 하는 포트 번호

우린 일단 8005로 하자. (원격... 쓸 일은 없다) * Connector Port = 서버 소켓 포트

jdk가 설치된 위치를 환경변수 덕분에 알아서 찾아줬다. *JAVA_HOME도 프로토콜

스프링은 톰캣이 내장 되어있다. 때문에 스프링이 실행되고 있으면 포트 충돌로 작동 안됨 그러니 일단은 인텔리J (스프링)을 꺼주자

이젠… 톰캣이 8080 포트를 먹었어요… (주소창에 localhost:8080) 이 페이지가 떴다는 말은 [http://localhost:8080/index.html] 즉, 인덱스 파일이 열렸다는 말이다. 이제 이걸... 좀 더 자세히 알아보자
클라이언트가 특정 파일을 요청하지 않았을 때,
웹 서버가 기본적으로 인덱스 파일을 찾는 동작을 수행한다. = 프로토콜이다.
아파치/톰캣도 APP이다. 프로그램이니까!
index.jsp 등 index 설명 [ WEB-INF - web.xml ]

웹 애플리케이션의 정적 파일은 일반적으로 'webapp'이라는 폴더에 저장되어 있다. 아파치는 클라이언트로부터의 요청을 받으면 해당 요청에 대한 파일을 'webapp' 폴더에서 찾아내고, 그 파일을 읽어서 클라이언트에게 보낸다.

index.jsp 를 지우니까

404. index를 날려서 찾지 못한다. 이제, 우리가 index를 만들어보자! * WEB-INF 빼고는 필요 없으니 다 지워줬다. (저 파일 안 쓸 거거든요)

index.html(내가 만듬)을 vs코드로 열어서 코딩 함 해보자
[ index 창 띄우기 ]


자바 파일 못 섞음 > 정적 이제... WEB-INF 폴더에 들어가보자
[ WEB-INF - web.xml ]
Java 웹 애플리케이션에서 사용되는 특별한 폴더. 이 폴더는 웹 애플리케이션의 구조와 보안에 관련된 파일들을 포함하고 있으나... 우리가 만질 일은 없고, 개념 정리만 해보고 넘어가자


xml방식이라 열고 닫는 코드 있죠? 봤으면 끄자
[ 톰캣 폴더 들어가기 ]



클라이언트가 특정 파일을 요청하지 않았을 때, 웹 서버가 기본적으로 인덱스 파일을 찾는 동작을 수행한다고 했잖아? 이걸 보면, 특별한 자원 요청이 없으면 저 3개의 index 중 하나를 열어준다는 코드다. 일단, 이걸 주석처리 해보자. index가 뜨는지 확인하기 위해서! 톰캣을 재시작할 필요성이 있다. (재시작해야 작동함)
[ 톰캣 재시작 ]

톰캣 우클릭 후 configure 클릭

stop, start 누르기 (재실행)

index 코드를 다 지웠더니 역시 안 찾아짐 ㅠㅠ 이걸... 확인하려고 한거다. 아무 요청없이 들어가면 잡혀있는 index가 열린다는 것을...
Share article