<%@ ... %>)JSP 페이지의 동작 방식 설정.
예시:
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<% ... %>)JSP 안에 자바 코드를 삽입.
반복문, 조건문 등 가능.
<% for (int i = 1; i <= 3; i++) { %>
<a href="#">링크 <%= i %></a>
<% } %>
<%= ... %>)변수 출력용.
<%= dancer.getName() %>
request.getParameter("name") 등으로 폼 데이터 받기.request.getParameterValues("genres")로 다중 값 처리.MvcProcessServletRequestDispatcher 이용해서 view로 이동RequestDispatcher dp = request.getRequestDispatcher("/WEB-INF/chap04/dancer/result.jsp");
dp.forward(request, resp);
${dancerName} 으로 출력사용자가 /mvc/v1/new 요청
등록 폼에서 submit → /mvc/v1/process로 이동
목록 조회 /mvc/v1/show
삭제 /mvc/v1/remove
/mvc/v1/show로 리다이렉트c:forEach를 통해 서버 데이터 반복 출력${} : request 영역 데이터 접근 표현@Controller
public class HelloController {
@RequestMapping("/chap01/hello")
@ResponseBody
public Map<String, Object> hello() {
return Map.of("name", "김철수", "age", 50);
}
@RequestMapping("/chap02/bye")
public String bye() {
return "bye"; // view 이름만 리턴
}
}
@ResponseBody가 있으면 JSON으로 응답.@GetMapping
public Product getProduct(
@RequestParam("id") long id,
@RequestParam(value = "price", required = false, defaultValue = "1000") int price
) {
return productMap.get(id);
}