테스트를 위해 로컬에 환경을 구현해보았다.
freemarker 라이브러리 다운 페이지
http://freemarker.sourceforge.net/freemarkerdownload.html
1. web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Sample_Spring3.0</display-name>
<welcome-file-list>
<welcome-file>/html/test.html</welcome-file>
</welcome-file-list>
<!-- Spring Dispatcher Servlet //-->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.free</url-pattern>
</servlet-mapping>
<!-- //Spring Dispatcher Servlet -->
<!-- Encoding // -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
<!-- // Encoding -->
</web-app>
오랜만에 하니 헷갈리는 부분이 있었다. servlet에서 url-pattern을 *로 설정하는 실수를 했더니 모든게 서블릿으로 동작하고 view와 연결이 안되고 404 에러가 나온다. 하지만 controller는 타고 넘어간다. 주의해야겠다.
3. TestController 작성 : /src/rsa/controller/TestController.java
package rsa.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class TestController {
//http://localhost.home.com:8080/rsa/test.jsp
@RequestMapping("/rsa/test")
public ModelAndView test(){
String message = "Hello World 한글";
System.out.println("/rsa/test --> 실행됨");
//ModelAndView mnv = new ModelAndView();
//mnv.setViewName("/rsa/test");
//mnv.addObject("message", message);
//return mnv;
return new ModelAndView("/rsa/test.ftl", "message", message);
}
}
4. view 작성 : /WebContent/WEB-INF/freemarker/rsa/test.ftl
<#ftl encoding="utf-8"/>
<html>
<head>
</head>
<h2>Spring3 Test Page</h2>
<body>
Controller return value : ${message}
</body>
</html>
http://localhost.home.com:8080/rsa/test.free 으로 동작을 확인했다.
참고로 2가지 작업이 필요한데
본인은 로컬에서 돌릴 때, hosts 파일에 localhost.home.com을 도메인으로 만들고 test한다.
톰켓 설정은 실행한 프로젝트를 root( / )로 설정한다.
freemarker를 정식으로 공부해보고 싶지만 많이 사용하지 않는듯해서 API문서만 보고있다. 개인적으로는 jsp보다 좋은듯하다.
'Java > Spring' 카테고리의 다른 글
스프링 버젼 확인하기 (0) | 2012.06.28 |
---|---|
form으로 파일 전송 (0) | 2012.06.28 |
Spring 3.0 프로그래밍 챕터3 (0) | 2011.05.31 |
Spring 3.0 프로그래밍 챕터2 (0) | 2011.05.31 |
Spring 3.0 프로그래밍 챕터1 (0) | 2011.05.23 |