{"id":971,"date":"2022-11-29T17:35:55","date_gmt":"2022-11-29T08:35:55","guid":{"rendered":"https:\/\/java.ihavenomoney.co.kr\/?page_id=971"},"modified":"2022-12-08T18:54:14","modified_gmt":"2022-12-08T09:54:14","slug":"controller-%ec%b6%94%ea%b0%80-%ed%95%98%ea%b8%b0","status":"publish","type":"page","link":"https:\/\/java.ihavenomoney.co.kr\/?page_id=971","title":{"rendered":"Controller \ucd94\uac00 \ud558\uae30"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Remark : Spring 4.0 \uc774\uc0c1\uc5d0\uc11c Controller \ucd94\uac00\uc2dc @RestController \ub97c \uc0ac\uc6a9\ud55c\ub2e4.<br><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Spring MVC\uc5d0\uc11c Controller\ub97c \uad6c\uc131\ud560 \ub54c @Controller\ub97c \uc0ac\uc6a9\ud558\uba74 return\ud558\ub294 \uac12\uc740 \uc0ac\uc6a9\ud560 jsp\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \uac00\uc9c4\ub2e4.<br>\uadf8\ub7f0\ub370 @RestController\ub97c \ud1b5\ud574\uc11c return\uc744 \ud558\uac8c \ub418\uba74 \ub9ac\ud134\uac12 \uc790\uccb4\ub97c \ube0c\ub77c\uc6b0\uc800\ub85c \uc804\ub2ec\ud558\ub294 \uc751\ub2f5\uacb0\uacfc\ub85c \uc0dd\uc131\ud558\uc5ec \ubcf4\ub0b4\uac8c \ub41c\ub2e4. \uc608\ub97c\ub4e4\uc5b4 return &#8220;result&#8221;; \ud558\uba74 result\ub77c\ub294 \ubb38\uc790\uc5f4\uc774 \ub370\uc774\ud130\ub85c\uc11c \uc804\ub2ec \ub41c\ub2e4\uace0 \ud560 \uc218 \uc788\uaca0\ub2e4.<\/h4>\n\n\n\n<h3 class=\"wp-block-heading\">1.demo \uc5d0\uc11c -&gt; Add Frameworks Support <br>Spring-Spring MVC \ucd94\uac00<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"730\" height=\"632\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-31.png\" alt=\"\" class=\"wp-image-979\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-31.png 730w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-31-300x260.png 300w\" sizes=\"auto, (max-width: 730px) 100vw, 730px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.Controller \ud30c\uc77c\uc740 com.example.demo \ubc11 \uc544\ubb34 \ub514\ub809\ud1a0\ub9ac\uc5d0 \uc788\uc5b4\ub3c4 \ub41c\ub2e4.<\/h3>\n\n\n\n<h3 class=\"has-luminous-vivid-orange-color has-text-color wp-block-heading\">@Controller \uac00 \uc544\ub2cc @RestController \ub85c \uc801\uc5b4\uc900\ub2e4.<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"982\" height=\"501\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-29.png\" alt=\"\" class=\"wp-image-972\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-29.png 982w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-29-300x153.png 300w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-29-768x392.png 768w\" sizes=\"auto, (max-width: 982px) 100vw, 982px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3.\uc18c\uc2a4<\/h3>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >package com.example.demo.controller;\n\nimport org.springframework.http.HttpStatus;\nimport org.springframework.http.ResponseEntity;\nimport org.springframework.web.bind.annotation.RequestBody;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.bind.annotation.RestController;\n\nimport vo.JsonRqVo; \/\/model class \uc5c6\uc73c\uba74 helloWorld3 \uc0ad\uc81c\n\n@RestController\npublic class HelloWorldController {\n\n    @RequestMapping(\"\/\")\n    public String helloWorld(@RequestParam String name){\n        return \"Hello World from Spring Boot : \" + name ;\n    }\n\n    @RequestMapping(\"\/goodbye\")\n    public String helloWorld2(){\n        return \"Goodbye from Spring Boot\";\n    }\n\n    @RequestMapping(\"\/json\")\n    public ResponseEntity&lt;JsonRqVo&gt; helloWorld3(@RequestBody JsonRqVo jsonRqVo)\n    {\n        JsonRqVo jsonRqVo2 = new JsonRqVo();\n\n        jsonRqVo2 = jsonRqVo;\n\n        return ResponseEntity.status(HttpStatus.OK).body(jsonRqVo2);\n    }\n}\n<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">4.\uc2e4\ud589<\/h3>\n\n\n\n<p>http:\/\/localhost:8080\/goodbye<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"569\" height=\"345\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-30.png\" alt=\"\" class=\"wp-image-973\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-30.png 569w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-30-300x182.png 300w\" sizes=\"auto, (max-width: 569px) 100vw, 569px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">5. View \ub85c \ud638\ucd9c \ud558\uae30<br>&#8211; GretingController \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e0\ub2e4.<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"303\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-32-1024x303.png\" alt=\"\" class=\"wp-image-984\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-32-1024x303.png 1024w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-32-300x89.png 300w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-32-768x228.png 768w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-32.png 1522w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">6. GreetingController  \uc18c\uc2a4 <\/h3>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \">package com.example.demo.controller;\n\nimport org.springframework.stereotype.Controller;\nimport org.springframework.ui.Model;\nimport org.springframework.web.bind.annotation.GetMapping;\nimport org.springframework.web.bind.annotation.RequestParam;\n\n@Controller\npublic class GreetingController {\n    @GetMapping(\"\/greeting\")\n    public String greeting(@RequestParam(name=\"name\", required=false, defaultValue=\"World\") String name, Model model) {\n        model.addAttribute(\"name\", name);\n        return \"greeting\";\n    }\n}<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">7. View \ub9cc\ub4e4\uae30 <br>templates  \ubc11\uc5d0 &#8211; greeting.html \ub9cc\ub4e4\uae30<\/h3>\n\n\n\n<p class=\"has-luminous-vivid-orange-color has-text-color\">implementation &#8216;org.springframework.boot:spring-boot-starter-thymeleaf&#8217; \ucd94\uac00 \ud544\uc694<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"371\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-35-1024x371.png\" alt=\"\" class=\"wp-image-991\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-35-1024x371.png 1024w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-35-300x109.png 300w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-35-768x278.png 768w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-35.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">thymeleaf \uc0ac\uc6a9 \/\/ <\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-34-1024x451.png\" alt=\"\" class=\"wp-image-988\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-34-1024x451.png 1024w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-34-300x132.png 300w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-34-768x338.png 768w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-34.png 1190w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">8. greeting.html \uc18c\uc2a4 <\/h3>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;title&gt;Title&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;p th:text=\"'Hello, ' + ${name} + '!'\" \/&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"has-luminous-vivid-orange-color has-text-color wp-block-heading\">@Controller \ub85c \uc801\uc5b4\uc900\ub2e4.<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">9.\uc2e4\ud589 <\/h3>\n\n\n\n<p>http:\/\/localhost:8080\/greeting?name=User<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"669\" height=\"345\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-33.png\" alt=\"\" class=\"wp-image-985\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-33.png 669w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-33-300x155.png 300w\" sizes=\"auto, (max-width: 669px) 100vw, 669px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Remark : Spring 4.0 \uc774\uc0c1\uc5d0\uc11c Controller \ucd94\uac00\uc2dc @RestController \ub97c \uc0ac\uc6a9\ud55c\ub2e4. Spring MVC\uc5d0\uc11c Controller\ub97c \uad6c\uc131\ud560 \ub54c @Controller\ub97c \uc0ac\uc6a9\ud558\uba74 return\ud558\ub294 \uac12\uc740 \uc0ac\uc6a9\ud560 jsp\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \uac00\uc9c4\ub2e4.\uadf8\ub7f0\ub370 @RestController\ub97c \ud1b5\ud574\uc11c return\uc744 \ud558\uac8c \ub418\uba74 \ub9ac\ud134\uac12 \uc790\uccb4\ub97c \ube0c\ub77c\uc6b0\uc800\ub85c \uc804\ub2ec\ud558\ub294 \uc751\ub2f5\uacb0\uacfc\ub85c \uc0dd\uc131\ud558\uc5ec \ubcf4\ub0b4\uac8c \ub41c\ub2e4. \uc608\ub97c\ub4e4\uc5b4 return &#8220;result&#8221;; \ud558\uba74 result\ub77c\ub294 \ubb38\uc790\uc5f4\uc774 \ub370\uc774\ud130\ub85c\uc11c \uc804\ub2ec \ub41c\ub2e4\uace0 \ud560 \uc218 \uc788\uaca0\ub2e4. 1.demo \uc5d0\uc11c -&gt; Add Frameworks Support &hellip;<br \/><a href=\"https:\/\/java.ihavenomoney.co.kr\/?page_id=971\" class=\"more-link pen_button pen_element_default pen_icon_arrow_double\"><span class=\"screen-reader-text\">Controller \ucd94\uac00 \ud558\uae30<\/span> \ub354\ubcf4\uae30<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-971","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=971"}],"version-history":[{"count":10,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/971\/revisions"}],"predecessor-version":[{"id":1037,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/971\/revisions\/1037"}],"wp:attachment":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}