본문 바로가기

FrameWork/Spring 3.0

[Spring 3.0] CH06. 컨트롤러 메서드 HTTP 전송방식(method) 한정


하나의 요청 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! ^-^