목록분류 전체보기 (37)
프로그래밍 끄적끄적
* 웹 애플리케이션 계층 구조 일반적인 웹 애플리케이션 계층 구조는 아래의 그림과 같다. 서비스는 핵심 비즈니스 로직을 구현하는 부분이며, 리포지토리는 데이터베이스에 접근하는 부분으로 도메인 객체를 DB에 저장하고 관리한다. 도메인은 주로 데이터베이스에 저장하고 관리되는 비즈니스 도메인 객체이다. * 회원 관리 예제의 비즈니스 요구사항 정리 - 데이터: 회원ID, 이름 - 기능: 회원 등록, 조회 - 아직 데이터 저장소가 선정되지 않음 * 도메인 회원ID와 이름을 등록하기 위한 객체로 Member를 작성한다. (getter, setter 생략) 1 2 3 4 5 6 public class Member { private Long id; private String name; } cs * 리포지토리 회원 관리..
* 정적 컨텐츠 : 파일을 그냥 그대로 웹 브라우저에 보여준다. : url은 static 이후의 파일경로를 그대로 작성하면 된다. (ex. localhost:8080/hello.html) ※ url이 들어오면 먼저 1) 관련된 컨트롤러가 있는지 찾고, 없으면 2) static에서 보여줄 수 있는 파일이 있는지 찾는다. 만약 1)에 의해 찾은 파일들이라면 템플릿 엔진에 의해 가공된 후에 웹 브라우저에게 넘겨준다. * MVC와 템플릿 엔진 : 서버에서 html을 바꿔서 보여준다. ◎ MVC (Model, View, Controller) Model은 데이터와 비즈니스 로직을 관리한다. View는 레이아웃과 화면을 처리한다. (많은걸 하려고 하지 말고 보여주는 역할에 충실히 하자!) Controller는 명령을..
* Welcome page (정적 페이지) src/main/resources/static/index.html 스프링 부트는 시작 페이지를 보여주기 위해 먼저 static에서 index.html 파일을 찾는다. 발견되지 않으면 templates에서 index.html 파일을 찾는다. * Thymeleaf 템플릿 엔진 1 2 3 4 5 6 7 8 9 @Controller public class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; } } Colored by Color Scripter cs Line 1) @Control..
이러한 에러는 8080 포트를 이미 다른 프로세스/프로그램이 점유 중이어서 발생한다. 따라서 해당 프로세스를 종료시켜주면 해결된다. Windows 기준으로, >> netstat -ano | findstr 8080 : 포트번호를 사용 중인 pid를 찾아낸다. >> taskkill /F /pid [pid] : 찾아낸 pid를 종료시킨다. 참고자료 https://7942yongdae.tistory.com/35 Error - Port 8080 was already in use Port 8080 was already in use 에러와 원인과 해결 방법 메시지 *************************** APPLICATION FAILED TO START *************************** De..
Execution failed for task ':compileJava'. > invalid source release: 11 스프링을 시작하기 전, 프로그램 세팅중에 위와 같은 오류가 나서 열심히 구글링을 했다. 일단 나의 경우는 스프링을 공부하기 위해 jdk 8을 쓰고 있던 중, jdk 11로 바꾸어야 하는 상황이었다. 1. jdk 11 버전 다운받기 https://www.oracle.com/kr/java/technologies/javase-jdk11-downloads.html 운영체제에 따라 알맞는 jdk 파일을 다운받는다. 2. java 환경변수 변경하기 [시스템 속성]-[고급]-[환경 변수]로 들어가 환경변수를 변경하면 된다. 이때, [시작] 옆의 [검색] 에서 '고급'을 검색하여 '고급 시스템..