2021. 11. 26. 09:52ใSpring
1. Controller ํด๋์ค
๊ธฐ๋ณธ์ ์ผ๋ก Controller ํด๋์ค๋ฅผ ์์ฑํ ๋๋
1๏ธโฃ @Controller๋ฅผ ์ด์ฉํ ํด๋์ค ์์ฑ
2๏ธโฃ @RequestMapping์ ์ด์ฉํ ์์ฒญ ๊ฒฝ๋ก ์ง์
3๏ธโฃ ์์ฒญ ์ฒ๋ฆฌ ๋ฉ์๋ (handler) ๊ตฌํ
4๏ธโฃ "๋ทฐ ์ด๋ฆ" ํน์ ModelAndView ๋ฆฌํด
์ด๋ url mapping๊ณผ ๋ฉ์๋ ์ด๋ฆ ๋ทฐ ์ด๋ฆ์ ๊ฐ์ ํ์๋ ์์ง๋ง ํท๊ฐ๋ฆด ์๋ ์์ผ๋ ํ๋จ์ ์์์ !
2. ๋ค์ํ path,url ์์๋ณด๊ธฐ
request path๋ /common ์ด๋ฉฐ context path๋ /sts10_request์ด๋ค.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// forward๋ฐ์ jsp ์ธก์์ ์๋ request uri ๋ด์ฉ
String servlet_request_uri = (String)request.getAttribute("javax.servlet.forward.request_uri");
String conPath = request.getContextPath();
String servlet_reqpath = servlet_request_uri.substring(conPath.length());
String uri = request.getRequestURI();
String reqPath = uri.substring(conPath.length());
String url = request.getRequestURL().toString();
// jsp ํ์ผ๋ช
String jspFile = uri.substring(uri.lastIndexOf("/") + 1, uri.length());
String jspName = uri.substring(uri.lastIndexOf("/") + 1, uri.length() - 4);
request.setAttribute("jspName", jspName);
%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8"/>
<title><%= jspName %></title>
<link rel = "stylesheet" type = "text/css"
href = "${pageContext.request.contextPath }/CSS/sts_common.css">
</head>
<body>
<hr>
<div class="sts">
<b>Servlet</b><br>
request URI : <span><%= servlet_request_uri %></span><br>
context path : <span><%= conPath %></span><br>
request path : <span><%=servlet_reqpath %></span><br>
VIEW file : <span><%= jspFile %></span><br>
<hr>
<b>VIEW(JSP)</b><br>
url : <span><%= url %></span><br>
VIEW Path : <span><%= reqPath %></span><br>
uri : <span><%= uri %></span><br>
</div>
</body>
</html>
์ด ์ฝ๋๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ๋ค์ํ @RequestMapping ์ฐ์ต์ ํด๋ณผ ์์ ์ด๋ค.
3. View์ ๋ฐ์ดํฐ ์ ๋ฌ
1๏ธโฃ Model ๋งค๊ฐ๋ณ์
request path๋ ๋ค์๊ณผ ๊ฐ์ด ์ง์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ Model์ ๋งค๊ฐ๋ณ์๋ก memberAge์ memberName์ ๊ฐ๊ฐ ๊ฐ์ ๋ด์์ ํด๋นํ๋ ๋ทฐ๋ฅผ ๋ฆฌํดํ๋ฉด
์คํ๋ง์ด ์์์ ๋๊ฒจ์ค๋ค. ๋ฐ๋ผ์ model์ ๋ด๊ธฐ๋ง ํ๋ฉด ์คํ๋ง์ด DispatcherServlet์ ๋๊ฒจ์ค๋ค.
2๏ธโฃ ModelAndView ๋ฆฌํด
ModelAndView์๋ mbName, mbDate์ ๋ฐ์ดํฐ๋ ๋ด๊ณ , ๋ทฐ ๋ ์ง์ ํ๋ค์์ ๋ฆฌํดํ๋ฉด ๋๋ค.
3๏ธโฃ @RequestMapping์ ํ์ฅ์ ํจํด๋ ๊ฐ๋ฅ
@RequestMapping("/member/*.do)๋ผ๊ณ ์ง์ ํ๊ณ ,
๋ง์ง๋ง์ผ๋ก Handler๋ฉ์๋ ๋์์ ์ ๋ฆฌํ๋ฉด
1๏ธโฃ @RequestMapping์ผ๋ก request๋ฅผ ๋ฐ๋๋ค.
2๏ธโฃ ๊ทธ๋ฆฌ๊ณ ํ์ํ ๋์์ ์ํํ๋ค. (์ด๋ DAO ํน์ Command ๊ฐ์ฒด ์ฌ์ฉ)
3๏ธโฃ ํ์ํ ๋์ ์ํ ํ ๊ฒฐ๊ณผ๋ฅผ Model์ ๋ด๊ณ ๋ทฐ๋ฅผ ์ง์ ํ๋ค. (ModelAndView ๋ด์ ๋ฆฌํด)
์ด๋ฐ์์ผ๋ก ๋์ํ๋ค.
โ ๋งค๋ฒ @RequestMapping์ (value = "/member/info") ์ด๋ฐ์์ผ๋ก ํ๋ฉด
request url ๊ด๋ฆฌ๊ฐ ๋ค์์ผ์๋ ์๋ค. "/board/write"์ด๊ฒ๋ ๊ฐ์ด ์์ผ๋ฉด ํท๊ฐ๋ฆผ
์ฆ ๋ชจ๋ handler๊ฐ ํ๋์ @Controller ํด๋์ค์ ์์ผ๋ฉด ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ ์ ์์ฑํด์ค๋ค.
์ด๋ฐ์์ผ๋ก @Controller ์ง์ ํ์ @RequestMapping์ ์ง์ ํด์ฃผ๋ฉด /board๋ก ์์ํ๋ request ๋ง ์ฒ๋ฆฌํ๋ ์ปจํธ๋กค๋ฌ ํด๋์ค๊ฐ ๋๋ค.
๋ฐ๋ผ์ ๋ฐ์ ํธ๋ค๋ฌ ๋ฉ์๋์ request๋ /board/list ์ด๋ฐ์์ด ๋๋ค.
'Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring Validation ํผ ๋ฐ์ดํฐ ๊ฒ์ฆ Validator, @Vaild (0) | 2021.11.26 |
---|---|
Spring Request Parameter (@RequestParam, @ModelAttribute, @PathVariable, redirect) (0) | 2021.11.26 |
Spring Error ์์ธ ์ฒ๋ฆฌ ํ๋ ๋ฒ (0) | 2021.11.24 |
Spring MVC, Mybatis [2] ๊ฐ๋จํ ์ฌ์ฉ์ ๊ฒ์ํ ๋ง๋ค๊ธฐ (0) | 2021.11.24 |
Spring EL(Expression Language) ๊ณผ JSTL (Java Standard Tag Library) (0) | 2021.11.23 |