Study

@RequestMapping @Controller // ๋‚ด๋ถ€์— @Component ์• ๋…ธํ…Œ์ด์…˜์ด ์žˆ์–ด์„œ ์ปดํฌ๋„ŒํŠธ ์Šค์บ”์˜ ๋Œ€์ƒ์ด ๋œ๋‹ค public class SpringMemberFormControllerV1 { @RequestMapping("/springmvc/v1/members/new-form") // ์š”์ฒญ์ •๋ณด๋ฅผ ๋งคํ•‘ํ•œ๋‹ค public ModelAndView process() { // ๋ชจ๋ธ๊ณผ ๋ทฐ์˜ ์ •๋ณด๋ฅผ ๋‹ด์•„์„œ ๋ฐ˜ํ™˜ํ•œ๋‹ค return new ModelAndView("new-form"); } } RequestMappingHandlerMapping์€ ์Šคํ”„๋ง ๋นˆ ์ค‘์—์„œ @RequestMapping ๋˜๋Š” @Controller ๊ฐ€ ํด๋ž˜์Šค ๋ ˆ๋ฒจ์— ๋ถ™์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ๋งคํ•‘ ์ •๋ณด๋กœ ์ธ์‹ํ•œ๋‹ค. ํด๋ž˜์Šค ๋ ˆ๋ฒจ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด @R..
FrontController ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ ์„œ๋ธ”๋ฆฟ ํ•˜๋‚˜๊ฐ€ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›๊ณ  ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์š”์ฒญ์— ๋งž๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ฐพ์•„์„œ ํ˜ธ์ถœํ•ด์ฃผ๋Š” ํ˜•์‹. ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์„œ๋ธ”๋ฆฟ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ํ•ธ๋“ค๋Ÿฌ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ด๋ฆ„์„ ๋” ๋„“์€ ๋ฒ”์œ„์ธ ํ•ธ๋“ค๋Ÿฌ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค. ํ•ธ๋“ค๋Ÿฌ ์–ด๋Œ‘ํ„ฐ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์–ด๋Œ‘ํ„ฐ public interface MyHandlerAdapter { boolean supports(Object handler); // ์–ด๋Œ‘ํ„ฐ๊ฐ€ ํ•ด๋‹น ์ปจํŠธ๋กค๋Ÿฌ(ํ•ธ๋“ค๋Ÿฌ)๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํŒ๋‹จ ModelView handle(HttpServletRequest request, HttpServletResponse response, Object handler) ..
์„œ๋ธ”๋ฆฟ์—์„œ ํ…œํ”Œ๋ฆฟ ์—”์ง„์œผ๋กœ @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter w = response.getWriter(); w.write("\n" + "\n" + "\n" + "\n" + "\n" + "\n"); } ์„œ๋ธ”๋ฆฟ๊ณผ ์ž๋ฐ” ์ฝ”๋“œ๋งŒ์œผ๋กœ ์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ HTML์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ๋งค์šฐ ๋ณต์žกํ•˜๊ณ  ๋น„ํšจ์œจ์ ์ด๋‹ค. ์ž๋ฐ” ์ฝ”๋“œ๋กœ HTML์„ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ๊ฒƒ ๋ณด๋‹ค..
์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ์„œ๋ธ”๋ฆฟ ์‚ฌ์šฉํ•˜๊ธฐ @ServletComponentScan @WebServlet(name = "helloServlet", urlPatterns = "/hello") protected void service(HttpServletRequest request, HttpServletResponse response) : HTTP ์š”์ฒญ์„ ํ†ตํ•ด ๋งคํ•‘๋œ URL์ด ํ˜ธ์ถœ๋˜๋ฉด ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋Š” ๋‹ค์Œ ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ HTTP ์š”์ฒญ ๋ฐ์ดํ„ฐ๋กœ ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ• 1. GET - ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ /url?username=hello&age=20 String username = request.getParameter("username"); //๋‹จ์ผ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐํšŒ Enumeration parameterN..
๋นˆ ์Šค์ฝ”ํ”„ ๋นˆ์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„. @Scope("prototype")๋กœ ์ง€์ • ๊ฐ€๋Šฅ ์‹ฑ๊ธ€ํ†ค : ๊ธฐ๋ณธ ์Šค์ฝ”ํ”„๋กœ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์˜ ์‹œ์ž‘๊ณผ ์ข…๋ฃŒ๊นŒ์ง€ ์œ ์ง€ ๋จ ํ”„๋กœํ† ํƒ€์ž… : ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋Š” ํ”„๋กœํ† ํƒ€์ž… ๋นˆ์˜ ์ƒ์„ฑ๊ณผ ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…๊นŒ์ง€๋งŒ ๊ด€์—ฌํ•˜๊ณ  ๋”๋Š” ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š” ๋งค์šฐ ์งง์€ ๋ฒ”์œ„์˜ ์Šค์ฝ”ํ”„ ํด๋ผ์ด์–ธํŠธ์— ๋นˆ์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ดํ›„ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋Š” ์ƒ์„ฑ๋œ ํ”„๋กœํ† ํƒ€์ž… ๋นˆ์„ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ”„๋กœํ† ํƒ€์ž… ๋นˆ์„ ๊ด€๋ฆฌํ•  ์ฑ…์ž„์€ ํ”„๋กœํ† ํƒ€์ž… ๋นˆ์„ ๋ฐ›์€ ํด๋ผ์ด์–ธํŠธ์— ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ @PreDestroy ๊ฐ™์€ ์ข…๋ฃŒ ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค. ์›น ๊ด€๋ จ ์Šค์ฝ”ํ”„ request: ์›น ์š”์ฒญ์ด ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐˆ๋•Œ ๊นŒ์ง€ ์œ ์ง€๋˜๋Š” ์Šค์ฝ”ํ”„ session: ์›น ์„ธ์…˜์ด ์ƒ์„ฑ๋˜๊ณ  ์ข…๋ฃŒ๋  ๋•Œ ๊นŒ์ง€ ์œ ์ง€๋˜๋Š” ์Šค์ฝ”ํ”„ application: ์›น์˜ ์„œ๋ธ”๋ฆฟ ์ปจํ…์ŠคํŠธ์™€ ๊ฐ™..
YURI๐Ÿ•๐Ÿ“๐Ÿถ
'Study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (6 Page)