본문 바로가기
관리자

분류 전체보기

(999)
[스프링 웹MVC] 11. 스프링 MVC - 요청 정보 처리 기능 요청 URL에 따라 Controller를 매핑해봤으니, 이제 받아온 요청의 정보들을 처리하는 기능들에 대해서 알아본다. 몇가지 어노테이션과 기본 내용들만 학습하면 된다. 1. 헤더 정보 조회 @RequestHeader @RequestHeader 어노테이션을 이용하여 모든 헤더들의 정보를 MultiValueMap으로 받아올 수도 있고, 각 key값에 맞는 header 정보를 받아올 수도 있다. MultiValueMap은 Map과 유사한데, 하나의 key에 여러 값을 받을 수 있다. key값으로 조회하면 value값들의 배열을 반환한다. 요청 및 응답의 경우 같은 key에 여러 값을 받을 수 있으므로 MultiValueMap을 사용한다. @CookieValue 쿠키 정보를 받아올 수 있다. java/hell..
[스프링 웹MVC] 10. 스프링 MVC - 요청 매핑 1. @RequestMapping의 개념과 여러가지 속성 @RequestMapping은 controller에서 라우팅을 해준다. 클라이언트의 요청 정보를 쉽게 처리할 수 있도록 다양한 속성들을 제공한다. 속성들을 하나씩 공부해보자. URL 배열, 슬래시 처리 요청 주소를 중괄호 {} 안에 넣어서 여러 URL 요청을 받을 수도 있다. 그리고 "/hello-basic"의 URL로 요청하도록 지정했는데, URL 상으로는 완전히 다른, "/hello-basic/" 으로 슬래시를 하나 더 붙여서 요청을 보내더라도 해당 요청을 처리해주는 특징이 있다. 1 2 3 4 5 6 7 8 9 10 11 12 @RestController public class MappingController { private Logger l..
[링크] [TIL] git submodule Main Project와 Sub Project가 있을 때 Sub Project를 관리하기 위한 Sub repository Main Project와 Sub Project가 있을 때, 보통은 모든 프로젝트를 하나의 git repo.에 저장하지 않는다. Main만 자주 업데이트하고, sub는 업데이트하지 않을 수 있기 때문이다. 그리고 한꺼번에 관리하는 것은 시간 및 네트워크 비용이 클 수 있다. 링크에서 예를 드는 부분은, node 계열의 프로그램을 작성할 때 다른 곳에서 받아오는 라이브러리들은 이름과 버전 정보 등만 pacakage.json에 담아놓고, 실제 파일은 node_modules 폴더에 저장한채로 git에는 올리지 않는다는 내용이다. 상기 작성한 부분 중 Sub Project가 다른 곳에서 받아오..
[비공개] Weekly Report - 21/07/26~21/08/01, 399일차 보호되어 있는 글입니다.
[스프링 웹MVC] 9. 스프링 MVC - 프로젝트 생성과 로깅 1. 프로젝트 생성 스프링 MVC도 이전 글에서 살펴본 ControllerV5와 똑같은 구조를 갖고 있다. 다만 FrontController의 이름이 DispatcherServlet이고, MyView등 강의에서 만든 일부 객체의 이름이 다르다. 이제 springMVC에 대해서 본격적으로 알아본다. 새롭게 프로젝트를 만든다. 기존에 프로젝트를 만들던 start.spring.io 사이트에서 만들면 된다. Gradle Project, Java는 11버전, Jar Packaing을 선택하고, 라이브러리는 Spring web, Thymeleaf, Lombok을 추가한다. jsp를 쓰거나, 별도의 tomcat 서버에 설치하기 위해서는 War 패키징을 하지만, 그냥 스프링에서 제공하는 내장 서버를 이용할려면 Jar ..
엑셀에서 하이퍼링크 여러 개 한번에 추출하기 22.03.03 추가 이 글을 참고 하시는 분들께 : 기존 데이터는 꼭 백업 해놓고 진행하세요!!! 엑셀 셀들에 하이퍼링크들이 나열된 경우, 한번에 추출하는 방법. 왼쪽그림에서 오른쪽 그림으로 변환하는 방법이다. 1) 엑셀에서 [Alt + F11]을 누른다. 2) 삽입-> 모듈에서 다음 코드를 붙여넣는다. Sub Extracthyperlinks() 'Updateby Extendoffice Dim Rng As Range Dim WorkRng As Range On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, W..
[스프링 웹MVC] 8. 프론트 컨트롤러(Front Controller) - 2. 컨트롤러 개선, MVC 패턴 요약 1. ControllerV4 ControllerV4에서는 controller에서 ModelView 객체를 FrontController에 반환해야만 했던 부분을 개선한다. 대신 로직을 처리한 객체를 model로 넘기고, viewName은 단순 String으로 반환하게 된다. ControllerV4 다른 Controller들과 똑같이 process 메서드를 작성하되, paramMap외에 두 번째 파라미터로 model 객체를 전달받는다. 이 부분은 FrontController에서 각 Controller들의 process 메서드를 호출할 때, Controller에서 FrontController로 전달할 로직을 처리한 객체를 담을 수 있도록 미리 빈 사물함(?)을 정의해놓는 것이라고 이해하면 된다. 1 2 3 p..
[스프링 웹MVC] 7. 프론트 컨트롤러(Front Controller) - 1. 컨트롤러 수정 1. 프론트 컨트롤러의 개념 이제 Controller의 공통적인 부분을 담당하는 Front Controller를 만들어본다. 여기서부터 Controller를 발전시켜나가다보면, 결국 스프링 MVC 프레임워크에 다다르게 된다. 기존에는 각 클라이언트가 필요한 정보에 따라 각 Controller에 요청하는 구조였지만, Front Controller로 Controller 간 공통적인 부분이 통합되어 모든 요청들이 Front Controller를 거치고 나서, 각 Controller 부분으로 전달되는 구조가 된다. 2. 프론트 컨트롤러 작성해보기(V1) 작성할 파일들의 구조는 다음과 같다. 각 페이지에 해당하는 컨트롤러인 MemberFormControllerV1, MemberListControllerV1, Me..