TIL저장소
close
프로필 배경
프로필 로고

TIL저장소

  • 분류 전체보기 (68)
    • HTTP (4)
    • Java (7)
    • Spring (13)
    • 트러블 슈팅 (1)
    • Servlet&JSP (4)
    • 알고리즘 (5)
    • 백준 (26)
      • 동적 계획법 (17)
      • 브루트포스 (9)
    • 회고록 (2)
    • 프로그래머스 (1)
  • 홈
  • 태그
  • 방명록
(Spring)관심사의 분리 및 MVC패턴

(Spring)관심사의 분리 및 MVC패턴

1. 관심사의 분리 위의 코드는 요일을 출력해주는 코드로 크게 세 가지 영역으로 나눌 수 있다. 입력을 처리하는 부분, 입력받은 날짜를 가지고 요일을 계산하는 부분(실제 작업 처리), 계산한 결과를 출력하는 부분 이 하나하나를 관심사(concern)이라 부른다. 즉 main이라는 메서드는 3개의 관심사를 가지고 있다고 할 수 있다. OOP 5대 설계 원칙(SOLID) 중 첫 번째인 SRP(단일 책임원칙)에 의하면 '하나의 메서드는 하나의 책임만 진다'라는 뜻을 가진다. 여기서 책임은 관심사라 할 수 있다. 하지만 지금 위의 코드는 하나의 메서드에 세 가지의 관심사가 포함되어 있으므로 분리를 시켜줄 필요가 있다. 객체지향적으로 좋은 설계를 하려면 분리를 잘해야 한다. 분리는 아래의 3가지를 기준으로 한다...

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
(Spring) HTTP요청과 응답

(Spring) HTTP요청과 응답

1. 프로토콜이란(Pprotocol)이란? 서로 간의 통신을 위한 약속, 규칙 주고받을 데이터에 대한 형식을 정의한 것 어떤 형식으로 주고받을지 미리 약속을 해놔야 데이터를 주고받고 그 데이터를 해석할 수 있다. 2. HTTP(Hyper Text Transfer Protocol)란? HTTP는 텍스트 기반의 프로토콜이다. 단순하고 읽기 쉽다. 요청과 응답 사이에 텍스트 들이 왔다 갔다 하는 것이다. 상태를 유지하지 않는다는 특징이 있다.(stateless) - 클라이언트 정보를 저장 x 즉 같은 클라이언트가 요청을 여러번 보내도 서버는 같은 클라이언트라는 것을 구별하지 못한다. 상태를 저장하지 않기 때문에…. 앞의 요청과 뒤의 요청을 구별할 수 없다. 이것을 보안하기 위해서 하용하는 것이 쿠키와 세션이다..

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
(Spring)클라이언트와 서버<Tomcat 내부구조>

(Spring)클라이언트와 서버<Tomcat 내부구조>

클라이언트와 서버 - 클라이언트 : 서비스를 요청하는 애플리케이션(or 컴퓨터) - 서버 : 서비스를 제공하는 애플리케이션(or 컴퓨터) HttpServletRequest @Controller public class RequestInfo{ @RequestMapping("/requestInfo") public void main(HttpServletRequest request){ Syste.out.println("request.getMethod()=" + request.getMethod()); } } 위와 같이 서블릿에서 메서드의 매개변수에는 request 및 response를 필수적으로 적어줘야 했지만 스프링에서는 필요한 매개변수만 넣을 수 있다. 필요한 매개변수만 적으면 스프링이 알아서 메서드의 매개변수..

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
(Spring)요청과 응답(HttpServletRequest)

(Spring)요청과 응답(HttpServletRequest)

HttpServletRequest 메서드 @Controller public class RequestInfo { @RequestMapping("/requestInfo") // public static void main(String[] args) { public void main(HttpServletRequest request) { System.out.println("request.getCharacterEncoding()="+request.getCharacterEncoding()); // 요청 내용의 인코딩 System.out.println("request.getContentLength()="+request.getContentLength()); // 요청 내용의 길이. 알수 없을 때는 -1 System.ou..

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
(Spring)원격 프로그램의 실행

(Spring)원격 프로그램의 실행

원격 프로그램 실행 브라우저와 WAS가 있어야만 실행이 가능하다. 외부의 브라우저로 서버에 있는 프로그램을 실행하기 위해서는 두 가지 작업이 미리 필요하다. 1. 프로그램등록 : 프로그램을 외부에서 호출할 수 있게 미리 등록해 줘야한다. 2. URL과 프로그램을 연결시켜 줘야 한다. @Controller // 1. 프로그램 등록 public class Hello{ @RequestMapping("/hello") // 2. URL과 main()을 연결 public void main(){ System.out.println("Hello); } URL로 원격 프로그램을 호출하면 톰캣이 객체 생성을 한다. 이후 메서드 호출이 된다. 그러므로 main메서드가 인스턴스 메서드임에도 불구하고 호출이 될 수 있다. 메서드..

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (68)
    • HTTP (4)
    • Java (7)
    • Spring (13)
    • 트러블 슈팅 (1)
    • Servlet&JSP (4)
    • 알고리즘 (5)
    • 백준 (26)
      • 동적 계획법 (17)
      • 브루트포스 (9)
    • 회고록 (2)
    • 프로그래머스 (1)
최근 글
인기 글
최근 댓글
태그
  • #dynamic Programing
  • #spring
  • #동적 계획법
  • #브루트 포스
  • #http
  • #동적계획법
  • #동적 프로그래밍
  • #백준
  • #java
  • #JSP
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바