Servlet과 JSP연동
서블릿과 JSP는 서로 상호 보완적인 관계
- Servlet서블릿은 로직을 구현하기에 알맞지만, HTML을 출력하기엔 불편
- JSP는 로직을 구현하는 것은 불편하지만 HTML을 출력하기엔 편리
- 프로그램 로직 수행은 Servlet에서, 결과 출력은 JSP에서 하는 것이 유리
- Servlet에서 프로그램 로직이 수행되고, 그 결과를 JSP에게 포워딩하고 JSP에서 출력하도록 방법이 등장 -> 이를 Servlet과 JSP연동이라고 한다
서블릿 예시(ExampleServlet.java)
public class ExampleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public ExampleServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Somthing dao = new SomethingDao();
List<SomethingDto> list = dao.getSomething();
ObjectMapper objectMapper = new ObjectMapper(); // json 라이브러리가 제공하는 객체
String json = objectMapper.writeValueAsString(list);
request.setAttribute("something", json);
RequestDispatcher requestDispatehcer = request.getRequestDispatcher("/ex.jsp");
requestDispatehcer.forward(request, response);
}
}
jsp 예시(ex.jsp)
${something}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function() {
let list = ${something};
console.log(list);
}
- jsp 파일에서 EL 표기법을 이용해 request에 전달한 json 데이터에 접근할 수 있다.
출처) 부스트코스 풀스택 강의 + 를 활용한 과제 중 작성한 코드
'Spring' 카테고리의 다른 글
Java config를 이용하여 스프링 컨테이너(ApplicationContext) 설정하기 (0) | 2021.07.10 |
---|---|
스프링 Ioc/DI 컨테이너 사용 (xml 파일 이용) (0) | 2021.07.08 |
forward & redirect (0) | 2021.07.01 |
JSP 란? (0) | 2021.07.01 |
Servlet 이란? (0) | 2021.07.01 |