본문 바로가기
목차
Spring

Spring MVC (스프링 웹 MVC) 강의 06 - 스프링 컨트롤러 IndexController 작성하기

by 지각생 2022. 1. 3.
728x90

여기 xml에 사용되는 구문은 스프링 회사의 레퍼런스를 참고해야한다.

 

 

https://docs.spring.io/spring-framework/docs/

<beans xmlns="http://www.springframework.org/schema/beans"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"                         xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="..." class="...">

<!-- collaborators and configuration for this bean go here -->

</bean>

<bean id="..." class="...">

<!-- collaborators and configuration for this bean go here -->

</bean>

<!-- more bean definitions go here -->

</beans>

 

요청 오는것이 URL로 요청올 것이기 때문에 id값은 url이 된다.

id="/index"

id="/index" 에서 뭘 꺼내냐면

class="..."를 꺼낸다.

class="webprj.IndexController"                //"패키지명.클래스명"

 

handleRequest라는 함수가 약속되어 있다.

 

IndexContoroller밑에 빨간줄 생기면 마우스 대고

Add unimplemented methods

 

위에서 말한 handleRequest가 나온다


package webprj;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class IndexController implements Controller{

@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

ModelAndView mv = new ModelAndView();
mv.addObject("data", "Hellow Spring MVC~");
mv.setViewName("index.jsp");


return mv;
}

}


dispatcher가 forwarding을 해준다

컨트롤+f11 눌러 실행

http://localhost:8080/webprj/WEB-INF/classes/webprj/IndexController.java

주소가 이상하게 나온다.

 

http://localhost:8080/webprj/index로 매핑해놨으니

이걸로 수정을 해봐도

안된다.

 

왜냐면

여기서 문제가 발생한다

엄밀히 말하면 여기가 아닌데

여기는 요청이 2개가 있다.

1. 실행하기 위한 요청

 

2.

mv.setViewName("index.jsp");

여기서 오류가 발생함

/index라는 요청

여기까진 정상적으로 실행될 것이다.

 

라고 강의에서 얘기 했으나 나는 정상적으로 실행되지 않았다!!

 

그래서 문제를 해결하고자 검색을 24시간동안 했지만 찾지 못했고

영상을 되풀이하며 보다가

결국 오타를 발견했다.

여기서 오타를 발견하기 전 문제해결을 위해 시도했던 부분은 따로 글로 기념을 해놔야겠다.

문제를 풀기 위해 이클립스로 시도하던 중 궁금증이 생긴 부분에 대한 것인데 글로 작성해 놓고 궁금증 해결은

미래의 나에게 맡겨 놓아야겠다.

 

출처:

https://www.youtube.com/watch?v=z4vDEn6mf2M 

 

728x90

댓글