프로그래밍

Spring MVC 공부(2)

RainIron 2022. 5. 5. 14:22
반응형

※ Controller의 역할

  • Main 페이지로 자동 실행

- index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script>
	location.href = "main.mvc"
</script>

서버 실행하면 자동으로 main.mvc를 실행하도록 지정

  • .mvc 파일을 받는 Controller 생성(Servlet으로 생성)

- Controller 용도로 Package 생성

- 'HomeController' servlet 생성

- 초기 Annotation을 .mvc로 변경

초기
변경 후

- 에러 발생: The import java.io.IOException cannot be resolved

JDK 버전이 맞지 않아서 build가 안 된듯..?

빨간색 엑스는 언제나 맘을 아프게 하지

편집으로 jre 지정해줘서 문제 해결!

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//response.getWriter().append("Served at: ").append(request.getContextPath());
		System.out.println("HomeController");
	}

화면에는 아무것도 안 뜨지만 콘솔에서 정상 출력!

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 요청한 주소를 가져온다.
		String url = request.getRequestURI();
		System.out.println(url);
	}

서버 실행하면, 실행된 URI가 콘솔창에 출력된다.

URL로 다른 키워드를 입력한 후, .mvc를 입력하면 콘솔창에 그대로 출력된다.

2번째 입력
콘솔 화면

Controller에서 요청한 주소를 doGet 메서드로 받아오고, 메서드 안에서 if문으로 분기를 나눠 이벤트를 제어할 수 있다.

ex) String url의 contains 함수 활용

 

Controller에서 모델(제어, 반복 등의 로직이 들어있는 서비스)을 처리한다고 생각하면 될 것 같다.


※ View의 역할

JSP 파일로 구현 가능.

Controller에서 RequestDispatcher 를 사용해서 View 완성

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 요청한 주소를 가져온다.
		String url = request.getRequestURI();
		
        // 콘솔 출력
        System.out.println(url);
        
		String viewName = null;

		// main.jsp 파일을 생성 후
		viewName = "main.jsp";
        
		RequestDispatcher dis = request.getRequestDispatcher(viewName);
		dis.forward(request, response);
	}

 

반응형

'프로그래밍' 카테고리의 다른 글

Spring MVC 공부(4)  (0) 2022.05.28
Spring MVC 공부(3)  (0) 2022.05.18
Spring MVC 공부(1)  (0) 2022.05.01
SW 업그레이드에 따른 변경점  (0) 2022.04.04
HTML5 + CSS3 (12) CSS3 선택자, (13) 애니메이션  (0) 2021.10.12