목록BE (354)
오봉이와 함께하는 개발 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbVd8p/btrJvQTzhdp/pUqzjW2xJVNYIu7pxSpXU0/img.png)
프론트 컨트롤러 도입 - v1 구조 클라이언트가 요청 어떤 요청이든 FrontController가 요청을 받는다. HTTP URL 매핑 정보에서 컨트롤러를 조회한다. 조회한 컨트롤러를 호출한다. 컨트롤러에서 로직 수행 후 JSP로 forward JSP는 클라이언트에 응답한다. FrontControllerServletV1 - 프론트 컨트롤러 // package hello.servlet.web.frontcontroller.v1; @WebServlet(name = "frontControllerServletV1", urlPatterns = "/front-controller/v1/*") public class FrontControllerServletV1 extends HttpServlet { private Map..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cWOcUa/btrJuRetqS6/6J31k3ZGVb75KQK3oZY2T1/img.png)
프론트 컨트롤러 패턴 소개 전에 서블릿을 컨트롤러로 하고 JSP를 뷰로 하는 MVC 패턴에서는 공통 처리, 반복적 작업 등 여러 불편 사항이 있었다. 이를 개선하는 프론트 컨트롤러 패턴을 도입하도록 해보자. 프론트 컨트롤러 도입 전 기존에는 컨트롤러에 공통 로직을 만들고 컨트롤러 로직을 만들었어야 했다. 프론트 컨트롤러 도입 후 프론트 컨트롤러를 도입하면 공통 로직을 한 곳에 두고 컨트롤러에서 필요한 로직을 각자 처리할 수 있도록 할 수 있다. 항상 프론트 컨트롤러를 통해 클라이언트 요청에 맞는 컨트롤러를 사용한다. FrontController 패턴 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받는다. 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출한다. 입구가 하나가 된다. 공통 처리가..
MVC 패턴 - 한계 https://5bong2-develop.tistory.com/292 위 링크 코드들을 보면 문제점이 많아 보인다. 문제점 포워드 중복 RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); View로 이동하는 코드가 항상 중복 호출된다. 이 부분은 메서드로 공통화 할 수 있지만, 해당 메서드도 직접 호출해야 하는 단점이 있다. ViewPath에 중복 String viewPath = "/WEB-INF/views/new-form.jsp"; prefix : WEB-INF/views/ suffix : .jsp 만약 jsp가 아닌 thymeleaf나 ..
MVC 패턴 - 적용 서블릿을 컨트롤러로 사용하고 JSP를 뷰로 사용해서 MVC 패턴을 적용해보자. Model은 HttpServletRequest 객체를 사용한다. request는 내부에 데이터 저장소를 가지고 있는데, request.setAttribute(), request.getAttribute()를 사용하면 데이터를 보관하고 조회할 수 있다. 회원 등록 회원 등록 폼 - 컨트롤러 @WebServlet(name = "mvcMemberFormServlet", urlPatterns = "/servlet-mvc/members/new-form") public class MvcMemberFormServlet extends HttpServlet { @Override protected void service(Ht..
JSP로 회원 관리 웹 애플리케이션 만들기 JSP를 사용하려면 라이브러리를 추가해야 한다. JSP 라이브러리 추가 build.gradle에 추가하자. implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' 회원 등록 폼 JSP username: age: 전송 은 JSP 문서라는 것을 알려주는 것이다. JSP 문서는 이렇게 시작해야 한다. 실행 http://localhost:8080/jsp/members/new-form.jsp 실행시 .jsp 까지 함께 적어주어야 한다. 회원 저장 JSP 성공 id= username= age= 메인 JSP는 자바 코드를 그대로 ..