본문 바로가기

BackEnd : Spring

(32)
[Spring MVC] FrontController 패턴 생성하기 FrontController 패턴 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 입구를 하나로, 공통 처리 가능 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨 FrontController 도입 Controller를 인터페이스로 설계하기 Controller 인터페이스 package hello.servlet.web.frontcontroller.v1; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.i..
[Spring MVC] HttpServletResponse, Http 응답 데이터 HttpServletResponse 역할 Http 응답 메시지 생성 : HTTP 응답코드 지정, 헤더, 바디 생성 편의 기능 제공 : Content-Type, 쿠키, Redirect Content 편의 메서드 private void content(HttpServletResponse response) { //Content-Type: text/plain;charset=utf-8 //Content-Length: 2 //response.setHeader("Content-Type", "text/plain;charset=utf-8"); response.setContentType("text/plain"); response.setCharacterEncoding("utf-8"); //response.setContentL..
[Spring MVC] HTTP 요청 데이터 HTTP 요청 데이터 주로 3가지 방식 사용 GET - 쿼리 파라미터 /url**?username=hello&age=20** 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 예) 검색, 필터, 페이징등에서 많이 사용하는 방식 POST - HTML Form content-type: application/x-www-form-urlencoded 메시지 바디에 쿼리 파리미터 형식으로 전달 username=hello&age=20 예) 회원 가입, 상품 주문, HTML Form 사용 HTTP message body에 데이터를 직접 담아서 요청 HTTP API에서 주로 사용, JSON, XML, TEXT 데이터 형식은 주로 JSON 사용 POST, PUT, PATCH GET 쿼리 파라미터 전달 데..
[Spring MVC] HelloServlet, HttpServletRequest @ServletComponentScan // 서블릿 자동 등록 @SpringBootApplication public class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); } } HelloServlet.java package hello.servlet.basic; import jakarta.servlet.ServletException; import jakarta.servlet.ServletRequest; import jakarta.servlet.ServletResponse; import jakarta.servlet.annotation.WebSe..
[Spring MVC] 자바 백엔드 웹 기술 역사 과거 기술 서블릿 - 1997 : HTML 생성이 어려움 JSP - 1999 : HTML 생성은 편리하지만, 비즈니스 로직까지 너무 많은 역할 담당 서블릿, JSP 조합 MVC 패턴 사용 : 모델, 뷰 컨트롤러로 역할을 나누어 개발 MVC 프레임워크 춘추 전국 시대 - 2000년 초 ~ 2010년 초 MVC 패턴 자동화, 복잡한 웹 기술을 편리하게 사용할 수 있는 다양한 기능 지원 스트럿츠, 웹워크, 스프링 MVC(과거 버전) 현재 사용 기술 애노테이션 기반의 스프링 MVC 등장 : @Controller 스프링 부트의 등장 스프링 부트는 서버를 내장 과거에는 서버에 WAS를 직접 설치하고, 소스는 War 파일을 만들어서 설치한 WAS에 배포 스프링 부트는 빌드 결과에 WAS 서버 포함 -> 빌드 배포 단..
[Spring MVC] HTML, HTTP API, CSR, SSR 정적 리소스 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공 HTML 페이지 동적으로 필요한 html 파일 생성해서 전달, 웹 브라우저는 html 해석 HTTP API html이 아니라 데이터를 전달, 주로 JSON 형식 사용 UI 클라이언트 접점 : 앱 클라이언트, 웹 브라우저/클라이언트 서버 to 서버 SSR - 서버 사이드 렌더링 서버에서 최종 HTML을 생성해서 클라이언트에 전달 주로 정적인 화면에 사용 JSP, 타임리프 CSR - 클라이언트 사이드 렌더링 HTML 결과를 자바스크립트를 사용해 웹 브라우저에서 동적으로 생성해서 적용 주로 동적인 화면에 사용, 웹 환경을 마치 앱 처럼 필요한 부분부분 변경할 수 있음 React, Vue.js CSR + SSR 동시에 지원하는 웹 프레..
[Spring MVC] WAS, 서블릿, 쓰레드 📌 웹 서버, 웹 애플리케이션 서버 모든 것이 HTTP : HTTP 메시지에 모든 것을 전송 웹 서버(Web Server) HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적(파일) HTML, CSS, JS, 이미지, 영상 웹 애플리케이션 서버(WAS) HTTP 기반으로 동작 웹 서버 기능 포함 + 정적 리소스 제공 기능 프로그램 코드를 실행해서 애플리케이션 로직 수행 웹 서버, WAS 차이 웹 서버는 정적 리소스, WAS는 애플리케이션 로직 사실은 둘의 용어도 경계도 모호함 자바는 서블릿 컨테이너 기능을 제공하면 WAS WAS는 애플리케이션 코드를 실행하는데 더 특화 웹 시스템 구성 - WAS, DB WAS가 너무 많은 역할을 담당, 서버 과부하 우려 가장 비싼 애플리케이션 로직이 정적 리소..
[Git] 추가한 git repository 삭제하기 내 프로젝트를 github에 올릴 목적으로 git repository를 추가했는데 안올리고 싶어져서 .. 알아본 저장소 삭제하는 방법 git bash에 들어가서 연결한 프로젝트 경로로 이동하고 rm -rf .git 이렇게 하면 저장소가 삭제된다 ~~ 참고로 나는 아무 커밋도 하지 않고 올리지 않은 상태에서 저렇게 삭제했다.