Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 의존주입
- @RequestParam
- @Valid
- 서비스레이어
- Model
- .xml
- application.properties
- @ResponseBody
- @RequestMapping
- SpringBoot
- frontController
- spring
- 바인딩변수
- Java
- produces
- PointCut
- MVC
- 비즈니스레이어
- springmvc
- 스프링
- after-throwing
- 생성자주입
- springjdbc
- @
- jointpoint
- gradle
- 어노테이션
- c:if
- AOP
- 유효성검사
Archives
- Today
- Total
메모장
Spring boot 요청을 처리하는 방법 본문
728x90
반응형
먼저 컨트롤러에서

@RequestMapping("/") // 루트 요청 // 핸들러 맴핑 역할을 해줄
public @ResponseBody String root() {
return "루트요청 ! ";
// VR 관여 안시킬거고
// 문자열 "값" 을 보낼 거라 비동기 요청 이다. 그래서 @ResponseBody 붙임
}
viewResolver 동작 안하게 하면서 , 값을 보낼 것으로 비동기 요청을 추측 할 수 있다.
비동기 처리 시에는 클라이언트 요청에 대한 서버의 응답이므로 본문 응답 @ResposeBody 를 붙인다.
1. 기본적인 요청 처리
@RequestMapping("/test") // 루트 요청 // 핸들러 맴핑 역할을 해줄 // value 라는건 하나있을땐 value 생략 가능
public String test(VO vo, Model model ) { // 커맨드 객체
System.out.println("vo : " + vo); // 이거 toString 누가 만들어 준거냐 롬복이 만들어줬다. 롬복의 결과
vo.setId("GILDONG");
vo.setName("홍길동");
vo.setPw(1234);
model.addAttribute("apple", vo.getId());
model.addAttribute("banana", vo.getName());
model.addAttribute("vo", vo);
return "test";
// /WEB-INF/views/test.jsp 가달라는 뜻
}
Model 객체를 써서 model.addAttribute 로 데이터를 전달 해준다.
2. 인자에 Request 가 있는 방식
@RequestMapping("/test01") // 루트 요청 // 핸들러 맴핑 역할을 해줄 // value 라는건 하나있을땐 value 생략 가능
public String test01( Model model, HttpServletRequest request ) { // 커맨드 객체
// request 자체가 not POJO 인 Servlet 객체이기 때문에 활용도가 낮다 !
VO vo = new VO();
vo.setId(request.getParameter("id"));
System.out.println("vo : " + vo); // 이거 toString 누가 만들어 준거냐 롬복이 만들어줬다. 롬복의 결과
model.addAttribute("apple", vo.getId());
return "test";
// /WEB-INF/views/test.jsp 가달라는 뜻
}
request 자체가 not POJO 인 Servlet 객체 이기 때문에 활용도가 낮다.
Servlet 객체는 메모리가 많이 들기 때문에
3. @RequestParam 사용
@RequestMapping("/test02") // 루트 요청 // 핸들러 맴핑 역할을 해줄 // value 라는건 하나있을땐 value 생략 가능
public String test02(@RequestParam("id")String id,@RequestParam("name")String name, Model model ) { // 커맨드 객체
// 가독성이 커맨드 객체를 사용 할 때 보다 별로임 ...!!!!
// view 랑 모델이 아무 생각 없이 사용 할 수는 있음
model.addAttribute("apple", id);
model.addAttribute("banana", name);
// 얘는 폼태그에 실어서 보내야 에러가 안난다. !!
return "test";
// /WEB-INF/views/test.jsp 가달라는 뜻
}
작동은 하지만 가독성이 커맨드 객체를 사용 할 때 보다 별로이다.
form 태그를 이용해야 에러가 안난다. parameter 로 받기 때문에
의외로 많이 보이는 코드 이다.
4. URL 에 실어서 보내기
@RequestMapping("/test03/{id}/{name}") //URL 에 실어서 보내는 것임 // 아이디랑 이름을 가져올거다
// .do 없이 웹을 모바일 환경 에서도 돌릴 수 있게 rest api 라고 불린다.
public String test03(@PathVariable String id, @PathVariable String name, Model model ) { // 커맨드 객체
model.addAttribute("apple", id);
return "test";
// /WEB-INF/views/test.jsp 가달라는 뜻
}
URL 에 실어서 보낸다 . 요즘은 .do 요청 없이 웹을 모바일 환경에서도 돌릴 수 있도록 url 에 입력하는 방법이 사용되는데 Rest Api호출시 주로 많이 사용하게 된다.
@PathVariable ==> URI를 이용해 파라미터 처리를 할수있다는 뜻
728x90
반응형
'Spring > 개념정리' 카테고리의 다른 글
| Spring boot 유효성검사 (2) 에러메세지 (0) | 2024.08.07 |
|---|---|
| Spring boot 유효성 검사 (1) (0) | 2024.08.07 |
| Spring boot 의 static 폴더 (0) | 2024.08.07 |
| Spring boot 에서 해야하는 기본 설정 (0) | 2024.08.07 |
| Spring Starter Project ( Spring boot ) (0) | 2024.08.07 |