썸네일 [스프링 MVC 1편] 서블릿 정리
썸네일 [스프링 MVC 1편] 웹 애플리케이션 이해 정리 웹 서버, 웹 애플리케이션 서버 ✔ 서블릿 (Servlet) → 의미 있는 비즈니스 로직을 제외한 모든 기능을 지원해준다! → TCP/IP연결, HTTP 요청 파싱, 응답 ... @WebServlet(name = "helloServlet", url = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) { //애플리케이션 로직 } } → http://localhost:8080/hello 의 URL이 호출되면 서블릿 코드(service)가 실행 → 개발자는 HttpServletRequest 객체..
명품 자바 4장 실습문제 (1번 ~ 5번) 틀린 부분이 있다면 댓글 남겨주세요 :) 1. 자바 클래스를 작성하는 연습을 해보자. 다음 main() 메소드를 실행하였을 때 에시와 같이 출력되도록 TV 클래스를 작성하라. public class TV { private String brand; private int year; private int inch; public TV(String brand, int year, int inch) { this.brand = brand; this.year = year; this.inch = inch; } public void show() { System.out.println(brand + "에서 만든 " + year + "년형 " + inch + "인치 TV"); } } public class Practice { p..
썸네일 [Spring] AOP 1. AOP 적용 : 공통 관심 사항과 핵심 관심 사항을 분리!
썸네일 [Spring] 스프링 DB 접근 기술 1. H2 데이터베이스 0) 실행 //h2 폴더로 이동 $cd Desktop $cd study $cd h2 $cd bin //모든 파일, 폴더를 시간 역순으로 출력 $ls -arlth //Mac OS의 경우 권한을 부여 $chmod 755 h2.sh //실행 $./h2.sh 결과 ) 1) 데이터 파일을 만들어주기 jdbc:h2:~/test (최초 한번) ~/test.mv.db 파일 생성 확인 jdbc:h2:tcp://localhost/~/test 이렇게 접속 2) MEMBER 테이블 생성 3) SELECT * FROM MEMBER; 4) insert into member name values('spring'); 2. 순수 JDBC 1) build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이..
썸네일 [Spring] 회원 관리 예제 - 홈 화면 추가 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술(by 김영한) 강의를 바탕으로 정리한 내용입니다. 1. 홈화면 추가 HomeController @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } resources/templates/home Hello Spring 회원 기능 회원 가입 회원 목록 2. 등록 MemberForm public class MemberForm { private String name; public String getName() { //단축키 : command + n return name; } public void setName(String name..
썸네일 [Spring] 스프링 빈과 의존관계 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술(by 김영한) 강의를 바탕으로 정리한 내용입니다. 1. 컴포넌트 스캔과 자동 의존관계 설정 컴포넌트 스캔 원리 @Component 애노테이션이 있으면 스프링 빈으로 자동 등록된다. @Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문이다. @Component 를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록된다. @Controller @Service @Repository 스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 기본으로 싱글톤으로 등록한다(유일하게 하나만 등록해서 공유한다) 따라서 같은 스프링 빈이면 모두 같은 인스턴스다. 설정으로 싱글톤이 아니게 설정할 수 있지만, 특별한 경우를 제외하면 대부분 싱..
썸네일 [Spring] 회원 관리 예제 - 백엔드 개발 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술(by 김영한) 강의를 바탕으로 정리한 내용입니다. 1. 비지니스 요구사항 정리 -데이터 : 회원 ID, 이름 - 기능 : 회원 등록 + 조회 - 아직 DB가 정해지지 않은 상태 - 컨트롤러를 통해 외부 요청을 받음 - 서비스에서 비즈니스 로직을 만듦 (ex. 회원 중복 가입은 허용하지 않음) - 리포지토리에서 DB에 접근하여 도메인 객체 저장/관리 - 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 2. 회원 도메인과 리포지토리 만들기 회원 객체 : /domain/Member package hello.hellospring.domain; public class Member { // 요구사항에서 데이터 :..
썸네일 [Spring] 스프링 웹 개발 기초 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술(by 김영한) 강의를 바탕으로 정리한 내용입니다. 1. 정적 컨텐츠 html파일을 그대로 웹브라우저에 전달하는 것이다. 1) 웹브라우저에 localhost:8080/hello-static.html 을 침 2) 내장 톰켓 서버거 요청을 받아서 컨트롤러에서 hello-static을 먼저 찾음 3) hello-static과 매핑되는 컨트롤러가 없으면 resources내부의 html을 찾음 4) html이 존재하면 웹브라우저에 반환함 2. MVC와 템플릿 엔진 MVC : Model + View + Controller : 서버에서 프로그래밍을 해서 html을 동적으로 변형 후 웹브라우저에 전달하는 것 1) 웹브라우저에 localhost:8080/hello-..