[SpringWebMVC] - XML 세팅(2)

정택부·2022년 12월 8일
0

SpringWebMVC1

목록 보기
6/9
post-thumbnail

컨트롤러 생성 및 세팅

[HomeController.java]

@Controller
public class HomeController {
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String home() {
		System.out.println("home");
		return null;
	}
}

@RequestMapping 의 특정 주소 "/"로 요청(get)이 들어올경우 해당 메서드 실행!!

[servlet-context.xml]

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans
	xmlns="http://www.springframework.org/schema/mvc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:beans="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc
						http://www.springframework.org/schema/mvc/spring-mvc.xsd
						http://www.springframework.org/schema/beans
			 			http://www.springframework.org/schema/beans/spring-beans.xsd
			 			http://www.springframework.org/schema/context
			 			http://www.springframework.org/schema/context/spring-context.xsd">
	<!-- 스캔한 패지키 내부의 클래스 중 Controller 어노테이션을 가지고 있는 클래스들을 Controller로 로딩하도록 한다 -->
	<annotation-driven/>
	<!-- 스캔할 bean들이 모여있는 패키지를 지정한다. -->
	<context:component-scan base-package="com.demo.controller"/>
</beans:beans>

결과




view 생성(JSP파일 생성)


[index.jsp]

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>Hello MVC index.jsp</h1>
</body>
</html>

[HomeController.java]

@Controller
public class HomeController {
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String home() {
		System.out.println("home");
		return "/WEB-INF/views/index.jsp"; // <-- 변경!!
	}
}

결과



랜더링될 jsp파일 설정

1) xml설정

[servlet-context.xml]

	<!-- Controller의 메서드에서 반환하는 문자열 앞 뒤에 붙힐 경로 정보를 셋팅한다. -->
	<beans:bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<beans:property name="prefix" value="/WEB-INF/views/" />
		<beans:property name="suffix" value=".jsp" />
	</beans:bean>

2) 컨트롤러 경로 설정

[HomeController.java]

@Controller
public class HomeController {
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String home() {
		System.out.println("home");
		return "index"; // <-- 변경!!
	}
}
  • servlet-context.xml 설정을 통해 컨트롤러에서 주소값을 "/WEB-INF/views/index.jsp"에서 "index"으로 넣어도 index.jsp파일에 찾아가게 해준다!!

  • 이러한 설정 덕분에 모든 JSP파일 주소 작성 시 간편하게 작성가능!!!




정적파일들의 위치를 지정

1) 폴더 생성

2) xml 설정

[servlet-context.xml]

	<!-- 정적파일(이미지, 사운드, 동영상, JS, CSS 등등) 경로 셋팅 -->
	<resources mapping="/**" location="/resources/" />

3) jsp 태그 추가

[index.jsp]

<body>
	<h1>Hello MVC index.jsp</h1>
	<img src="image/spring.svg">
</body>

결과

컨트롤러 주소가 아니므로( = 요청이 없으므로) resources폴더 안에 찾게 설정해줌

profile
경험치 쌓는 중

0개의 댓글