본문 바로가기

Programming/SpringFrameWork

[펌]Spring Framework 따라하기 [3] - Hello Application

Spring Framework 따라하기 [3] - Hello Application
이제 HomeController의 코드를 작성하는 것과 home.jsp를 만들면 된다.

HomeController 코드 작성

public class HomeController extends AbstractController {

protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
return new ModelAndView("home");
}

}

eclipse에서 src 폴더에 새로운 클래스를 작성한다. 수퍼클래스를 org.springframework.web.servlet.mvc.AbstractController로 하여 HomeController 클래스를 생성하면 위의 메서드만 자동생성된다. 그 내부의 코드를 위와 같이 한다.

여기서 ModelAndView의 매개변수 home은 바로 앞에서 언급했던 ViewResolver에 사용되는 OOOO이다. 즉, 웹페이지 /WEB-INF/jsp/home.jsp 로 매핑이 이루어진다.

home.jsp 작성

그냥 웹페이지를 작성하면 된다.

다만, character-encoding을 UTF-8로 하기를 권한다. 보통 euc-kr로 하는데...국제화시대에 이것은 이미 시대에 뒤떨어진 판단이다. 이제는 utf-8로 하는 것이 여러모로 훨씬 나은 선택이다. 이것은 두고두고 문제가 되기 때문에 미리 이렇게 해두면 두고두고 잘했지 하는 생각을 하게 만드는 상황이 계속 발생한다.

페이지 내용은 "안녕하세요?" 라고 하든가... 내키는 대로 페이지 내용을 만들어 본다. 이 때, 역시 편집기의 encoding도 utf-8로 하는 것이 좋겠다. eclipse에서는 Windows/Preference/General/Editors/Text file encoding이 기본 MS949로 되어 있는데, 이를 UTF-8로 바꾸면 된다. 파일 형식마다 다르게 하는 등의 더 상세한 조정을 원하면 eclipse 매뉴얼을 잘 찾아보면 그 방법이 제시되어 있다.

여기 home.jsp 의 예제를 참고하라.

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>SpringBloom Home</title>
</head>

<body>
안녕하세요 SpringBloom Home입니다.
</body>

</html>
 
그리고 실행하여 http://localhost:8080/springbloom/app/home.htm 을 접속하여 페이지가 제대로 나오면 성공이다.

그런데 안된다. 이유를 잘 모르겠는데... geronimo로 eclipse/wtp에서는 오류가 난다. 왜그런지 잘 모르겠다..
tomcat에서는 잘 된다. 거 참...
일단 개발을 tomcat에서 하기로 하자. 그러니까 개발과 test는 tomcat 5.5에서 하고, 마지막에 deploy하고 최종테스트하고 실행하는 것을 geronimo에서 하기로 하자....