요청 메서드의 반환 자료형은 String의 빈도가 가장 높고, 다음으로 3번의 redirect, 5번의 사용 빈도가 높다.요청과 응답은 어떤 업무든 연관이 되어 있기 때문에 이에 대한 정리가 필요하다. 🌿String//- JSP 파일명//- ViewResolver 호출@GetMapping(value="/ex06.do")public String test() { return "ex06";} 문자열은 ViewResolver를 호출하면서 JSP 파일 이름을 나타내는 용도로 사용했다. 🌿void@GetMapping(value="/ex06.do")public void test() {}서블릿에서 jsp를 호출을 안 하는 것과 같다. 그러면 브라우저에서 하얀 화면이 나와야 한다.그런데 화면이 출력된다. void..
🌿컨트롤러 구현1. Controller 인터페이스 구현2. @Controller 어노테이션 사용어노테이션을 사용하는 방식이 편의성이 좋기 때문에 더 많이 사용한다. 🍃@Controller 어노테이션 사용@Controllerpublic class Ex03Controller { }어노테이션을 사용하는 순간 인터페이스를 선언하는 것과 결과가 같다.handleRequest는 만들고 싶어서 만들었던 게 아니라 Controller 인터페이스가 만들라고 했기 때문에 만든 것이었다. 하지만 어노테이션을 사용하면 강제로 만들어야 하는 게 없다. 자유로운 요청 형식@Controllerpublic class Ex03Controller { public String test() { return ""; } publi..
Spring은 Controller, View 등을 사용하기 편하도록 MVC 패턴을 모두 구현을 해 두었다.Servlet/JSP에서는 웹 요청 처리와 통제를 Controller 역할로 지정해 주었지만, Spring MVC에서는 Controller라는 이름이 전용으로 있으므로 이를 사용한다. 🌿ControllerEx01Controller.java: jsp 연결package com.test.spring.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springfr..
🌿Spring AOPAspect Oriented Programming관점 지향 프로그래밍(AOP)은 애플리케이션의 핵심 비즈니스 로직에서 분리된 관심사(Concern)를 모듈화 하여 코드의 가독성과 유지보수성을 향상하는 기술이다.관점(관심사)은 업무 구현 시 주 업무가 아닌 나머지 보조 업무를 의미한다. 주 업무와 보조 업무게시판 글쓰기를 예로 들어 주 업무와 보조 업무를 구분해 보도록 하자.1. 기존 방식- add.doa. 글쓰기 (주 업무)b. 권한 체크 (보조 업무)기존 방식은 주 업무와 보조 업무를 같은 곳(한 파일)에서 구현한다.단점: 코드 관리가 불편하다. 어디부터 어디까지가 주 업무이고 보조 업무인지 알기 어렵다. 2. AOP 방식- add.do주 업무와 보조 업무를 물리적으로 분리시켜서 ..
DI와 AOP는 스프링의 핵심 기술이지만, 스프링의 전용 기술이 아니다.스프링이 있기 훨씬 이전에 있던 기술(아키텍처)인데, 스프링에서 도입한 게 Spring DI, Spring AOP이다.가장 핵심적인 기술인 만큼 현업 면접에서도 많이 물어보는 질문이기도 하다. 🌿Spring DIDependency Injection 디자인 패턴DI를 우리말로 하면 의존(성) 주입이라고 부른다.스프링에서 굉장히 중요한 개념인데, 스프링 내의 모든 객체를 관리할 때 사용하기 때문이다.눈에 보이는 부분, 눈에 보이지 않는 부분에서 모두 사용이 된다.DI의 정의는 프로그래밍에서 구성 요소 간의 의존 관계가 소스 내부가 아닌 외부 환경에서 정의되게 하는 디자인 패턴이다. 의존 관계com.test.spring.di01 패키지M..
🌿Spring 설치Spring Tools 3full distribution on Eclipse 4.19Spring Tools 3 > Spring Tool Suite 3.9.18 > spring-tool-suite-3.9.18.RELEASE-e4.19.0-win32-x86_64.ziphttps://download.springsource.com/release/STS/3.9.18.RELEASE/dist/e4.19/spring-tool-suite-3.9.18.RELEASE-e4.19.0-win32-x86_64.zip위 링크에서 압축파일을 다운로드한다.이 파일은 이클립스에서 스프링을 개발할 수 있게 배포한 Spring Tool Suite로, 줄여서 STS라고 부른다.Spring을 할 때에는 STS 3를 사용하고..
🍁카카오맵 APIOpen API > mapGoogle MapNaver MapKakao Map [JDBC] Ajax: 게시판 구현🍁게시판 구현 1. 주제 게시판 회원 관리(인증) 기타 등등 2. 요구분석 게시판 CRUD 권한 처리 목록 보기, 상세보기는 비회원과 회원 모두 할 수 있다. 글쓰기, 수정하기, 삭제하기는 비회원은 할isaac-christian.tistory.com게시판 구현에서 이어진다. [JDBC] Ajax (Asynchronous JavaScript and XML)🍁Ajax Ajax는 비동기 방식으로 자바스크립트를 사용해서 서버와 데이터를 통신하는 기술을 의미하며, XML 형식으로 데이터를 주고받는다. 화면 깜박임 없이 데이터를 주고받을 수 있는 기술이다.isaac-christia..
🍁게시판 구현1. 주제게시판회원 관리(인증)기타 등등 2. 요구분석게시판 CRUD권한 처리목록 보기, 상세보기는 비회원과 회원 모두 할 수 있다.글쓰기, 수정하기, 삭제하기는 비회원은 할 수 없다.수정하기, 삭제하기는 회원의 자기 글만 가능하다.수정하기, 삭제하기는 관리자는 모든 글에 가능하다.즉, 로그인을 하지 않더라도 글은 볼 수 있지만, 글을 조작하는 건 해당 글을 작성한 회원과 관리자만 가능하다. 3. 전체 구성(페이지 관계도)drwo.io 4. 화면 설계 & 스토리 보드 5. 데이터베이스ERDToyProject > ddl.sql, dml.sql [Oracle] 데이터베이스 설계 (Data Modeling)💡데이터베이스 설계 1. 요구사항 수집 및 분석 2. 개념 데이터 모델링 3. 논리 데..