티스토리 뷰
- @Controller: 이 annotation을 사용하면 클래쓰는 자동으로 객체(Bean)으로 등록된다.
- @RequestMapping
- 클래스 선언부에 정의: 현재 클래쓰의 모든 method들의 기본적인 URL 경로
- 매서드 선언부에 정의: 클래서 선언부에 작성된 주소 뒤에 추가적으로 붙는 경로 지정 가능
- @Log4j
혹시나 에러가 뜨면 pom.xml 에서 log4j scope 부분을 주석 처리하면 된다
@RequestMapping의 method 정의하기
GET와 POST 를 지정할 수 있다. 두 방식 모두 지원하고 싶다면 배열 형태로 처리하면 된다.
@RequestMapping(value="/basic", method= {RequestMethod.GET, RequestMethod.POST})
public void basicGet() {
}
@GetMapping("/basicOnlyGet")
public void basicGet2() {
}
Controller 의 파라미터
예)
package com.minsung.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import lombok.extern.log4j.Log4j;
@Controller
@RequestMapping("/sample/*")
@Log4j
public class SampleController {
@RequestMapping("")
public void basic() {
log.info("basic");
}
}
@RequestParam
기본 자료형이나 문자열을 사용할 때 파라미타의 타입일 지정해줄 수 있는 annotation이다.
@GetMapping("/ex02")
public String ex02(@RequestParam("name") String myname, @RequestParam("age") int myage) {
log.info("name : " + myname);
log.info("age : " + myage);
return "ex02";
}
리스트와 배열 처리
동일한 이름의 파라미터가 여러개 전단된다면:
1. ArrayList 를 사용한다
주의햐야 할 점: 스프링은 파라미터의 타입을 보고 객체를 생성하기 때문에 파라키터의 타입은 인터페이스 타입이 아닌 실제적인 클래쓰 타입으로 지정해야 한다.
2. 배열을 사용한다
객체 리스트
객체타입 여러개를 처리해야 한다면 하나의 클래쓰로 만들어서 한번에 처리하는 것이 가능하다
package com.minsung.domain;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
@Data
public class SampleDTOList {
private List<SampleDTO> list;
public SampleDTOList() {
list = new ArrayList<SampleDTO>();
}
}
Controller에는 다음과 같이 작성한다:
@GetMapping("/ex02Bean")
public void ex02Bean(SampleDTOList list) {
log.info("전달된 dto들 : " + list);
}
이때 파라미터는 [index] 형태로 전달해서 처리한다고 한다.
참고: https://velog.io/@msriver/Spring-Spring-MVC-Controller
[Spring] Spring MVC Controller
Spring MVC Controller의 특징 HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없음. 다양한 타입의 파라미터/리턴 사용 가능 GET/POST 등 전송방식에 대한 처리를 어노테이션으로 가능 상속/인터페이�
velog.io
'Spring' 카테고리의 다른 글
[Tomcat 에러]Could not publish server configuration for Tomcat v8.5 Server at localhost. (0) | 2020.08.13 |
---|---|
Spring JDBC를 이용한 데이터 접근법 (0) | 2020.08.11 |
Spring MVC 프로젝트 예제 (0) | 2020.08.11 |
Server Tomcat v8.5 Server at localhost failed to start. (0) | 2020.08.10 |
Spring Framework 개념 (0) | 2020.08.10 |
- Total
- Today
- Yesterday
- javascript #datatype
- text_shadow
- Mavenproject
- html
- HTML #class
- Block_element #inline_element
- meta #link #script #base #HTML
- JSP환경구축
- HTML #CSS
- DB4free
- css
- HTML_Forms
- head #title #style
- HTML #Tables
- 인용문 #주석
- links lists tables display
- 2020Camp
- STS4
- HTML #Headings #Paragraph #Styles
- HTML #media #video #YouTube
- HTML_Formatting
- box_model
- JSP_CRUD
- fontstyle
- HTML #id #iframe
- HTML #Canvas #SVG
- annotation
- UserBean
- jsp
- DynamicWebProject
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |