Backend/Spring
[Spring] Post 방식 매핑
seoooc
2022. 3. 8. 20:16
web.xml 하단에 추가
<!-- Post방식 전송의 한글 인코딩 -->
<filter>
<description></description>
<display-name>SpringEncodeFilter</display-name>
<filter-name>SpringEncodeFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SpringEncodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
home.jsp에 아래 코드 추가
<div>
<form method="get" action="/myapp/form1">
번호 : <input type="text" name="num"/><br/>
이름 : <input type="text" name="name"/><br/>
<input type="submit" value="서버로 보내기"/>
</form>
<form method="post" action="/myapp/form2">
번호 : <input type="text" name="num"/><br/>
이름 : <input type="text" name="name"/><br/>
<input type="submit" value="서버로 보내기"/>
</form>
</div>
MappingController에 아래 코드 추가
//GET 방식
@RequestMapping("/form1")
public ModelAndView form1(DataVo vo) {
System.out.println("번호->"+vo.getNum());
System.out.println("이름->"+vo.getName());
ModelAndView mav = new ModelAndView();
mav.addObject("vo",vo);
mav.setViewName("main/result");
return mav;
}
//POST 방식
//@PostMapping("/form2")와 동일
@RequestMapping(value="/form2", method=RequestMethod.POST)
public ModelAndView form2(DataVo vo) {
System.out.println(vo.getNum()+", "+vo.getName());
ModelAndView mav = new ModelAndView();
mav.addObject("vo", vo);
mav.setViewName("main/result");
return mav;
}
POST 매핑
@PostMapping
@RequestMapping에서 method를 POST로 설정