0713 학습 요약: Servlet, JSP, MVC, Spring 기초
✅ 1. Servlet 요청/응답 흐름
기본 구조
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) {
String name = req.getParameter("name");
resp.getWriter().write("Hello " + name);
}
}
- 클라이언트 요청 → 서블릿에서 파라미터 추출 → 로직 처리 → 응답 반환
request.getParameter, response.getWriter() 핵심 사용
✅ 2. JSP 기본 문법
<%@ page %>: 페이지 속성 정의
<% ... %>: 자바 코드 삽입
<%= ... %>: 출력 표현식
request.getParameter(), request.setAttribute() 사용
EL & JSTL
${} 표현으로 request 영역의 속성 출력
c:forEach 등 JSTL 태그 활용 가능
✅ 3. MVC 구조 흐름 (V1)
/mvc/v1/new → 등록 폼 JSP 반환
/mvc/v1/process → 파라미터 수집 → 객체 생성 → 저장소 저장 → request에 담아서 result.jsp 포워딩
/mvc/v1/show → 저장소에서 리스트 가져와서 JSP에 전달
/mvc/v1/remove → 삭제 후 redirect
✅ 4. Spring MVC Controller
기본 컨트롤러 구조
@Controller
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String hello() {
return "Hello Spring";
}
@RequestMapping("/bye")
public String bye() {
return "bye";
}
}
REST 응답 처리
@RestController 또는 @ResponseBody를 붙이면 JSON 반환
- 파라미터는
@RequestParam으로 받음
@GetMapping("/product")
public Product getProduct(@RequestParam("id") long id) {
return productService.get(id);
}
✅ 요약 정리
- Servlet: HTTP 요청/응답 직접 제어
- JSP: Java + HTML 결합. 표현식, 지시어, 스크립틀릿 사용
- MVC: Controller(서블릿) - Model(객체/로직) - View(JSP) 분리 구조
- Spring MVC: 어노테이션 기반 요청 처리 + 자동 바인딩 + View 리턴
- @ResponseBody → JSON, String → View 이름