일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 암묵적 타입 변환
- docker
- Microtask Queue
- jotai
- Recoil
- Compound Component
- zustand
- Custom Hook
- CS
- AJIT
- useLayoutEffect
- helm-chart
- JavaScript
- 프로세스
- type assertion
- react
- 좋은 PR
- Redux Toolkit
- 회고
- 타입 단언
- TypeScript
- task queue
- 클라이언트 상태 관리 라이브러리
- Sparkplug
- prettier-plugin-tailwindcss
- 명시적 타입 변환
- Headless 컴포넌트
- 주니어개발자
- Render Queue
- linux 배포판
- Today
- Total
목록분류 전체보기 (177)
구리
목차 MyBatis 프레임워크 특징 프로젝트를 통한 MyBatis 기초 설명(MybatisProject) SQL Mapper XML 파일 작성 MyBatis 환경 설정 SqlSession 객체 생성 DAO 클래스 작성 테스트 클라이언트 작성 및 실행 MyBatis 프레임워크 특징 - 한두 줄의 자바 코드로 DB 연동을 처리 - SQL 명령어를 자바 코드에서 분리하여 XML 파일에 따로 관리 즉, XML 파일에 저장된 SQL 명령어를 대신 실행하고 실행 결과를 VO 같은 자바 객체에 자동으로 매핑까지 해주기에 데이터 맵퍼(Data Mapper)라고 부릅니다. 예시 insert into board(seq,title, writer, content) values ((select nvl(max(seq), 0)+1..
Controller에서 String이 반환되면 view 이름을 찾아서 JSP를 렌더링 하고, view가 없으면 404를 반환합니다 @RequestMapping("getBoard.do") public String getBoard() { return "board"; } 만약 method에 @ResponseBody 어노테이션이 적용되어 있다면 view를 찾지 않고, String 값을 그대로 반환합니다. @ResponseBody @RequestMapping("getBoard.do") public String getBoard(BoardVO vo) throws Exception { return boardService.getBoard(vo); } Dispatcher Servlet이 ModelAndView를 반환하면 ..
목차 1. JSON으로 변환 2. XML로 변환 1. JSON으로 변환 (1) Jackson2 라이브러리 내려 받기 pom.xml 파일에서 추가 com.fasterxml.jackson.core jackson-databind 2.7.2 (2) HttpMessageConvertor 등록 일반적으로 서블릿이나 JSP 요청시, Http 응답 프로토콜 메시지 Body에 저장하여 브라우저에 전송합니다. 그런데 이 결과를 JSON이나 XML로 변환하여 메시지 Body에 저장하려면 스프링이 제공하는 Converter를 사용합니다. 자바 객체를 JSON 응답 보디로 변환할 때는 MappingJackson2HttpMessageConverter를 사용합니다. (XML 변환도 처리할 예정이므로 presentation.xml에..
목차 1. 메시지 파일 작성 2. MessageSource 등록 3. LocaleResolver 등록 4. Locale 변경 5. JSP 파일 설정 1. 메시지 파일 작성 원하는 언어로 메시지 출력시 각 언어에 따른 메시지 파일을 작성해야 하며 확장자는 'properties'로 파일명은 언어에 해당하는 Locale 정보를 결합합니다. (1) src/main/resources에 new File 생성하여 messageSource_en.properites, messageSource_ko.properites로 2개의 파일을 생성합니다. (2) 영어 메시지 파일 작성 #login.jsp message.user.login.title=LOGIN message.user.login.id=ID message.user.lo..
목차 파일 업로드 처리 (1) 파일 업로드 입력 화면 글 등록 Log-out 제목 작성자 내용 업로드 글목록 파일 업로드를 위해 form 태그에 entype 속성 추가 후 멀티파트 형식인 "multipart/form-data"로 지정하며 input type="file" 태그를 추가합니다. (2) Command 객체 수정 업로드할 파일 정보 추가로 인해 BoardVO에 파일 관련 변수를 추가합니다. package com.springbook.biz.board; import java.sql.Date; import org.springframework.web.multipart.MultipartFile; // VO public class BoardVO { private int seq; private String t..
목차 더보기 비즈니스 컴포넌트 사용 1. DAO 클래스 교체 2. AOP 설정 비즈니스 컴포넌트 로딩 1. 2-Layered 아키텍처 2. ContextLoaderListener 등록 3. 스프링 컨테이너의 관계 검색 기능 구현 1-1. 검색 정보 추출 1-2. Command 객체 수정 2. Controller 구현 3. DAO 클래스 수정 - BoardDAOSpring 클래스 수정 사실 Controller는 비즈니스 컴포넌트를 이용해 사용자의 요청을 처리해야 하며, 이때 컴포넌트가 제공하는 Service 인터페이스를 사용해야 합니다. 지금껏 사용했던 방법처럼 Controller가 직접 DAO 객체의 메소드 호출시 여러 문제를 야기하기 때문입니다. 문제 1. 유지보수 과정에서 DAO 클래스를 다른 클래스..
목차 더보기 1. 어노테이션 설정 2. Controller 클래스에 @Controller 어노테이션 설정 3. @RequestMapping 사용 4. 클라이언트 요청 처리 - Command 객체 이용 글 등록 기능 구현 글 목록 검색 구현 글 상세 보기 구현 글 삭제 구현 글 수정 구현 로그인 기능 구현 로그아웃 기능 구현 컨트롤러 통합하여 하나의 클래스로 생성 요청 방식에 따른 처리 - @RequestMapping의 method JSP에서 Command 객체 사용 @ModelAttribute - Command 객체 이름 변경 Servlet API 사용 일관성 있는 Controller 리턴 타입 기타 어노테이션 사용 - @RequestParam 사용 - @ModelAttribute : View에서 사용할..
목차 Spring MVC 구조 DispatcherServlet 등록 및 스프링 컨테이너 구동 스프링 설정 파일 변경 방법 인코딩 설정 Controller 설정 HandlerMapping 등록 ViewResolver 활용 프로젝트 구조도 (BoardWeb_SpringMVC) 프로젝트 수정 사항 - 에서 값은 프로젝트명으로 변경 후 톰캣 서버 모듈에서 해당 프로젝트 Path가 /프로젝트명 으로 되어 있는지 확인 후 변경 Spring MVC 구조 ① 클라이언트로부터 모든 요청을 DispatcherServlet이 받습니다 ② DispatcherServlet은 HandlerMapping을 통해 요청 처리할 Controller를 검색합니다 ③ DispatcherServlet은 검색된 Controller를 실행하여 ..