웹
-
[MVC] 서블릿, 쓰레드웹/Spring 2024. 4. 1. 15:47
서블릿 @WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response){ //애플리케이션 로직 } } urlPatterns(/hello) 의 URL이 호출되면 서블릿 코드가 실행됨 HTTP 요청 정보를 편리하게 사용: HttpServletRequest HTTP 응답 정보를 편리하게 사용: HttpServletResponse HTTP 요청, 응답 흐름 WAS는 Request, Response 담을 객체를 새로 만들어서 서..
-
[Spring Boot] 상품 도메인 만들기웹/Spring 2021. 12. 21. 10:27
상품 객체 생성 java/hello/item/Domain 패키지 생성 java/hello/item/Domain/Item.java 생성 package hello.item.Domain; public class Item { // item 이름 public String name; // item id public long id; // item 가격 public long cost; // item 수량 public long count; // Getter / Setter public String getName() { return name; } public void setName(String name) { this.name = name; } public long getId() { return id; } public vo..
-
[Spring Boot] 프로젝트 생성웹/Spring 2021. 12. 21. 10:11
프로젝트 생성 https://start.spring.io/ ≫ 프로젝트 선택 Project : Gradle Language : Java Spring Boot : 2.6.1 ≫ 프로젝트 Metadata Group: hello Artifact: board Name: board Package name: hello.board Packaging: Jar Java: 11 ≫ Dependency Spring Web Thymeleaf 요구사항 분석 ≫ 상품 도메인 모델 상품 ID 상품명 가격 수량 ≫ 상품 관리 기능 상품 목록 상품 상세 상품 등록 상품 수정 참고 https://velog.io/@sorzzzzy/Spring-Boot4-7.-%EC%8A%A4%ED%94%84%EB%A7%81-MVC-%EC%9B%B9-%E..
-
[Spring] Controller에 GetMapping 이용하여 페이지 호출웹/Spring 2021. 12. 20. 11:41
localhost:8080 호출 시, 매핑정보가 없으면 resources/static/index.html 이 호출됨. html example hello world 1. Controller 생성 java/com/example/demo/Hello/HelloController.java package com.example.demo.Hello; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloController { @GetMapping("hello")..
-
[Spring] @Test웹/Spring 2021. 12. 14. 10:51
- Test 어노테이션 - JUnit 전체 프로젝트 (was/톰캣 등) 을 구동하지 않고 단위 코드 테스트를 가능하게 해주는 라이브러리 개발한 기능을 테스트 할 때 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵고 여러 테스트를 한번에 실행하기 어렵다는 단점이 있다. 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다.
-
[Spring] MVC RequestParam, ResponseBody웹/Spring 2021. 12. 13. 22:53
MVC Model, View, Controller View - 화면을 그리는데 집중 Controller, Model - 비즈니스 로직, 내부적인 것 처리 @GetMapping("hello-mvc") public String helloMvc(@RequestParam(value = "name", required = false) String name, Model model){ model.addAttribute("name", name); return "hello-template"; } @RequestParam("name") 은 파라미터를 전달받아서 페이지를 리턴한다. required 옵션 디폴트는 true 이다. 변수값을 전달해주지 않으면 에러페이지를 출력한다. required를 false로 해두면 변수값을 전..
-
[Spring] IoC 컨테이너 / DI웹/Spring 2021. 12. 5. 17:36
IoC (Inversion of Container) 제어권의 역전 기존의 제어권 (객체 간의 의존성을 정의하고 결정)은 어플리케이션에 있었으나, 객체의 생명주기(lifecycle) 이 컨테이너로 넘어감. 객체의 생성부터 생명주기까지의 제어를 컨테이너에서 전담함. 객체가 사용할 의존 객체를 직접 생성하여 사용하는 것이 아니고 주입(Injection) 받아서 사용함. DI (Dependency Injection) 의존성 주입 각 객체간의 의존성을 Bean 설정 파일로부터 읽어들여서 컨테이너가 자동으로 연결시켜주는 것. Bean Factory Spring Framework의 interface. 모든 유형의 개체를 관리할 수 있는 메커니즘 제공. ApplicationContext는 BeanFactory의 하위 ..
-
[Spring] 스프링 구조웹/Spring 2021. 12. 1. 00:34
1. Model (DAO - Data Access Object) - DB에서 가져온 값을 도메인 오브젝트에 리턴 / 도메인의 값을 DB에 리턴해주는 역할 - DB와 유저가 보는 화면(View)를 이어주는 역할 (Model의 값과 값의 타입을 입력해주면 거기에 맞추어서 값을 가져오고 전달) 2. Repository - JPARepository 사용하여 DB에 CRUD의 명령을 실행하게 만드는 인터페이스 3. Controller - 사용자의 요청을 처리한 후 지정된 뷰에 모델 객체를 넘겨주는 역할 - 뷰를 연결하여 웹을 띄우고 뷰에서 가져오는 데이터들을 어떻게 처리하는지 사용자가 지정해놓으면 그 역할에 맞춰서 사용자의 역할 처리 - 웹으로 들어오는 여러 요청들을 처리하는 역할. Dispatcher Serve..