본문 바로가기
Spring

Servlet과 JSP연동

by seeker00 2021. 7. 1.

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