Engineering

Engineering/Backend

[Spring] 요청 메서드의 반환 자료형

요청 메서드의 반환 자료형은 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..

Engineering/Backend

[Spring] 컨트롤러 구현: 어노테이션 (Controller, RequestMapping, GetMapping, PostMapping, RequestParam, ModelAttribute)

🌿컨트롤러 구현1. Controller 인터페이스 구현2. @Controller 어노테이션 사용어노테이션을 사용하는 방식이 편의성이 좋기 때문에 더 많이 사용한다. 🍃@Controller 어노테이션 사용@Controllerpublic class Ex03Controller { }어노테이션을 사용하는 순간 인터페이스를 선언하는 것과 결과가 같다.handleRequest는 만들고 싶어서 만들었던 게 아니라 Controller 인터페이스가 만들라고 했기 때문에 만든 것이었다. 하지만 어노테이션을 사용하면 강제로 만들어야 하는 게 없다. 자유로운 요청 형식@Controllerpublic class Ex03Controller { public String test() { return ""; } publi..

Engineering/Backend

[Spring] Spring 기반 MVC 웹 프로젝트 구현

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..

Engineering/Backend

[Spring] 관점 지향 프로그래밍 AOP: Aspect Oriented Programming

🌿Spring AOPAspect Oriented Programming관점 지향 프로그래밍(AOP)은 애플리케이션의 핵심 비즈니스 로직에서 분리된 관심사(Concern)를 모듈화 하여 코드의 가독성과 유지보수성을 향상하는 기술이다.관점(관심사)은 업무 구현 시 주 업무가 아닌 나머지 보조 업무를 의미한다. 주 업무와 보조 업무게시판 글쓰기를 예로 들어 주 업무와 보조 업무를 구분해 보도록 하자.1. 기존 방식- add.doa. 글쓰기 (주 업무)b. 권한 체크 (보조 업무)기존 방식은 주 업무와 보조 업무를 같은 곳(한 파일)에서 구현한다.단점: 코드 관리가 불편하다. 어디부터 어디까지가 주 업무이고 보조 업무인지 알기 어렵다. 2. AOP 방식- add.do주 업무와 보조 업무를 물리적으로 분리시켜서 ..

Engineering/Backend

[Spring] 의존성 주입 DI: Dependency injection

DI와 AOP는 스프링의 핵심 기술이지만, 스프링의 전용 기술이 아니다.스프링이 있기 훨씬 이전에 있던 기술(아키텍처)인데, 스프링에서 도입한 게 Spring DI, Spring AOP이다.가장 핵심적인 기술인 만큼 현업 면접에서도 많이 물어보는 질문이기도 하다. 🌿Spring DIDependency Injection 디자인 패턴DI를 우리말로 하면 의존(성) 주입이라고 부른다.스프링에서 굉장히 중요한 개념인데, 스프링 내의 모든 객체를 관리할 때 사용하기 때문이다.눈에 보이는 부분, 눈에 보이지 않는 부분에서 모두 사용이 된다.DI의 정의는 프로그래밍에서 구성 요소 간의 의존 관계가 소스 내부가 아닌 외부 환경에서 정의되게 하는 디자인 패턴이다. 의존 관계com.test.spring.di01 패키지M..

Engineering/Backend

[Spring] 개발자 환경 구축: STS 3, Maven

🌿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를 사용하고..

Engineering/Data

[JDBC] Open API: 카카오맵 API

🍁카카오맵 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..

Engineering/Data

[JDBC] Ajax: 게시판 구현

🍁게시판 구현1. 주제게시판회원 관리(인증)기타 등등 2. 요구분석게시판 CRUD권한 처리목록 보기, 상세보기는 비회원과 회원 모두 할 수 있다.글쓰기, 수정하기, 삭제하기는 비회원은 할 수 없다.수정하기, 삭제하기는 회원의 자기 글만 가능하다.수정하기, 삭제하기는 관리자는 모든 글에 가능하다.즉, 로그인을 하지 않더라도 글은 볼 수 있지만, 글을 조작하는 건 해당 글을 작성한 회원과 관리자만 가능하다. 3. 전체 구성(페이지 관계도)drwo.io 4. 화면 설계 & 스토리 보드 5. 데이터베이스ERDToyProject > ddl.sql, dml.sql [Oracle] 데이터베이스 설계 (Data Modeling)💡데이터베이스 설계 1. 요구사항 수집 및 분석 2. 개념 데이터 모델링 3. 논리 데..

Isaac S. Lee
'Engineering' 카테고리의 글 목록 (11 Page)