๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปStudy/Spring

๋ฌธ์„œ ์ถœ๋ ฅ ๋ฐฉ๋ฒ• 4๊ฐ€์ง€, @ResponseBody

 

ResourceViewResolver๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•, TilesViewResolver๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•์€ ์•ž์„œ ์‚ดํŽด ๋ณด์•˜์œผ๋‹ˆ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์„œ๋ธ”๋ฆฟ ๊ฐ์ฒด๋ฅผ ์–ป์–ด์„œ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ @ResponseBody ์–ด๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•ด ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

 

 

 

* ์„œ๋ธ”๋ฆฟ ๊ฐ์ฒด(HttpServletResponse)๋ฅผ ์ด์šฉํ•˜์—ฌ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ง์ ‘ ๋ฌธ์ž์—ด ์ถœ๋ ฅํ•˜๊ธฐ

 

 

HttpServletResponse ๊ฐ์ฒด์˜ getWriter() ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋ฌธ์„œ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. index ํ•จ์ˆ˜์—์„œ void๋ฅผ ๋ฆฌํ„ดํ•˜๋”๋ผ๋„(๋ฆฌํ„ด๊ฐ’์ด ์—†์Œ) ๋ฉ”์†Œ๋“œ ์•ˆ์—์„œ ์ง์ ‘ ์ถœ๋ ฅํ•˜๋ฏ€๋กœ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰ ์‹œ ํ™”๋ฉด์— ๋ฌธ์ž์—ด์ด ํฌํ•จ๋œ ๋ฌธ์„œ๊ฐ€ ๋œฌ๋‹ค.

 

 


HomeController.java

@Controller
@RequestMapping("/")
public class HomeController{

	@RequestMapping("index")
	public void index(HttpServletResponse response) {
		PrintWriter out;
		try {
			out = response.getWriter();
			out.println("Hello Index");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

๊ธฐ์กด์— ์„œ๋ธ”๋ฆฟ์—์„œ ์ฃผ๋กœ ์“ฐ๋˜ ๋ฐฉ๋ฒ•๋Œ€๋กœ HttpServletResponse ๊ฐ์ฒด๋ฅผ ์–ป์–ด์„œ getWriter ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. view ํŽ˜์ด์ง€๊ฐ€ ๋”ฐ๋กœ ์—†๊ณ  ์ง์ ‘ ์ถœ๋ ฅ์„ ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋ฉด ์ด ๋ฐฉ์‹์„ ์จ๋„ ์ข‹์œผ๋‚˜, ์Šคํ”„๋ง์€ ์ด๊ฒƒ์„ ์กฐ๊ธˆ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์•ˆ์„ ์ œ๊ณตํ•œ๋‹ค.

 

 

 

* @ResponseBody ์„ค์ •์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ์ถœ๋ ฅํ•˜๊ธฐ

 

 

๋ฉ”์†Œ๋“œ์˜ ๋ฆฌํ„ด ํƒ€์ž…์„ String์œผ๋กœ ํ•˜๊ณ  "Hello Index"๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ์ด๋‹ค. tiles์™€ ๋ทฐ ๋ฆฌ์กธ๋ฒ„๋ฅผ ํ†ตํ•ด ๋ทฐ ํŽ˜์ด์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด 404 ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

๊ทธ๋ ‡๋‹ค๋ฉด ๋ทฐ ํŽ˜์ด์ง€๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฌธ์ž์—ด ์ž์ฒด๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ ํ• ๊นŒ? @ResponseBody ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

 

HomeController.java

@Controller
@RequestMapping("/")
public class HomeController{

	@RequestMapping("index")
	@ResponseBody
	public String index() {
		return "Hello Index";
	}
}

 

@ResponseBody๋Š” tiles, ๋ทฐ ๋ฆฌ์กธ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ง€๊ธˆ ๋ฆฌํ„ดํ•˜๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ResponseBody์ž„์„ ์•Œ๋ ค์ฃผ๋Š” ์–ด๋…ธํ…Œ์ด์…˜์ด๋‹ค. ์ด ์–ด๋…ธํ…Œ์ด์…˜์ด ์—†๋‹ค๋ฉด  tiles ๋˜๋Š” ๋ทฐ ๋ฆฌ์กธ๋ฒ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ .jsp ํŒŒ์ผ์„ ์ฐพ์•„์„œ ๋ฆฌํ„ดํ•˜๊ฒŒ ๋œ๋‹ค.