Spring Framework

스프링 샘플 프로젝트 만들어보기 Spring Framework Project (2)

호두빵 2021. 7. 6. 00:39

1편에서는 프레임워크의 설치와 기본적인 legacy project 실행을 해봤습니다. 이번에는 Dynamic web projet로 프로젝트를 직접 새로 만들어서 legacy project처럼 만들어보겠습니다. 

 

new -> Dynamic web project에서 sample01이라는 이름으로 프로젝트를 하나 생성해줍니다. 그런 다음에 프로젝트를 마우스 우클릭하여 configure를 누르고 convert to maven project를 해줍니다. 그런 다음 위와 같이 pom.xml 파일이 뜨는지를 확인합니다. 잘 뜬다면 성공입니다!

 

그 다음으로는 구글 검색창에 maven repository를 검색해줍니다.

spring mvc를 검색해줍니다. 클릭해서 들어가 혹시 모를 경우를 대비해 최신 버전보다 한 두 단계 정도 전의 버전으로 5.3.6을 선택했습니다. 

뭐 다운받고 할 것 없이 <dependency></dependency> 이 부분만 긁어서 써먹으면 됩니다. 이렇게 복사해온 코드는 아래 사진과 같이 아까 봤던 pom.xml에 <dependencies></dependencies> 사이에 붙여넣기 해줍니다.

그 다음 sample01 프로젝트를 마우스 우클릭해서 Java EE Tools를 클릭하면 Generate Deployment Descriptor Stub을 눌러줍니다. 그러면 web.xml이 만들어집니다

.  WEB-INF내에 spring과 views 폴더도 만들어줍니다. 만든 spring 폴더에는 dispatcherServlet.xml을 만들건데요, 그 전에 web.xml에 서블릿을 추가해줍니다. 

	<servlet>
		<servlet-name>dispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/spring/dispatcherServlet.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>dispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

web.xml 파일에 서블릿을 만들어줍니다. 이제 spring폴더내에 dispatcherServlet.xml 파일도 만들어주겠습니다. 

바로 finish 눌러서 끄지 마시고 위 화면에서 next를 누르면 아래와 같이 뜹니다. 

 

beans와 context를 클릭해줍니다. 혹여 무의식중에 finish를 눌러버렸다면 나중에 dispatcherServlet.xml의 Namespaces에서 선택이 가능합니다. 

<!-- spring MVC annotation(주석문, 지시문)을 사용하기 위한 설정 -->
<context:annotation-config/>

<!-- bean은 객체를 생성할때 사용함, 사용자의 view의 위치, 확장자명을 설정함   -->
<bean id = "viewResolve" class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value = "/WEB-INF/views/"></property>
<property name = "suffix" value = ".jsp"></property>
</bean>

<!-- 공통 패키지 설정 -->
<context:component-scan base-package = "bit.com.a"/>

위와 같이 코드를 적어줍니다.. 그런 다음 src/main/java에서 new를 클릭해 새로운 클래스를 만들어줄건데 패키지 이름은 bit.com.a로 하고, 클래스명은 HelloController로 하겠습니다. 

 

컨트롤러까지 잘 가는지를 확인하기 위해 콘솔창에 확인 문구를 하나 적어주고, hello.jsp로 보내주겠습니다. 

물론~ 그 전에 views폴더에 hello.jsp를 만들어줘야겠죠? 

index.jsp에서 hello.jsp로 이동하도록 링크를 걸어뒀기 때문에 화면에는 기존에 hello.jsp에서 h1태그로 걸어둔 hello jsp가 뜨게 되고, 하단 콘솔창에 도착 완료가 뜨는 것은 컨트롤러에서 hello.jsp로 잘 넘겨줬다는 뜻이겠습니다. logger를 사용한 방법은 3편에서 설명하도록 하겠습니다~