전체 글

전체 글

    이클립스 스프링 mvc 프로젝트 Model과 ModelAndView, 클래스 맵핑

    스프링 컨트롤러에서 Model 을 알아보자 데이터를 Model 타입으로 만들 수 있다. addAttribute() 메소드를 사용하여 생성한다. view 에서 데이터를 받아올 때는 위에 request.getAttribute() 메소드를 사용하거나 ${name} 로 받아 오면 된다. 로컬주소로 들어가보면 값이 나오는 것을 확인 할 수 있다. ModelAndView 는 모델과 뷰 를 동시에 가지고 있기 때문에 객체를 생성해주고 setViewName() 으로 뷰의 경로를 잡아주고 addObject() 로 생성해주고 그것을 리턴해 준다. 리퀘스트 맵핑은 클래스에서도 사용할 수 있다. 이런 식으로 클래스에도 맵핑을 붙이게 되면 클래스에 맵핑된 주소를 먼저 찾게 된다. 그 다음 맵핑을 이어서 찾게 된다.

    이클립스에서 스프링 mvc 프로젝트

    iducs라는 컨텍스트 명이 root 디렉토리이다. 이클립스에서 스프링 mvc 프로젝트를 생성하면 톰캣서버에서 패키지 .을 기준으로 세번째를 자동으로 컨텍스트를 생성해준다. / 로 들어오는 모든 것을 appServlet인 DispatcherServlet로 보내고 servlet-context.xml로 보낸다. 여기에는 컨트롤러가 있다. 아래 context 에 패키지를 기준으로 찾게 되고, ViewResolver를 통해 prefix , suffix 정해지고 만약 컨트롤러에서 home을 리턴을 시켰으면 WEB-INF/views/home.jsp가 되는것이다. 그리고 위에 /resources/** 부분을 보면 모든 / 를 dispacher를 통해 컨트롤러로 보내지는데 /resources/ 로 오는 모든 경로는 컨..

    5. 빌드

    빌드 전에는 서버를 꼭 종료한다. 명령 프롬프트 창을 킨다. 해당 패키지 경로로 이동하게되면 gradlew와 gradlew.bat이 있다. Mac은 gradlew를 사용하면되고 Window는 gradlew.bat을 사용하면 된다. gradlew.bat build 로 빌드한다. 빌드를 하게되면 build 라는 폴더가 생기는데 안에 들어가보면 libs 라는 폴더가 있다. libs 로 들어가보면 jar파일이 생성된 것을 볼 수 있다. jar파일을 실행하면 스프링이 실행되는 것을 볼 수 있다. 나중에 jar 이 파일만 서버에 올리면 끝난다. gradlew clean 하면 빌드 폴더가 사라집니다. gradlew clean build 완전히 다시 빌드가 됩니다.

    3. 스프링 라이브러리

    Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다. 스프링부트를 사용하면 자동으로 라이브러리가 들어온다. 실무에선 로깅을 쓴다 logback 과 slf4 조합을 많이 쓴다. test 관련 라이브러리도 있다. 핵심 라이브러리는 -spring-boot-starter-web - spring-boot-starter-tomcat:톰캣(웹서버) - spring-webmvc:스프링 웹 mvc -spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(view) -spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅 -spring-boot -spring-core -spring-boot-starter-logging -logback, slf4j 테스트 라이브러리..

    2. 스프링 프로젝트 생성 이어서...

    기본으로 만들어진 자바 클래스를 보면 메인클래스 부분을 실행하면 된다. 실행을 하게되면 밑에 톰캣 어쩌구 저쩌구 8080 포트 http... 라고 나온다. 그러면 이렇게 localhost:8080 포트를 통해서 접속을 하게되면 에러 페이지가 뜨는 것을 확인 할 수 있다. 이런 에러 페이지가 나오면 실행에 성공한 것이다. 이유는 아무 페이지도 만들기 않았기 때문에 에러페이지가 동작한 것이다. 어노테이션을 보게되면 @SpringBootApplication 을 통해 사용하게 된다. 이 스프링부트어플리케이션이 톰캣을 내장 하고 있기 때문에 톰캣 설정을 따로 하지않았더라도 실행 될 때 톰캣이 실행이 되게 된다. Gradle 설정부분이다. 기본으로 Gradle로 되어있어 빌드를 하게 될때 Gradle를 거쳐서 실행..

    1. 스프링 프로젝트 생성 , 구조

    스프링에서 제공하는 사이트를 이용해보자. 사이트 경로와 Grade Project로 하였고 언어는 자바로 선택, SNAPSHOT버전은 아직 완성되지 않았기 때문에, 완성 버전인 2.3.4 버전을 사용하겠다. 프로젝트 이름은 hello로 했고 자바 버전은 11버전을 사용하겠다. 라이브러리는 Spring Web 과 Html 사용을 위해 Thymeleaf를 사용 생성을 하게 되면 파일이 zip 파일로 다운로드가 되고 압축을 풀어주면 된다. 프로젝트 구조이다. 에디터는 intellij를 사용하겠다. open or import 를 클릭하여 프로젝트를 불러오자 build.gradle 를 눌러 프로젝트를 불러온다. build.gradle 파일을 살펴보면 사용하려는 자바 버전과 스프링 버전 그리고 아까 사용하려고 했던 ..