개발기록

· Spring/mvc
프론트 컨트롤러 패턴 소개 공통의 관심사를 별도로 모으는 소위 문지기 역할을 하는 것을 controller앞에 도입한다. 프론트 컨트롤러 패턴 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 입구를 하나로 공통 처리 가능 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨. 스프링 웹 MVC와 프론트 컨트롤러 스프링 웹MVC의 핵심도 바로 프론트컨트롤러이며 스프링 웹MVC의 DispatcherServlet이 프론트 컨트롤러 패턴으로 구현되어 있음 프론트 컨트롤러 도입 전 과 후의 아키텍쳐 Goal : 기존 코드를 최대한 유지하면서, 프론트 컨트롤러를 도입해본다. 먼저 구조를 맞추어두고 점진적으로 리팩토링을 한다. 프론트..
Goal : 구성이 무엇인지 알아보고, 코드에서는 어떻게 구현되는지 알아본다. 요구사항 Fan Class State (Member Variables) make radius; color; isOn; speed; Constructors Fan(String make, double radius, String color) Behaviour(Member Methods) void switchOn() void switchOff() void setSpeed() String toString() using String.format method state, constructor, methods Fan Class package com.in28mins.oop; public class Fan { //state (3 importan..
· Spring/mvc
MVC 패턴의 개요 너무 많은 역할 : 하나의 서블릿이나 JSP만으로 비지니스 로직과 뷰 렌더링까지 모두 처리하게 되면 유지보수가 어려워진다. 변경의 라이프 사이클 : UI와 비지니스 로직을 수정하는 일은 다르게 발생하고 서로에게 영향을 주지 않으므로 유지보수에 부적합 기능 특화 : 특히 JSP와 같은 뷰 템플릿 화면은 렌더링하는데 최적화 ModelViewController MVC 패턴이란 하나의 서블릿이나 JSP로 처리하던 것을 컨트롤러(Controller)와 뷰(View)라는 영역으로 역할을 나누는 것을 의미한다. 구분 역할 컨트롤러 HTTP 요청을 받아 파라미터를 검증하고 비지니스로직을 호출한다. 그리고 뷰에 전달할 결과 데이터를 조회하여 모델에 담는다 모델 뷰에 출력할 데이터를 담아둔다. 뷰가 필..
· Spring/mvc
JSP로 회원 관리 웹 어플리케이션을 만들어 보자 JSP 라이브러리 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' //JSP 추가 시작 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper:' implementation 'javax.servlet:jstl:1.2' //JSP 추가 끝 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-..
알고리즘이란? 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합 세 값의 최댓값 구해보기 package com.in28minutes.algorithm; import java.util.Scanner; public class Max3 { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.println("세 정수의 최대 값을 구합니다"); System.out.print("a의 값 : "); int a = stdIn.nextInt(); System.out.print("b의 값 : "); int b = stdIn.nextInt(); System.out.pr..
Goal : 생성자는 무엇인지 알아보고 메서드와 차이를 알아본다. Constructor 생성자란 ? 생성자(영어: constructor, 혹은 약자로 ctor)는 객체 지향 프로그래밍에서 객체의 초기화를 담당하는 서브루틴을 가리킨다. 생성자는 객체가 처음 생성될 때 호출되어 멤버 변수를 초기화하고, 필요에 따라 자원을 할당하기도 한다. 객체의 생성 시에 호출되기 때문에 생성자라는 이름이 붙었다. 생성자는 대체로 멤버 함수와 같은 모양을 하고 있지만, 값을 반환하지 않는다는 점에서 엄밀한 의미의 함수는 아니다. A constructor is a member function of a class that is called for initializing objects when we create an object..
· Spring/mvc
HTTP 응답 메세지는 주로 다음 내용을 담아서 전달한다 단순 텍스트 응답 writer.println("ok"); HTML 응답 HTTP API - MessageBody JSON 응답 HTML 응답 @WebServlet(name="responseHtmlServlet", urlPatterns = "/response-html") public class ResponseHtmlServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Content-Type: text/html; cha..
· Spring/mvc
HttpServletResponse 역할 HTTP 응답 메세지를 생성한다 HTTP 응답코드 지정 헤더 생성 바디 생성 편의기능 제공 Content-Type, 쿠키, Redirect 직접 헤더 정보 출력해보기 @WebServlet(name="responseHeaderServlet", urlPatterns = "/response-header") public class ResponseHeaderServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //[status-line] res..
· Spring/mvc
HttpServletRequest 역할 HTTP 요청 메세지를 개발자가 편리하게 사용할 수 있도록 HTTP를 파싱한다. 그리고 그 결과를 HttpServletRequest객체에 담아서 제공한다. HTTP 요청 메세지 POST /save HTTP/1.1 Host: localhost:8080 Content-Type: application/x-www-form-urlencoded username=rosieposie&age=22 START LINE HTTP 메소드 URL 쿼리 스트링 스키마, 프로토콜 헤더 헤더 조회 바디 form 파라미터 형식 조회 message body 데이터 직접 조회 임시 저장소 기능 해당 HTTP 요청이 시작부터 끝날 때까지 유지되는 임시 저장소 기능 저장 : request.setAttr..
요청사항 : 운영에서 관리자 페이지 접속 시 접속 불가하고 해당 에러메세지 출력 매일 요청사항을 받으며 느끼는 거지만 같은 에러인 것 같으면서도 달라서 오 나이거 아는데 하다가도 다시 구글링함 502 Bad Gateway를 주로 보다가 오늘은 proxy error를 보았다 일단 해당 서버와 웹서버 확인 결과 정상으로 작동하고 있어서 구글링 시작함 아파치 관련 문제라는 질문과 답변을 보았는데, 아파치 설정에서 KeepAlive를 ON ⇒ OFF 설정을 바꾸면 해결이 된다고 한다라는 답변과 어떤 분은 어플리케이션 재기동 했더니 정상 동작한다는 답변을 찾음 일단 담당자에게 컨펌받고 어플리케이션 재기동함. 결과는? 정상동작 아파치 설정이 문제였다면 기존에도 문제가 되었을텐데, 나에게 들어온 요청으로는 처음이었음..
dev_rosieposie
'개발기록' 태그의 글 목록 (3 Page)