반응형

2025/03 10

메시지, 국제화

메시지, 국제화 소개 메시지만약 기획자가 화면에 보이는 문구가 마음에 들지 않는다고, '상품명'이라는 단어를 모두 '상품이름'으로 고쳐달라고 하면, 어떻게 해야할까?여러 화면에 보이는 상품명, 가격, 수량 등, label에 있는 단어를 변경하려면 '상품명'이라는 단어가 존재하는 화면을 다 찾아가면서 모두 변경해야 한다. 지금처럼 화면 수가 적으면 문제가 되지 않지만, 화면이 수십개 이상이라면, 수십개의 파일을 모두 고쳐야 한다.- addForm.html, editForm.html, item.html, items.html 왜냐하면 해당 HTML 파일에 메시지가 하드코딩 되어있기 때문이다. 이런 다양한 메시지를 한 곳에서 관리하도록 하는 기능을 메시지 기능이라 한다. ex) message.properties..

공부/Spring 2025.03.30

타임리프 - 스프링 통합과 폼

타임리프 스프링 통합타임리프는 크게 2가지 메뉴얼을 제공한다. 기본매뉴얼 : https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html스프링 통합 매뉴얼 : https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html 타임리프는 스프링 없이도 동작하지만, 스프링과 통합을 위한 다양한 기능을 편리하게 제공한다. 그리고 이런 부분은 스프링으로 백엔드를 개발하는 개발자 입장에서 타임리프를 선택하는 하나의 이유가 된다.  스프링 통합으로 추가되는 기능들- 스프링의 SpringEL 문법 통합- ${@myBean.doSomething()}처럼 스프링 빈 호출 지원- 편리한 폼 관리를 위한 추가 속성    ..

공부/Spring 2025.03.29

타임리프 - 기본 기능

타임리프의 기본 기능에 대해 알아보자.우선 그 전에 프로젝트를 하나 생성한다. 생성은 아래와 같이 생성해준다.https://start.spring.io/ Dependency는 Spring Web, Lombok, Thymeleaf를 적용하였다.   타임리프타임리프의 공식 사이트 및 메뉴얼은 다음과 같다.https://www.thymeleaf.org/ 타임리프 특징- 서버 사이드 HTML 렌더링(SSR)- 네츄럴 템플릿- 스프링 통합 지원 서버 사이드 HTML 렌더링(SSR)타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링하는 용도로 사용된다. 네츄럴 템플릿타임리프는 순수 HTML을 최대한 유지하는 특징이 있다.타임리프로 작성한 파일은 HTML을 유지하기 때문에 웹 브라우저에서 파일을 직접 열어도 내용을..

공부/Spring 2025.03.27

스프링 MVC 웹 페이지 만들기

우선 프로젝트 생성을 해보도록 하자.  Generate해준 후 intellij로 build.gradle을 실행시킨다.  Welcome 페이지(index)페이지를 만들어보자./resources/static 및에 index.html 파일을 생성하자. 상품 관리 상품 관리 - 기본  서버를 재실행하고 URL을 접속해보면 다음과 같은 결과를 확인할 수 있다.  href 태그를 눌러보면 localhost:8080/basic/items로 이동하는것을 볼 수 있다.   요구사항 분석상품을 관리할 수 있는 서비스를 만들 예정이다. 요구사항은 다음과 같다. 상품 도메인 모델- 상품 ID- 상품명- 가격- 수량 상품 관리 기능- 상품 목록- 상품 상세- 상품 등록..

공부/Spring 2025.03.25

스프링 MVC - 기본 기능

https://surrealcode.tistory.com/129 스프링 MVC - 구조 이해https://surrealcode.tistory.com/128 MVC 프레임워크 만들기프론트 컨트롤러 패턴 소개https://surrealcode.tistory.com/127 서블릿, JSP, MVC 패턴간단한 웹 애플리케이션을 만들어 보도록 하자.서블릿으로 만든 후 Jsurrealcode.tistory.com스프링 MVC의 기본 기능을 알아보기 전에 스프링MVC의 구조에 대해 숙지하여 보자.  우선 새로 프로젝트를 하나 생성한다.https://start.spring.io/ War 대신 Jar를 선택해주어야 한다.Jar를 사용하면 항상 내장 서버(톰캣등)을 사용하고 'webapp' 경로도 사용하지 않는다.. 내장..

공부/Spring 2025.03.20

스프링 MVC - 구조 이해

