클래스를 새로 만들었다.

 

 

원격 호출가능하도록 @Controller와

URL과 메서드를 연결가능하도록 @RequestMapping을 만들었고 /hello로 지정하였다.

 

 

 

서버를 실행 시켜보니 보기와 같이 404 Not Found가 나와서 에러인가?

 

 

하지만 Console창을 확인해보니 Hello가 출력됨을 알 수 있었다.

즉, 호출이 잘 된 것이고 새로고침을 해보면 Hello가 한번 더 출력된다.

 

 

url의 /hello를 지우니 원래처럼 잘 호출한다.

 

코드를 아래와 같이 수정해보았다.

 

 

출력 결과

url에 /hello를 추가하여 main2는 호출되지 않았는데

main2를 호출하고 싶으면 매핑을 추가하면 된다.

main이 static이 아니라서 static변수와 인스턴스 변수를 모두 사용할 수 있기에 권장된다.

 

 

 

 

그런데 private은 접근제한자 중에 숨기는 것인데 어떻게 호출이 될 수 있을가? 

 

chatgpt

 

다른 클래스에서 private에 접근하는 것은 원래는 불가능하나

다음과 같이 java에서 제공하는 reflect API를 활용하면 접근이 가능하다.

 


 

 


 

MVC project를 로컬에서 만들수 없기에

 

기존의 firstSpring 폴더를 복사 +붙여넣기해서 새로 만들었다.

 

 

그리고 나서 붙여 넣기할때 프로젝트 이름을 변경하여 생성했다.

 

 

잘 만들어진 모습

 

 

새로 만들어진 ch2폴더의 pom.xml에 들어가서

 

 

firstSpring의 이름을 모두 찾아서 ch2로 replace 하였다.

 

 

 

하지만 다시 서버를 실행시켜보면 ch2가 아닌 firstSpring이 동작함을 알 수 있다.

 

 

 

이를 해결하기 위한 방법으로는 우선 패키지뷰에서 폴더를 삭제하는 데

중요한건 저 체크표시를 하면 안된다. (그러면 전부 사라지는 것? 같다)

출처 :https://www.youtube.com/watch?v=DRJojJvWuFo

 

그리고 원래 폴더가 저정되었던

생성된 경로에 들어가서 src와 pom.xml을 제외하고 모두 삭제

 

그리고 STS에 들어가서 import - Maven - Existing Maven Projects에서 Browse로 폴더를 찾아주고

import할 것만 클릭해서 가져온다.

 

그리고 서버를 다시 실행하면

실행도 잘 되고 기존의 firstSpring으로 시작 되었던 것이 ch2로 실행하게 된다.

 

만약에 마지막 과정에서 에러가 날 경우

서버가 한번에 동시에 두개를 실행하려 한 것일 수 있으니

서버를 중지했다가 다시키면서 ch2를 선택하자

https://aws.amazon.com/ko/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all

 

무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어

이러한 프리 티어 혜택은 AWS 신규 고객에게만 제공되며 AWS 가입일로부터 12개월 동안 유효합니다. 12개월의 무료 사용 기간이 만료되거나 애플리케이션 사용량이 프리 티어 범위를 초과할 경우

aws.amazon.com

 

 

쭉 가입을 하다 보면 이 화면이 나온다.

AWS Management Console로 이동 클릭

 

검색에 ec2검색 후 클릭

 

오하이오를 아시아 태평양(서울)로 변경

 

인스턴스 시작 클릭

 

 

본인이 원하는 이름으로 키 이름 지정후 인스턴스 시작

 

 

인스턴스 시작이란? 가상 컴퓨터를 새로 만드는 것

 

 

 

상태 검사를 하는 데 시간이 조금 걸리므로 기다렸다가 새로고침을 누르고

저렇게 상태 검사가 확인되면 연결 버튼을 누른다.

 

그 후 생성된 암호 복사 후 붙여넣기

 

 

가상 컴퓨터가 만들어짐을 확인 할 수 있다.

 

 

브라우저를 열고 깃허브로 들어간다.

 

그 후 나오는 팝업은 open -> close

https://github.com/castello/spring_basic

 

GitHub - castello/spring_basic: 남궁성의 스프링 기본 강의 @fastcampus.co.kr

남궁성의 스프링 기본 강의 @fastcampus.co.kr. Contribute to castello/spring_basic development by creating an account on GitHub.

github.com

 

이제 JDK랑 Tomcat을 설치 할 것이다.

보안때문에 설치가 안될 것인데

 

톱니바퀴 클릭후 Internet Options 클릭 -> Security -> Custom level -> File download(enabel) -> ok

 

 

이제 OpenJDK, Tomcat 이 설치 가능하다.

 

https://jdk.java.net/archive/

 

Archived OpenJDK GA Releases

Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to he

jdk.java.net

 


https://tomcat.apache.org/download-90.cgi

 

Apache Tomcat® - Apache Tomcat 9 Software Downloads

Welcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification version

tomcat.apache.org

 

 

톰캣 다운로드 들어가서 zip 클릭 후 save

 

 

설치가 잘 됬음을 확인

 

파일 이름을 jdk-11.0.2 -> jdk11로 변경

 

bin 경로 복사

 

control panel 검색 후 이동 (제어판)

 

 

아까 복사한 jdk의 bin 폴더의 경로를 복사 후 넣어준다.

이번에는 bin을 빼고 넣어준다.

 

이러면 환경변수 설정 끝

설정이 잘 되었는지 확인한다.

cmd로 들어간후 javac -version

 

톰캣도 jdk와 같이 c드라이브로 옮겨주면 자동으로 압축이 풀린다.

톰캣의 bin의 startup클릭

톰캣이 실행된다.

 

톰캣도 잘 실행이 되었는지 확인하기 위해 브라우저를 열고

http://localhost:8080 입력 후

톰캣이 잘 열리는 지 확인

 

 

이제 가상 컴퓨터에 직접 접속하기 위해 방화벽설정에서

내부로 들어오는 것을 열어주어야 한다.

Inbounded Rules -> New Rule

 

AWS에서도 방화벽을 열어주어야 한다.

 

 

이제 마지막으로 내 pc에서 가상pc의 톰캣으로 접속이 되는지 확인 할 것이다.

ec2의 대시보드에 들어가서 인스턴스(실행 중) 클릭

 

체크를 한 후 퍼블릭 IPv4 주소를 복사

그 후 :8080 을 붙여주면 접속된다.

 

 

+ Recent posts