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로 설정