# 수익을 위해 작성한 글이 아닙니다.
# 수업을 받고 내용을 정리하기 위해 작성한 글입니다.
# 수업 책: 점프 투 스프링부트
# 2024-09-23
스프링부트 개발 준비하기
- 자바와 STS(Spring Tool Suite) 에디터를 설치하고, 스프링 부트 프로젝트를 생성하기.
1. 스프링 부트란?
- 웹 프로그램(웹 애플리케이션)을 쉽고 빠르게 만들 수 있도록 도와주는 자바의 웹 프레임워크이다.
- 자바로 만든 웹 프레임워크 중 하나이다.
특징
- 튼튼한 웹 프레임워크이다. (기본적으로 보안 공격을 잘 막아준다.)
- SQL 인젝션, XSS(cross-site scripting), CSRF(Cross-Site Request Forgery), 클릭재킹(clickjacking)같은 보안 공격을 막아준다.
- 톰캣(Tomcat)이라는 서버를 내장하고 있다. 그래서 따로 WAS를 설정할 필요가 없다.
- jar 파일에도 톰캣 서버가 내장되어 실행된다.
- 복잡한 설정을 자동화·단순화하여 누구나 쉽게 사용할 수 있는 프레임워크이다.
- 만들어져 있는 기능이 많다. (로그인 기능, 페이징 기능 등등)
- 몇 가지 규칙만 익히면 기존에 자바로 웹 프로그램을 작성하는 방식보다 빠르게 웹 프로그램을 할 수 있다.
2. 웹 프레임워크란?
- 웹 프로그램을 만들기 위한 스타터 키트.
3. 용어
- 톰캣(Tomcat)
- 클라이언트의 요청을 해석하여 그에 맞는 자바 프로그램을 실행한 후 그 결과를 응답해주는 웹 애플리케이션 서버.
- WAS
- Web Application Server
- 웹 애플리케이션과 서버 환경을 연결하는 중간 역할을 하는 소프트웨어 플랫폼.
- 예: 사용자가 웹 브라우저로 서버에 요청을 보내면 WAS가 사용자의 요청을 해석하여 그에 맞는 서버 프로그램을 구동한 후 그 결과를 사용자에게 보여준다.
- WAS 종류: 아파치 톰캣, 오라클 웹 로직(Weblogic), IBM 웹스피어(WebSphere), 제이보스(JBoss, 와일드플라이WildFly), 제우스(Jeus) 등등
- 보안공격 용어들
- SQL 인젝션은 악의적인 SQL을 주입하여 공격하는 방법이다.
- XSS는 자바스크립트를 삽입해 공격하는 방법이다.
- CSRF는 위조된 요청을 보내는 공격 방법이다.
- 클릭재킹은 사용자가 의도하지 않은 클릭을 유도하는 공격 방법이다.
스프링 부트 개발 환경 준비하기
1. JDK 설치하기
- https://www.oracle.com/java/technologies/downloads/ 접속
- 본인 컴퓨터 운영체제 맞게 JDK 다운로드 하기.
- 수업은 Windows용 JDK 17을 다운로드하였음.
- 다운로드 받은 JDK 설치하고 다음과 같은 경로에 저장한다.
- C드라이브 > JAVA_HOME 폴더 생성 > JDK 폴더 생성 > zulu17 폴더 생성 > JDK 17 설치
2. JAVA PATH 설정
- 시스템 환경 변수 편집 > 환경 변수 버튼 클릭 > 시스템 변수 영역에서 새로 만들기 > 변수 이름은 JAVA_HOME, 변수 값은 설치한 JAVA경로( zulu17 폳더로) 지정하여 저장
스프링 부트 프로젝트 생성
1. Create new Spring Starter Project 클릭
2. Name, Group, Package 내용 이미지와 동일하게 수정
- Name : sbb / 프로젝트명
- Group : com.mysite / 일반적으로 url 명으로 사용
- Package : com.mysite.sbb / com.mysite 까지 Group이고 sbb는 프로젝트명이다.
- 내용 수정 후 Next 버튼 클릭
3. Spring Web 선택 > Finish
!! 주의
만약에 아래 이미지처럼 에러가 났다면 jar 파일을 연결해주면 된다.
1) 상단 탭 메뉴에서 Window > Preferences 클릭
2) Gradle 메뉴 클릭 > Java home 우측에 Browse... 버튼 클릭
3) 내가 설치한, 사용할 JDK가 있는 폴더를 선택 > Apply and Close 클릭
Class 생성하여 웹브라우저에 출력해보기
1. Class 생성해보기
- sbb > src/man/java > com.mysite.sbb 패키지를 클릭 > 마우스 우클릭 > New > Class 클릭
- Name을 HelloController로 수정 후 Finish 버튼을 클릭해 생성하기
2. 로컬서버를 실행시켜 웹브라우저에 화면 출력하기
- @Controller, @GetMapping, @ResponseBody 어노테이션 사용하여 코드 작성
- 상단에 ▶ 버튼을 클릭해서 서버 실행시키기
- 웹브라우저에서 url 주소를 localhost:8080/hello 입력 후 엔터
1) @Controller, @GetMapping, @ResponseBody 어노테이션 사용하여 코드 작성
package com.mysite.sbb;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello() {
return "Hello World";
}
}
2) 상단에 ▶ 버튼을 클릭해서 서버 실행시키기
3) 웹브라우저에서 url 주소를 localhost:8080/hello 입력 후 엔터
cmd 창으로 ip 검색과 ping으로 요청해보기
1. cmd 창에서 ipconfig 명령어 입력 후 엔터
- cmd 창에서 ipconfig 명령어 입력 후 엔터
- IPv4 주소 . . . . . . . . : 192.168.0.21 이 내 컴퓨터 IP주소이다.
2. ping 명령어로 연결 요청해보기
- ping 명령어 입력 후 뒤에는 연결할 IP주소를 입력하고 엔터를 치면 된다.
Maven 자료
- Maven Repository : https://mvnrepository.com/
'Java > SpringBoot' 카테고리의 다른 글
[MyBatis] useGeneratedKeys, keyProperty (1) | 2024.10.28 |
---|---|
@Autowired (0) | 2024.10.23 |
Spring Bean (스프링 빈) (0) | 2024.10.23 |
@Controller, @RestController 차이 (0) | 2024.10.23 |
SpringBoot(스프링부트) 수업 2일차 (0) | 2024.09.24 |