일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- git
- 2020년 정보처리기사 4회
- 성적프로그램
- Real MySQL
- 미니프로젝트
- 서평
- 2020년 일정
- 함수형 코딩
- sqldeveloper
- 책리뷰
- post
- 뇌정리
- 필기
- 항해99
- Python
- 2020년 제4회 정보처리기사 필기 문제 분석
- LeetCode
- java
- 스터디
- hackerrank
- 정보처리기사
- 주간회고
- 코드숨
- 회고
- 알고리즘
- jsp
- If
- algorithms
- Jackson
- Til
- Today
- Total
목록공부/Spring (17)
조컴퓨터
ResponseEntity 란? Spring Framework 에서 제공하는 클래스 중 HttpEntity 라는 클래스가 존재한다. 이것은 HTTP 요청(Request) 또는 응답(Response) 에 해당하는 HttpHeader 와 HttpBody 를 포함하는 클래스이다. public class RequestEntity extends HttpEntity public class ResponseEntity extends HttpEntity HttpEntity 클래스를 상속받아 구현한 클래스가 RequestEntity 와 ResponseEntity 클래스이다. ResponseEntity 는 HttpStatus, HttpHeaders, HttpBody 의 전체 HTTP 응답을 나타낸다. ResponseEnti..
프로젝트 생성 https://start.spring.io Packaging: War / Jar 1. JSP 를 사용하지 않는다면 Jar 를 사용하는 것이 좋다. 2. Jar 를 사용하면 항상 내장 서버(톰캣 등)을 사용하고, webapp 경로도 사용하지 않는다. 내장 서버 사용에 최적화되어 있는 기능이다. 최근에는 이 방식을 주로 사용한다. 3. War 를 사용하면 내장 서버도 사용 가능하지만, 주로 외부 서버에 배포하는 목적으로 사용한다. // 할 일: Jar 파일 ec2 서버에 올려서 톰캣 돌아가는지 확인 Welcome 페이지 만들기 스프링 부트에 Jar 를 사용하면 /resources/static 위치에 index.html 파일을 두면 Welcome 페이지로 처리해준다. 해당 위치가 스프링 부트가 ..

###뇌 정리용 글### 두 가지 프레임워크를 비교해 본다. 직접 만든 프레임워크 -> 스프링 MVC 비교 - FrontController -> DispatcherServlet - handlerMappingMap -> HandlerMapping - MyHandlerAdapter -> HandlerAdapter - ModelView -> ModelAndView - viewResolver -> ViewResolver - MyView -> View DispatcherServlet 구조 org.springframework.web.servlet.DispatcherServlet DispatcherServlet 은 스프링 MVC 의 핵심이다. DispatcherServlet 서블릿 등록 - DispatcherServ..

###뇌 정리용 글### 만약 어떤 개발자는 ControllerV3 방식으로 개발하고 싶고, 어떤 개발자는 ControllerV4 방식으로 개발하고 싶다면 어떻게 해야할까? public interface ControllerV3 { ModelView process(Map paramMap); } public interface ControllerV4 { String process(Map paramMap, Map model); } 이때 필요한 것이 어댑터 패턴이다. 지금까지 우리가 개발한 프론트 컨트롤러는 한 가지 방식의 컨트롤러 인터페이스만 사용할 수 있다. ControllerV3, ControllerV4 는 완전히 다른 인터페이스이다. 따라서 호환이 불가능하다. 마치 v3 와 v4 는 서로 규격이 다른 11..

###뇌 정리용 글### FrontController 패턴 도입 (=DispatcherServlet) - v1 내부 로직은 기본 서블릿과 거의 같다. 아래 그림의 1, 2번 작업을 진행할 프론트 컨트롤러만 생겨났다. View 분리 - v2 모든 컨트롤러에서 뷰로 이동하는 부분에 중복이 있고, 깔끔하지 않다. 아래의 중복 코드를 깔끔하게 분리하기 위해 별도로 뷰를 처리하는 객체를 만든다. String viewPath = "/WEB-INF/views/new-form.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); *MyView public class ..

디자인패턴은 코딩을 하는 사람들이 효율적으로 만들어지는 일련의 패턴들을 모아서 정형화 시켜놓은 것을 말한다. MVC 패턴이 탄생하게 된 계기 또한 하나의 서블릿, 순수 JSP 만으로 비즈니스 로직과 뷰 렌더링까지 모두 처리하다 보니 각각의 페이지들이 너무나 많은 역할을 하게 되고, 결과적으로 유지보수가 어려운 데에 있어 생겨났다. 그리고 MVC 패턴은 라이프 사이클 관리를 위해 탄생했다. 예를 들어, UI 를 일부 수정하는 일과 비즈니스 로직을 수정하는 일은 각각 다르게 발생할 가능성이 매우 높은데에 비해 대부분의 케이스에 있어서 서로에게 영향을 주지 않는다. 이렇게 변경에 대한 라이프 사이클이 다른 부분을 하나의 코드로 관리하는 것은 유지보수에 있어서 좋지 않다. MVC 패턴은 JSP 기능을 살려주는 ..
갑자기 궁금해져서 공부한다. // Member.java public class Member { private String username; private int age; // Overloading // Constructor1 public Member() { } // Constructor2 public Member(String username, int age) { this.username = username; this.age = age; } } 파라미터가 있는 생성자를 만들었는데, 왜 매개변수(파라미터)가 없는 기본 생성자를 선언할까? 1) 상속받아야 할 때 해당 클래스를 상속받는 경우 에러가 발생한다. 오류 메세지는 Implicit super constructor Parent() is undefined ..
HttpServletResponse 역할 - HTTP 응답 메시지 생성 - HTTP 응답 코드 지정 - 헤더 생성 - 바디 생성 - 편의 기능 제공 - Content-Type, 쿠키, Redirect *hello.servlet.basic.response.ResponseHeaderServlet 생성 @WebServlet(name = "responseHeaderServlet", urlPatterns = "/response-header") public class ResponseHeaderServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throw..