시작은 언제라도

1. FrontControllerServlet ex1 본문

Web programming/Patterns

1. FrontControllerServlet ex1

row_a_boat 2021. 4. 18. 17:11
public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
	String command = request.getParameter("command");
	if(command.equals("FindCar")) {
		//차량정보 조회
	 String carNo = request.getParameter("carNo");
	 String carInfo = MockDAO.getInstance().findCarInfo(carNo);
     //model(MockDAO:db와 실제 연결없는 가짜 dao)을 만들고 singleton pattern 적용하였고, 
     //findCarInfo(carNo)메서드를 가져와 사용했다.
	 String view = null;	
	 if(carInfo==null) {
	 		view= "findcar-fail.jsp";
       		//form에서 검색한 carNo가 존재하지 않을때 view= "findcar-fail.jsp"라고 한다.
	 	}else {
	 		view="findcar-ok.jsp";
	 		request.setAttribute("carInfo", carInfo);
          	//form에서 검색한 carNo가 MockDAO에 존재할때 view= "findcar-ok.jsp"라고 하고,
   			//그 carNo를 carInfo에 carInfo라는 name으로 setAttribute 해준다.

	 	}
		request.getRequestDispatcher(view).forward(request, response);
	}else if(command.equals("RegisterCar")) {
		String carInfo = request.getParameter("carInfo");
		MockDAO.getInstance().registerCar(carInfo);
		response.sendRedirect("registercar-result.jsp");
	}//else if
	}//method

//위의 메서드는 요청 수 가 증가할 수록 메서드의 코드량이 증가하므로
//메서드 별로 따로 만들어서, (HttpServletRequest request, HttpServletResponse response)
// String command = requ로 정의해서 호출하는 방식으로  메서드를 분할시켜 본다.

---------->ex2에서 계속

'Web programming > Patterns' 카테고리의 다른 글

Command Design Pattern  (0) 2021.04.18
3. FrontControllerServlet ex3  (0) 2021.04.18
2. FrontControllerServlet ex2  (0) 2021.04.18
Design Pattern 이란?  (0) 2021.04.18
FrontController Pattern - 1  (0) 2021.04.18