TIL - 20250713

juni·2025년 7월 13일

TIL

목록 보기
64/315

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)

  1. /mvc/v1/new → 등록 폼 JSP 반환
  2. /mvc/v1/process → 파라미터 수집 → 객체 생성 → 저장소 저장 → request에 담아서 result.jsp 포워딩
  3. /mvc/v1/show → 저장소에서 리스트 가져와서 JSP에 전달
  4. /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"; // bye.jsp 호출
    }
}

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 이름

0개의 댓글