본문 바로가기
개발/Spring FW

maven없이 스프링(Spring) 프로젝트 만들기 (2) - 웹 앱 실행하기

by Devsong26 2017. 11. 7.

1부에서 작업한 코드로는 웹 프로젝트를 실행할 수 없습니다. 

추가 작업을 하겠습니다. 

 

Java Resources -> src 우클릭 합니다.

 

Name에 "spring.home.controller"를 입력 후 "Finish"를 누릅니다. 

 

생성된 패키지에 HomeController 클래스를 생성합니다. 그러면 servlet.xml 파일의 에러가 사라집니다. 

에러간 난 이유는 <bean>태그에 선언된 class가 존재하지 않기 때문입니다.

 

이제 HomeController를 코딩해야 합니다. 

"@"는 어노테이션이라고 불리며, 위와 같은 아키텍쳐는 Spring MVC RESTful API입니다. 

제가 배운 REST는 Spring 3 MVC RESTful API입니다.

 

설명은 아래와 같습니다.

@Controller : 해당 클래스가 Controller라고 지정합니다. 

@RequestMapping : 웹 브라우저의 요청 url을 메소드 단위로 처리하여 해결합니다. 

 

* 아키텍쳐란?

http://blog.naver.com/p1ngp1ng/120064645546

 

import는 코딩 후에 Ctrl+Shift+O를 누르면 자동으로 됩니다. 

 

ModelAndView 클래스는 서버단에서 view페이지로 request객체를 넘겨줄 때 사용하는 클래스입니다.

생성자의 매개변수로 view페이지 이름을 입력할 수 있습니다. 

"home"만 입력된 것은 servlet.xml에서 입력된 ViewResolver 때문입니다. 

 

* InternalResourceViewResolver란?

prefix, suffix를 지정하여 Controller에서 view page로 이동하는 경로를 간편하게 만들어주는 클래스입니다.

view page로 이동시 기본 경로는 WebContent로 지정되어 있습니다. 

하지만 WebContent 하위의 view page가 저장이 되면 로그인 등의 절차 후에 접속해야 되는 페이지도 url만 알면 접근이 가능합니다. 

WEB-INF 밑에 view page를 생성하면 직접적인 접근을 할 수 없습니다. 

new ModelAndView("home");이라고 객체를 생성한다면 실제로 경로는 prefix+"home"+suffix형태가 됩니다.

그래서 실제 경로는 WEB-INF/spring/home.jsp가 됩니다.

 

이제 home.jsp를 만들겠습니다. 

위와 같이 spring 폴더와 home.jsp를 생성합니다. 

 

home.jsp는 위와 같이 코딩합니다. 

 

그리고 프로젝트 우클릭 후 Run As -> Run on Server를 클릭하시면 home.jsp 화면이 웹 페이지에 표시가 됩니다. 

위의 화면은 실행된 결과입니다. 

 

프로젝트 실행 시 home.jsp화면이 웹 페이지에 나오는 이유는 web.xml에서 설정한 <welcome-flie-list> 때문입니다.

<welcome-file>home.do</welcome-file>을 지정하면 웹 프로젝트 실행시에 저 경로를 통해 웹 페이지가 보여집니다. 

그리고 웹 브라우저에서 톰캣이 실행된 후에 "localhost:8080/프로젝트명/"으로 입력하시면 home.jsp가 실행된 화면이 보입니다. 

 

이상으로 (2)부를 마칩니다. 

 

 


더 많은 내용을 보시려면 아래를 참고하세요.


블로그의 다른 글

 

maven없이 스프링(Spring) 프로젝트 만들기 (3) - 디비(DB, Database) 연동하기 #1

스프링 디비 연동 포스팅은 3파트로 나뉩니다. (1) DB 드라이버, ibatis, mybatis.jar 다운받기 및 셋팅 (2) DTO, DAO, mybatis 작업하기 (3) view 페이지 작업, Controller 작업하기 지금 보실 내용은 (1) DB..

developer-syubrofo.tistory.com

 

maven없이 스프링(Spring) 프로젝트 만들기 (3) - 디비(DB, Database) 연동하기 #2

스프링 디비 연동 포스팅은 3파트로 나뉩니다. (1) DB 드라이버, ibatis, mybatis.jar 다운받기 및 셋팅 (2) DTO, DAO, mybatis 작업하기 (3) view 페이지 작업, Controller 작업하기 지금 보실 내용은 (2) DTO, D..

developer-syubrofo.tistory.com

 

maven없이 스프링(Spring) 프로젝트 만들기 (3) - 디비(DB, Database) 연동하기 #3

스프링 디비 연동 포스팅은 3파트로 나뉩니다. (1) DB 드라이버, ibatis, mybatis.jar 다운받기 및 셋팅 (2) DTO, DAO, mybatis 작업하기 (3) view 페이지 작업, Controller 작업하기 지금 보실 내용은 (3) view..

developer-syubrofo.tistory.com

 

maven없이 스프링(Spring) 프로젝트 만들기 (4) - Ajax 설명

- Ajax란? Asynchronous Javascript + XML의 약자이며 비동기적 통신을 말합니다. HTML form 태그의 의해서 웹 브라우저가 웹 서버에 데이터를 요청하고 그 응답을 받을 경우 웹 페이지 화면 자체가 갱신이 됩

developer-syubrofo.tistory.com

 

Map - Hashtable 사용하는 방법

1. Hashtable이란? Map 인터페이스를 구현한 클래스입니다. 2. 특징 1) (key,value)쌍으로 데이터를 입력합니다. 2) key, value의 값은 null이 될 수 없습니다. 3) Hashtable 객체는 initial capacity와 load fa..

developer-syubrofo.tistory.com