이번 내용은 생성된 프로젝트에 웹 프로젝트를 실행 하기 위해 필요한 dependency를 추가 하고 필요한 코딩을 할려고 한다.
0.프로젝트 구조
이전 시간에 구현한 프로젝트 이다.
여기서 각 파일이 어떤 일을 하며 어떤 내용을 입력 하는지 알아 두면 좋다.
- DemoApplication.java : 추후 이름을 바꿀꺼지만 서버 실행시 처음으로 실행 되는 부분이다.
- application.properties : 웹에 필요한 환경 설정 정보를 입력하는 부분이다. 입력시 key=value 방식으로 입력을 하고 여기에 port번호 prefix, DB 내용 등 다양한 서버 정보를 입력 및 설정할수있다.
- build.gradle : dependency를 입력하는 곳이다. 꼭 dependency를 입력 하지 않고 Gradle 을 추가 할수도 있다.
- .gitignore : 웹 개발시 git(버전 관리 프로그램)을 사용할떄가 많다. 이떄 여기에 등록된 확장자는 git 에 프로젝트를 올릴시 제외 하고 프로젝트가 올려진다.
- java.com.spring.basic.first : package는 앞으로 java 관련 코드 Controller, Configuration, VO 등등 다양한 JAVA CODE를 입력하는 패키지 이다.
- test.java.com.spring.basic.first : 현재 package는 웹 개발을 하면서 개발된 내용을 테스트 하기 위해 작성하는 곳이며 이에 관한 내용은 추가로 올릴 예정이다.
- 본래 java, resources, webapp 이 같은 level에 구성되어 있으며 webapp은 대부분 눈에 보여지는 View 부분을 작성하기 위한 Package이다.
1.기본 Dependency
웹 서버를 실행하기위한 Dependency를 추가한다.
build.gradle
compile("org.springframework.boot:spring-boot-starter-web:2.3.1.RELEASE") // 추가시 웹 개발에 필요한 기본 환경설정 제공
이렇게 디펜던시를 추가하면 Spring으로 웹을 실행할만한 Tomcat 서버 및 @SpringBootApplication 어노테이션을 추가 할수있다.
어노테이션은 기본적으로 웹의 환경설정을 정의 하는 것이며 @SpringBootApplication는 Spring 개발시 자주 쓰이는
@Configuration + @EvableAutoConfiguration + @ComponentScan 를 묶어 놓은 것이다.
2.서버 port 설정
application.properties에 port번호를 입력한다.
입력을 하면 서버는 포트번호 8080을 기준으로 실행이 된다.
3.서버 실행 테스트
Visual Studio code의 Terminal을 실행한다.
현재 프로젝트에서 "gradlew :bootrun" 을 실행해 본다. (명령어를 찾지 못할시 gradle을 설치 하여야 합니다.)
Terminal 창이 없을때
의 파란색 라인의 아이콘을 클릭하면 Terminal이 뜬다.
이렇게 동작을 하면 서버가 실행 완료과 된것이다.
이때 브라우저에 localhost:8080을 입력후 연결하면 에러 페이지가 뜬다.
에러 페이지가 뜬 이유는 localhost:8080 경로에 맞는 실행 동작이 없기 때문이다.
즉. 아무것도 없는 집 주소 찾아 갔으니 아무것도 없다는 황량한 대지가 나온것이다.
이렇게만 해도 일단은 서버가 잘 동작하고 있으니 안심해도 된다.
4.기본 주소 Controller 생성
첨부된 이미지 처럼 com.spring.basic.first.controller.MainController.java 를 생성한다.
(나중에 생성해도 좋지만 webapp.WEB-INF.main.jsp 도 생성해 놓는게 좋다.)
또한 하단 처럼 생성된 Controller에 아래와 같이 작성을한다.
또한 webpaa.WEB-INF.main.jsp 파일을 생성하여 기본 HTML 파일을 만들어 준다.
전부 다 작성을 했으니 이제 다시 실행을 시키면 처음과 같이 분명 에러 페이지가 뜰것이다!!!!!
그 이유는 현재 Spring Boot 서버를 실행을 하고 각 File(application.properties 등등)이 무슨동작을 하는지 인지 된 상태지만 View 접근에 관한 내용이 없기 떄문에
jsp를 찾지 못하기 때문이다.
이 때문에 하단 dependency를 추가를 해야 한다.
compile("org.apache.tomcat.embed:tomcat-embed-jasper:9.0.36")
위의 dependency가 View단의 main.jsp를 찾을수 있게 하며 다시 서버를 실행을 한후 localhost:8080 에 접속해 보면
동작이 잘되는것을 알수있다.
오늘은 서버를 실행 시키고 View를 출력하는 법까지 작성을 하고 다음 시간에는 DB에 연결을 하는법을 알아 보도록 하겠다.
개인적인 생각.
개발을 하면서 다른 사람 프로젝트 개발 방법을 많이 보았습니다.
하지만 정작 dependency가 무슨일을 하는지 왜 동작이 되는지 제대로 알지 못하여서 정리를 해 보았습니다.
개발을 할때 실행이 되는것도 중요 하긴 하지만 여유가 있거나 좀더 시간이 있다면 왜? 실행이 되는지가 매우 중요한거 같습니다.
'BackEnd > Spring Boot' 카테고리의 다른 글
HikariCP란? (0) | 2023.04.15 |
---|---|
JDBC란? (0) | 2023.04.15 |
Spring Boot 서버 구축[1] (0) | 2023.04.15 |
Spring Boot란? (0) | 2023.04.15 |
Override VS Overload (0) | 2023.04.15 |