전체 글

백앤드 취준생의 개발노트
👩‍🏫 Study/스프링레거시 강의

Ajax와 jQuery를 이용한 스프링 게시판 만들기

1. Controller의 리턴타입 String : jsp를 이용하는 경우에는 jsp파일의 경로와 파일이름을 나타내기 위해서 사용 void : 호출하는 URL과 동일한 이름의 jsp를 의미 VO, DTO 타입 : 주로 JSON타입의 데이터를 만들어서 반환하는 용도 ResponseEntity 타입 : response할 때 Http헤더정보와 내용을 가공하는 용도 이전 글에서는 String과 void를 이용해서 뷰를 보여주는 작업을 했었다. 이번엔 JSON타입으로 응답을 해보자. // @ResponseBody -> jackson-databind(객체를 -> json 데이터 포멧으로 변환) @RequestMapping("/boardList.do") public @ResponseBody List boardList..

👩‍🏫 Study/스프링레거시 강의

게시판 만들기

1.게시판 글쓰기 제목 내용 작성자 등록 취소 form의 action부분은 서버에서 받을 페이지이고, method는 어떤 방식으로 넘길 것인지에 대한 값을 적으면 된다. select * from myboard order by idx desc insert into myboard(title,content,writer) values(#{title},#{content},#{writer}) xml에서 resultType은 결과를 묶어줄 때 사용하고, parameterType은 쿼리로 넘어오는 타입이 어떤 타입인지 입력해주면된다. 2. 글 상세보기 데이터를 넘기는 방식은 두가지가 있다. 1) get방식으로 넘기

👩‍🏫 Study/스프링레거시 강의

Spring MVC 기초

controller는 게시판을 처리하는 컨트롤러이다. (현실세계로 치면 아르바이트생 정도) Mapper는 데이터베이스를 연결하는 패키지이다. Mapper에서는 메서드가 실행될 때 사용될 쿼리문을 작성한다. 그러기 위해서는 매핑을 잘 해줘야하는데 mapper의 namespace를 해당 패키지 명으로 지정해야한다. select * from board order by idx desc 그리고 select id를 실행이 필요한 메서드 명과 연결을 해두고, 묶어주는 타입(resultType)을 설정해준다. 1. 동작순서 게시판 리스트를 보여주려면 어떤 순서로 진행이 될까? 클라이언트에서 게시판리스트를 보여달라는 요청(boardList.do)이 오면 controller에서 해당 요청을 찾는다. 그러면 controll..

👩‍🏫 Study/스프링레거시 강의

Spring 프로젝트 명 바꾸기

프로젝트 선택 >> 마우스 우클릭 >> [Properties] >> 변경할 이름을 작성하고 Apply해주면 프로젝트 명이 변경된다. 다른 여러가지 방법들도 있지만, 다른 방법으로 변경하면 이름이 다시 돌아오는 경우도 있다. 하지만 이 방법으로 변경을 하면 확실하게 변경이 된다. 톰캣서버에 이미 해당 프로젝트를 등록을 한경우에는 톰캣 서버의 Modules의 Path명도 변경을 해주면 된다.

👩‍🏫 Study/스프링부트 강의

[5. 스프링 MVC 2편] 타임리프 - 기본 기능

1. 타임리프란? 타임리프는 JSP, Freemarker와 같은 템플릿 엔진의 일종으로 다음과 같은 특징을 갖고 있다. 타임리프 특징 서버사이드 HTML 렌더링 (SSR) 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용한다. 네츄럴 템플릿 타임리프는 순수 HTML을 최대한 유지하는 특징을 가지기 때문에, 타임리프로 작성한 파일은 HTML을 유지해서 웹 브라우저에서 파일을 직접 열어도 내용을 확인할 수 있고, 서버를 통해 뷰 템플릿을 거치면 동적으로 변경된 결과를 확인할 수도 있다. 이렇게 순수 HTML을 그대로 유지하면서 뷰 템플릿도 사용할 수 있는 타임리프의 특징을 네츄럴 템플릿 (natural templates)이라고 한다. 스프링 통합 지원 스프링과 통합되어 있어, 스프링의 다양한 기능..

👩‍🏫 Study/스프링부트 강의

[4. 스프링 MVC 1편] 스프링 MVC 웹 페이지 만들기

1. 요구사항 분석 핵심 요구사항은 상품을 관리할 수 있는 서비스다. 상품도메인 모델은 다음과 같다. 상품ID, 상품명, 가격, 수량 관련된 기능은 다음과 같다. 상품목록, 상품상세, 상품등록, 상품수정 서비스 흐름은 다음과 같다. 클라이언트(사용자)는 상품 목록을 조회한다. 상품 등록 클릭시, 상품 등록 폼으로 이동하여 상품 내용 입력 후 '상품 저장'을 클릭한다. 그러면 상품 상세로 돌아간다. 상품 제목 클릭시, 상품 상세로 이동한다. 상품 상세에서 '상품 수정' 클릭시, 상품 수정 폼으로 이동한다. 수정 내용 입력 후 '상품 수정'을 클릭하면 상품상세로 리다이렉트된다. 그리고 다음과 같은 흐름을 가정하여 개발을 진행한다고 해보자. 요구사항이 정리된 후 디자이너는 요구사항에 맞게 화면 디자인을 한다...

👩‍🏫 Study/스프링부트 강의

[4. 스프링 MVC 1편] 스프링 MVC - 기본 기능

1. 로깅 간단히 알아보기 이전까지 System.out.print() 시스템 콘솔로 정보를 출력했지만, 이제는 별도의 로깅 라이브러리로 로그를 출력해보자. 로그 라이브러리도 내용이 끝이 없기 때문에 간단히 사용방법만 알고 넘어간다. 스프링 부트 라이브러리를 사용하면 기본적으로 로깅 라이브러리가 포함되어있다. @RestController public class LogTestController { private final Logger log = LoggerFactory.getLogger(getClass()); @RequestMapping("/log-test") public String logTest(){ String name = "Spring"; System.out.println("name = " + nam..

👩‍🏫 Study/스프링부트 강의

[4. 스프링 MVC 1편] MVC 프레임워크 만들기

프론트 컨트롤러 패턴이란? 이전까지 클라이언트 호출이 오면 공통 로직을 포함한 모든 것이 컨트롤러마다 만들어야 했다. 프론트 컨트롤러는 이런 공통 로직을 하나로 모은 서블릿이다. 프론트 컨트롤러 특징 서블릿 하나로 클라이언트의 요청을 받음 프론트 컨트롤로가 요청에 맞는 컨트롤러를 찾아서 호출 공통 처리 가능 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿 없어도 됨 1. 프론트 컨트롤러 도입 - v1 프론트 컨트롤러를 만들고 매핑 정보를 담아보자, 컨트롤러 정보는 이전 예제의 서블릿을 그대로 옮겼다. @WebServlet(name = "frontControllerServletV1", urlPatterns = "/front-controller/v1/*") public class FrontControlle..

개발진스
꾸미 개발자