https://surrealcode.tistory.com/128 MVC 프레임워크 만들기프론트 컨트롤러 패턴 소개https://surrealcode.tistory.com/127 서블릿, JSP, MVC 패턴간단한 웹 애플리케이션을 만들어 보도록 하자.서블릿으로 만든 후 JSP로 개선을 해본 뒤 MVC 패턴을 적용시켜본다. 회surrealcode.tistory.com 스프링 MVC를 이해하기 전에 이전 포스팅에서 직접 만든 MVC 프레임워크를 참고하도록 하자.   스프링 MVC 전체 구조직접 만든 MVC 프레임워크와 스프링 MVC를 비교해보도록 하자.  기존 만들었던 MVC 프레임워크와 사실 스프링MVC 구조는 거의 동일하다(약간 이름에 차이가 있을 뿐) 직접 만든 프레임워크 -> 스프링MVC 비교- Fr..

공부/Spring 2025.03.17

MVC 프레임워크 만들기

프론트 컨트롤러 패턴 소개https://surrealcode.tistory.com/127 서블릿, JSP, MVC 패턴간단한 웹 애플리케이션을 만들어 보도록 하자.서블릿으로 만든 후 JSP로 개선을 해본 뒤 MVC 패턴을 적용시켜본다. 회원 관리 웹 애플리케이션 요구사항회원 정보이름 : username나이 : age 기능 요surrealcode.tistory.com 프론트 컨트롤러 패턴을 도입하기 전에는 컨트롤러마다 공통로직을 전부 호출해주었어야 했다.(이전 포스팅 참조) 이전 포스팅에서는 포워드가 중복됐었고, viewPath가 중복 됐었고, 사용하지 않는 코드들을 만들었어야 했다. 프론트 컨트롤러를 도입하면(Front Controller도 서블릿이다.)프론트 컨트롤러에 공통 로직을 다 몰아놓고, 각각 ..

공부/Spring 2025.03.15

서블릿, JSP, MVC 패턴

간단한 웹 애플리케이션을 만들어 보도록 하자.서블릿으로 만든 후 JSP로 개선을 해본 뒤 MVC 패턴을 적용시켜본다. 회원 관리 웹 애플리케이션 요구사항회원 정보이름 : username나이 : age 기능 요구사항- 회원 저장- 회원 목록 조회 우선 회원 객체를 만들어준다.@Getter@Setterpublic class Member { private Long id; private String username; private int age; public Member() { } public Member(String username, int age) { this.username = username; this.age = age; }} 이후 회원을 저..

공부/Spring 2025.03.12

서블릿(Servlet)

참고 : 서블릿 JSP 기술은 거의 사장되었다고 봐도 무방한 기술들이다. 하지만 MVC 패턴이 나오게 된 계기가 되는 것들이니 만큼 학습을 하고 넘어가려 한다.+ 아직까지 가끔? JSP를 쓰는 기업들이 보이기는 하는거 같다. 우선 스프링 부트를 사용해 스프링 프로젝트를 생성하자.https://start.spring.io/ Dependencies는 Spring Web, Lombok을 선택하여 만든다.packaging은 war를 선택한다. JSP를 실행하기 위해 필요하다.Hello 서블릿스프링 부트 환경에서 서블릿을 등록하고 사용해보자. *참고 : 서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고, 그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린 다음, 톰캣 서버를 실행하면 된다. 하지만 이과정은..

공부/Spring 2025.03.11

웹 애플리케이션의 이해

웹 서버, 웹 애플리케이션 서버웹 : 웹은 HTTP 통신을 기반으로 통신한다. 모든 것이 HTTP이다.HTTP 메시지에 모든 것을 담아 전송한다.1. HTML, TEXT2. IMAGE, 음성, 영상, 파일3. JSON, XML(API)4. 서버간의 데이터를 주고 받을때도 대부분 HTTP 사용--> 거의 모든 형태의 데이터가 전송 가능하다. 웹 서버(Web Server)- HTTP 기반으로 동작한다.- 정적 리소스(파일)를 제공하고, 기타 부가 기능이 있다.- 정적(파일) HTML, CSS, JS, 이미지, 영상 등이 정적 파일이다.- ex)NGINX, APACHE  웹 애플리케이션 서버(WAS - Web Application Server)- HTTP 기반으로 동작한다.- 위의 웹 서버 기능 포함 + 정적..

공부/Spring 2025.03.10
반응형