일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
31 |
- java
- Git_정리
- HTML
- 아파치톰캣
- 자바
- 인덱스
- 자바스크립트
- 이클립스
- spring
- DML
- SQL_용어정리
- Spring_에러정리
- asp.net
- vb.net
- jsp
- JavaScript
- Git_명령어정리
- SQL
- 인스턴스
- CSS
- 다이어그램
- Linux
- json
- git
- github
- 배열
- Linux_명령어정리
- Spring_오류정리
- MySQL
- workbench
- Today
- Total
목록Spring/Spring: 정리 (31)
데브마우스
매트릭스 변수는 무엇인가요? 웹 요청(Web Requeset) URL에 파라미터 값을 2개 이상 전달하는 방법입니다. 요청 파라미터에 세미콜론으로 값을 구분하여 2개 이상의 변수를 사용하는 것입니다. 이번에 스프링을 배우면서 처음 알게된 기술입니다. 왜냐하면 대부분의 상용 웹에서는 잘 안쓰이는 기술입니다. 매트릭스 변수를 사용하기 위해서, 스프링 MVC 설정 파일인 servlet-context.xml에 아래 태그를 추가하셔야 합니다. 매트릭수 변수 예제 코드는 아래와 가틋ㅂ니다. //Controller 부분 코드입니다. @GetMapping("/book/{statusFilter}") public String requestBooksByFilter( @MatrixVariable(pathVar="statusF..
경로 변수는 무엇인가요? 경로 변수(Path Variable)은 URL의 / 뒤 문자열을 변수처럼 사용하는 것 입니다. 만약 http://.../book/new 라는 주소가 있다면 새로나온 신간 도서만 보여주고게 할 수 있습니다. 이를 스프링 MVC에서 사용하기 위해서는 아래 코드처럼 작성합니다. @GetMapping("/{status}") public String management_office_process(@PathVariable String status, Model model) { List book_by_status = repo.read_list_of_book_by_status(status); model.addAttribute("book_by_status", book_by_status); retu..
Model, ModelMap, ModelAndView이란 무엇인가요? https://devmouse.tistory.com/378 [Spring] 스프링 MVC의 흐름도와 스프링 프로젝트의 실행 과정 정리 스프링(Spring) MVC의 흐름도 핸들러 매핑 (HandlerMapping) 컨트롤러 (Controller) ↑ 2.요청 URL과 매핑되는 Controller 검색 요청 ↓ 3.요청 URL과 매핑되는 Controller 반환 ↑ 4. 처리 요청 ↓ 5. ModelAndView 반환 클 devmouse.tistory.com 스프링 MVC의 흐름도의 흐름도를 보시면 5번에 ModelAndView 반환이 있습니다. 모델들은 스프링 MVC에서 컨트롤러에서 뷰로 데이터를 전달하는 데 사용하는 클래스입니다. M..
@RequestMapping이 무엇인가요? @RequestMapping은 웹에 접속한 사용자의 요청을 어떻게 처리할지 매핑(연결)하는 annotation입니다. 또한 @RequestMapping을 사용하기 위해서는 org.springframework.web.bind.annotation을 import 하셔야 합니다. 클래스에 @RequestMapping 적용하는 방법 클래스위에 @RequestMapping을 작성합니다. 클래스 위에 @RequestMapping이 적용됩니다. 그뒤에 메서드에 적용된 어노테이션이 적용됩니다. 메서드에 @RequestMapping 적용하는 방법 메서드 위에 @RequestMapping을 작성합니다. @RequestMapping 작성 방법 @RequestMapping(value=..
servlet-context.xml에서 태그에 패키지 이름을 등록하면 해당되는 패키지들에 @Controller 컴포넌트가 작성되어 있다면 자동으로 Bean 객체를 생성합니다. 반대로 자동으로 Bean 객체를 생성한다면 수동 생성도 가능합니다. Bean 객체 자동 생성 코드 형식
컨트롤러(@Controller)란 무엇인가요? 컨트롤러 Annotation은 일반적인 자바 클래스가 아닌, 웹 브라우저에서 들어온 요청을 처리할 수 있는 메서드를 가진 특정한 자바 클래스입니다. 또한 import org.springframework.stereotype.Controller;를 import 해줘야 사용할 수 있습니다. 스프링 MVC의 컨트롤러는 무엇을 하나요? 스프링 MVC에서 사용자 요청(URL 이동)을 받으면 가장 먼저 디스패처 서블릿에 전달합니다. 디스패처 서블릿은 핸들러 매핑으로써 요청을 전달받는 역할만 합니다. 실제로는 컨트롤러(Controller)가 요청을 처리합니다. 디스패처 서블릿과 컨트롤러의 클라이언트 요청 처리 과정 실제 처리 컨트롤러 (자바 파일) ↗ WelcomeCont..
스프링 웹 애플리케이션의 계층적 구조란 무엇인가요? 계층적 구조는 관심사를 분리하여 스프링 MVC 애플리케이션에서 사용하는 계층형식의 구조입니다. 스프링 MVC 애플리케이션의 계층적 구조를 시각적으로 표현한 자료입니다. 프레젠테이션 계층 도메인 객체(DTO) 웹 브라우저 ─요청→ View ↘ Model ↔ ←응답─ Controlelr ↗ ↕ 서비스(비즈니스) 계층 (모델에 해당) ↔ ↕ 퍼시스턴스(DAO) 계층 (모델에 해당) ↔ ↕ 데이터베이스 이름 설명 도메인 객체 (Domain Object) 데이터 모델로써 객체의 정보를 저장합니다. DTO(Data Transfer Object), DO(Data Object), VO(View Object)등 다양하게 불립니다. 퍼시스턴스 계층 (Persistence..

스프링 프레임워크를 개발하여 웹 개발 시 필요한 의존성 라이브러리를 추가하고 인터넷으로 자동으로 다운로드하게 할 수 있습니다. 작업 순서는 아래와 같습니다. https://mvnrepository.com/ 에 접속합니다. 추가하고자 하는 라이브러리를 검색합니다. 버전 클릭시 해당 의존성 라이브러리의 상세 페이지로 이동합니다. servlet-context.xml 파일의 태그 안에 작성합니다. 작성 후, 이클립스 기준 Alt + F5를 눌러서 Maven Project를 업데이트하면 의존성 라이브러리 적용이 완료됩니다.
pom.xml이란 무엇인가요? pom은 Project Object Model의 약자이며 pom.xml 파일에 xml 태그 형식으로 작성하여 프로젝트에 필요한 메이븐(Maven) 라이브러리를 설정합니다. 프로젝트 정보를 작성하는 태그 4.0.0 com.practice practice war 0.0.1-SNAPSHOT practice Maven Webapp http://maven.apache.org pom.xlm의 요소 정리 태그 설명 POM 모델의 버전을 의미합니다. 스프링 MVC 프로젝트 생성 시 입력된 groupId가 자동으로 입력 됩니다. 스프링 MVC 프로젝트 생성 시 입력된 artifactId가 자동으로 입력 됩니다. 프로젝트의 고유 name을 의미합니다. 프로젝트의 패키지 형태를 설정합니다. 웹..
스프링 프레임워크에서 Bean 객체를 자동으로 등록하기 위해서는 아래와 같이 servlet-context.xml 파일을 설정하셔야 합니다. 위와 같이 작성하실 경우 com.practice.*에 해당되는 클래스는 자동으로 빈 객체가 등록됩니다. 여기서 *는 와일드 카드로써 com.pratice의 모든 하위 패키지는 자동으로 등록됩니다. 덕분에 만약 com.practice.a와 com.practice.b라는 패키지가 있더라도 다 수동으로 입력하는 대신 com.practice.*로 한 번에 작성이 가능합니다. 빈(Bean) 객체 수동 입력 방법 위의 방식을 사용하지 않고 빈(Bean) 객체를 수동으로 등록하기 위해서는 @Controller가 선언된 HomeController를 아래처럼 작성하셔야 합니다. 위의..