이번 피드에서는 저번 피드에서 생성한 기본 메이븐 프로젝트에 스프링 기본구조 세팅을 해보는 피드를 정리해 보겠습니다.
이번 피드는 이전 피드에서 생성한 프로젝트를 이용하여 계속 진행하므로 이전 피드를 참고하실분은 아래를 참고해주세요!
https://nobacking.tistory.com/105
1. 스프링 구조 잡기
우선 스프링 구조에 맞게 폴더 및 파일을 생성해 보도록 하겠습니다.
1-1) src/main/java 폴더 생성
모듈을 우클릭하고, New -> Directory를 선택하게 되면 디렉토리를 생성할 수 있는 창이 하나 뜨는데, 거기에서 src/main/java를 선택해 줍니다.
1-2 ) Pom.xml 스프링 라이브러리 추가
다음으로 스프링프로젝트를 구성하기 위해 pom.xml에 스프링라이브러리를 추가해줍니다.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
위와 같이 <dependencies>태그 사잉spring-webmvc를 추가해 주고, 적용될 수 있도록 메이븐 리로드를 해줍니다.
1-3 ) servlet-context.xml, root-context.xml 생성
다음으로 스프링 설정을 위한 xml파일들을 생성해줍니다.
위치는 WEB-INF 하위에 spring, appServlet 폴더를 생성하여, 진행합니다.
xm파일은 New -> XML Configuration File -> Spring Config를 선택하여 생성해 줍니다.
위의 이미지 처럼 생성하시면 됩니다.
1-4 ) View 폴더 생성
WEB-INF폴더 하위에 views 폴더를 생성해 줍니다.
2. Controller 세팅
컨트롤러 세팅을 위한 패키지를 생성해 줍니다.
각자 프로젝트에 맞게 이름을 지정해서 생성해 주시면 됩니다.
저는 아래와 같이 생성하였습니다.
간단한 테스트용이기 때문에 컨트롤러에서는 바로 화면을 호출하는 메소드를 하나만 추가하겠습니다.
package com.jd.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class MainController {
@RequestMapping(value = "/main", method = RequestMethod.GET)
public String Main(){
return "main";
}
}
3. XML 세팅
이제 스프링 세팅을 해볼 차례인데, view 설정과 기본 스프링 설정 세팅을 하겠습니다.
이번 피드에서는 코드 내용만 정리해두겠습니다.
servlet-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<mvc:annotation-driven/>
<context:component-scan base-package="com.jd"/>
<!--Resolvesviewsselectedforrenderingby@Controllersto.jspresourcesinthe/WEB-INF/viewsdirectory-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
web.xml
<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/root-context.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
위의 내용까지 생성이 됬으면, 프로젝트를 시작하고, 컨트롤러를 호출해서 해당 화면을 띄어볼 수 있습니다.
http://localhost:8080/main
위와 같이 세팅해둔 값으로 호출을 해보면 정상적으로 컨트롤러가 호출되고, 생성한 view파일까지 호출이 되는 것을 확인 할 수 있습니다.
이번 피드는 여기에서 마치겠습니다.
'노빠꾸 개발일지 > JAVA' 카테고리의 다른 글
[JAVA] 정적팩토리메서드(Static Factory Method)란? (0) | 2022.11.13 |
---|---|
부트스트랩 정리 및 참고할 만한 부트스트랩 추천 사이트 (0) | 2022.09.18 |
메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 1 (0) | 2022.09.11 |
[JPA] 스프링 부트 JPA 기본 사용방법 (0) | 2022.08.05 |
[JAVA] JSON 객체 사용법 정리(JsonObject, JsonArray) 데이터 파싱, 데이터 수정 (0) | 2022.07.09 |