하나의 요청 URL 에 대해 HTTP GET 요청과 POST 요청을 한 개의 컨트롤러에서 처리해 주어야 할 때
* GET 요청 : 글쓰기 폼 보여주기
* POST 요청 : 글쓰기 폼 전송
이런경우 @RequestMapping 어노테이션의 method 속성을 이용해서 메서드가 처리할 HTTP 메서드를 제한 할 수 있다.
간략하게 핵심 코드만 보면,
#NewArticleController.java
@Controller
@RequestMapping("/article/newArticle.do") //호출URL
public class NewArticleController {
@Autowired
private ArticleService articleService;
@RequestMapping(method = RequestMethod.GET)
public String form() {
return "newArticleForm";
}
@RequestMapping(method = RequestMethod.POST)
public String submit(@ModelAttribute("command") NewArticleCommand command) {
articleService.writeArticle(command);
return "newArticleSubmitted";
}
public void setArticleService(ArticleService articleService) {
this.articleService = articleService;
}
1. 처음 게시글 쓰기 화면을 GET 방식으로 호출합니다.
SimpleFormController 를 쓰지 않고 순수 @어노테이션을 이용하여 해 본다는 것에 의의를 둡시다! ^_^
주소 URL 호출은 http://localhost:8080/Method/article/newArticle.do
2. 글을 입력 한 후 쿼리 전송 버튼을 누릅니다 (실제로 DB 단은 만들지 않았습니다)
3. 쿼리 전송을 누름과 동시에 POST 방식으로 폼 값이 입력 되어 다음과 같은 화면이 나왔습니다.
5. Service 단에서 System.out.println() 으로 찍어 보았습니다. ^-^
만든 Source 테스트 해보시라고 첨부 합니다 ^-^
용자님께서는 Test Go! Go! ^-^
'FrameWork > Spring 3.0' 카테고리의 다른 글
[Spring 3.0] CH06. 캐릭터 인코딩 처리를 위한 필터 설정 (0) | 2010.11.10 |
---|---|
[Spring 3.0] CH06.MVC Hello World (0) | 2010.10.28 |
[Spring 3.0] CH04-2.어노테이션 기반 빈 객체 스캔 (1) | 2010.10.27 |
[Spring 3.0] CH04-1. 어노테이션 기반 설정 (1) | 2010.10.27 |
[Spring 3.0] DI & AOP 개념 (0) | 2010.10.27 |