반응형

 

Spring MVC Controller 특징

HttpServletRequest, HttpServletResponse를 거의 사용할 필요없이 구현

다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용가능

GET 방식, POST 방식 등 전송 방식에 대한 처리를 어노테이션으로 가능

상속/인터페이스 방식 대신에 어노테이션만으로 필요한 설정 가능

 


 

@Controller

package com.test1.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/sample/*")
public class SampleController {

}

 

 

 

com.test1.controller 패키지 폴더에 'SampleController' 클래스 생성

클래스 생성

 

 

 

@Controller 어노테이션 적용 시 자동으로 스프링의 객체(Bean)로 등록된다.

이유는 다음과 같다.

<context:component-scan base-package="com.test1.controller" />

servlet-context.xml에 <context:component-scan>이라는 태그를 이용하여,

지정된 패키지를 스캔하며 객체설정에 사용되는 어노테이션들을 가진 클래스를 파악하고 이를 객체로 생성하여 관리하기 때문

 

 

 

끝!

 

반응형

'Spring Framework > MVC' 카테고리의 다른 글

Controller Return Type  (0) 2021.01.11
Model, @ModelAttribute  (0) 2021.01.08
RequestMapping  (0) 2021.01.07
반응형

 

1. 프로젝트 생성

 

상단메뉴 -> File -> New -> Spring Legacy Project 클릭

(혹시 보이지 않을 시 맨 아래 Other 클릭)

Spring 입력 후 Spring Legacy Project 선택 후 Next >

 

 

 

Project name에 test00 입력

Spring MVC Project 선택 후 Next >

 

 

 

 

패키지명 입력

입력 후 Finish 클릭

 

 

 

생성된 프로젝트 확인

test00의 구조

 

src/main/java : 작성되는 코드 경로                                                     

src/main/resources : 실행할 때 참고하는 기본 경로(주로 설정파일들을 넣음)

src/test/java : 테스트 코드를 넣는 경로                                                

src/test/resources : 테스트 관련 설정 파일 보관 경로                              

servlet-context.xml : 웹과 관련된 스프링 설정파일                                 

root-context.xml : 스프링 설정 파일                                                    

views : jsp 파일 경로                                                                        

web.xml : 톰캣의 실행환경에 대한 정보를 담당하는 환경설정 파일              

pom.xml : 프로젝트의 구조와 내용 및 관리에 필요한 환경설정 파일             

 

 

 

※ 간혹 프로젝트 생성 시 에러가 발생하는 경우 ※

이클립스를 종료하고 현재 사용자 폴더 내에 있는데 '.m2' 밑에 'repository' 폴더의 내용물을 삭제 후

이클립스를 재실행 한다.

Maven 등에서 스프링관련 파일들을 다운로드 중 문제가 발생 할 수 있어서 그렇다고 한다.

 

 

 


 

2. Spring 버전 수정

 

pom.xml에서 스프링 프레임워크 버전 3.1.1을 5.0.7 버전으로 수정

<name>test00</name>
   <packaging>war</packaging>
   <version>1.0.0-BUILD-SNAPSHOT</version>
   <properties>
      <java-version>1.6</java-version>
      <org.springframework-version>5.0.7.RELEASE</org.springframework-version>
      <org.aspectj-version>1.6.10</org.aspectj-version>
      <org.slf4j-version>1.6.6</org.slf4j-version>
   </properties>
 <dependencies>

 

 

 

Maven Dependencies 확인

제대로 변경되었는지 확인

 

 

 


 

3. Java 버전 수정

 

pom.xml에서 <plugin> 태그 중 maven-compiler-plugin 의 내용 수정 (수정 후 꼭 저장)

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>2.5.1</version>
   <configuration>
      <source>1.8</source>
      <target>1.8</target>
      <compilerArgument>-Xlint:all</compilerArgument>
      <showWarnings>true</showWarnings>
      <showDeprecation>true</showDeprecation>
   </configuration>
</plugin>

 

 

 

이후 프로젝트명 'test00' 우클릭 후 Maven -> Update Project 클릭

JavaSE-1.8로 바뀐 것을 확인

 

 


 

4. Servlet 버전 수정

 

기존코드 주석처리

<!-- Servlet -->
		<!--<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>-->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>

 

 

 

 


 

5. spring 추가 라이브러리

 

<!-- Spring tx, jdbc, test -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

 

 

 


 

6. Mybatis 라이브러리 추가

 

<!-- Mybatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.4.6</version>
		</dependency>		
		
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.2</version>
		</dependency>

수정 후 프로젝트 우클릭 'Maven' 메뉴에서 'update project' 실행

 

(추가 사항이 생길 시 계속 수정)

 

끝!

반응형

'Spring Framework > 환경설정' 카테고리의 다른 글

[Test] JDBC, dataSource  (0) 2021.02.09
[Spring Tool Suite4] 종합설정  (0) 2021.02.09
Spring 구동순서  (0) 2021.01.07
Spring 설정파일  (0) 2021.01.07
반응형

 

 

!이전에 올렸던 게시글!

 

 

코드로 배우는 스프링 웹 프로젝트(개정판) 구입!

https://book.naver.com/bookdb/book_detail.nhn?bid=13993776공부를 하기 위해 웹서핑을 하고 책을 ...

blog.naver.com

 

반응형
반응형

프로젝트 구동 시

1. web.xml

<listtener>에 웹 어플리케이션이 시작되거나 종료될 때 호출할 메서드를 정의한 인터페이스 Context Listener가 정의되어 있다.

<context-param>에 root-context.xml의 경로가 설정되어 있다.

2. root-context.xml

MVC설정과 관련된 객체(Bean) 정의하는 곳(

3. web.xml(DispatcherServlet)

내부적으로 웹 관련 처리의 준비작업을 진행 할 때 servlet-context.xml을 사용

이 과정에서 등록된 객체(Bean)들은 기존에 만들어진 객체(Bean)들과 같이 연동

(root-context.xml에서 정의된 Bean)과 (servlet-context.xml에서 정의된 Bean)

3.1 DispatcherServlet(Front-Controller)

모든 Request를 받는다.

3.2 HandlerMapping

Request를 담당하는 컨트롤러를 찾는다.

3.3 HandlerAdapter

해당 컨트롤러를 동작시킨다.

3.4 Controller

개발자가 작성하는 클래스로 실제 Request를 처리하는 로직을 작성

3.5 ViewResolver

Controller가 반환한 결과를 어떤 뷰를 통해 처리할지 매핑해주는 역할

3.6 View

jsp등을 이용하여 실제 응답 보내야하는 데이터를 생성하는 역할

3.7 DispatcherServlet(Front-Controller)

만들어진 응답을 전송

참고용

 

반응형

'Spring Framework > 환경설정' 카테고리의 다른 글

[Test] JDBC, dataSource  (0) 2021.02.09
[Spring Tool Suite4] 종합설정  (0) 2021.02.09
Spring Legacy Project 생성 및 기본설정  (0) 2021.01.07
Spring 설정파일  (0) 2021.01.07
반응형

pom.xml

프로젝트의 구조와 내용 및 프로젝트 관리 및 빌드에 필요한 환경 설정, 의존성 관리 등의 정보들을 설정

프로젝트의 세부 메타데이터 정보, 버전 및 설정 관리, 빌드 환경, 라이브러리 저장소 및 의존성 설정

web.xml

WAS(Web Application Server)가 최초 구동될 때 즉 톰켓이 최초 구동될 때 web.xml을 읽고 그에 해당하는 설정을 구성

tomcat 관련 설정

root-context.xml 경로설정

springMVC의 ContextLoaderListener 등록

root-context.xml

View와 관련되지 않은 객체(Bean) 정의 (Service, DAO, DB등등)

servlet-context.xml

View와 관련된 객체(Bean) 정의(Controller)

어노테이션, 리소스 디렉토리, ViewResolver에 관한 설정

반응형

'Spring Framework > 환경설정' 카테고리의 다른 글

[Test] JDBC, dataSource  (0) 2021.02.09
[Spring Tool Suite4] 종합설정  (0) 2021.02.09
Spring Legacy Project 생성 및 기본설정  (0) 2021.01.07
Spring 구동순서  (0) 2021.01.07

+ Recent posts