freemarker tutorials
diff --git a/freemarker-tutorial/pom.xml b/freemarker-tutorial/pom.xml
new file mode 100644
index 0000000..6e968d6
--- /dev/null
+++ b/freemarker-tutorial/pom.xml
@@ -0,0 +1,56 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>com.ekingstar</groupId>
+  <artifactId>freemarker-quickstart</artifactId>
+  <packaging>war</packaging>
+  <version>0.0.1-SNAPSHOT</version>
+  <name>Freemarker Quickstart Webapp</name>
+  <url>http://maven.apache.org</url>
+  <dependencies>
+    <dependency>
+    	<groupId>com.jfinal</groupId>
+    	<artifactId>jfinal</artifactId>
+    	<version>1.6</version>
+    </dependency>
+    <dependency>
+    	<groupId>org.freemarker</groupId>
+    	<artifactId>freemarker</artifactId>
+    	<version>2.3.20</version>
+    </dependency>
+    <dependency>
+    	<groupId>com.jfinal</groupId>
+    	<artifactId>jetty-server</artifactId>
+    	<version>8.1.8</version>
+    </dependency>
+    <dependency>
+    	<groupId>log4j</groupId>
+    	<artifactId>log4j</artifactId>
+    	<version>1.2.16</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <finalName>freemarker_demo</finalName>
+	    <plugins>
+		  <plugin>
+		    <groupId>org.mortbay.jetty</groupId>
+		    <artifactId>jetty-maven-plugin</artifactId>
+		    <version>8.1.8.v20121106</version>
+		    <configuration>
+		        <stopKey>stop</stopKey>
+		        <stopPort>5599</stopPort>
+		        <webAppConfig>
+		            <contextPath>/</contextPath>
+		        </webAppConfig>
+		        <scanIntervalSeconds>5</scanIntervalSeconds>
+		        <connectors>
+		            <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
+		                <port>8080</port>
+		                <maxIdleTime>60000</maxIdleTime>
+		            </connector>
+		        </connectors>
+		    </configuration>
+		  </plugin>
+	  </plugins>
+  </build>
+</project>
diff --git a/freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultConfig.java b/freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultConfig.java
new file mode 100644
index 0000000..fb43d17
--- /dev/null
+++ b/freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultConfig.java
@@ -0,0 +1,56 @@
+package com.ekingstar.common;

+

+import com.jfinal.config.Constants;

+import com.jfinal.config.Handlers;

+import com.jfinal.config.Interceptors;

+import com.jfinal.config.JFinalConfig;

+import com.jfinal.config.Plugins;

+import com.jfinal.config.Routes;

+import com.jfinal.core.JFinal;

+

+/**

+ * API引导式配置

+ */

+public class DefaultConfig extends JFinalConfig {

+

+	/**

+	 * 配置路由

+	 */

+	public void configRoute(Routes me) {

+		me.add("/", DefaultController.class);

+	}

+

+	/**

+	 * 配置插件

+	 */

+	public void configPlugin(Plugins me) {

+	}

+

+	/**

+	 * 配置全局拦截器

+	 */

+	public void configInterceptor(Interceptors me) {

+

+	}

+

+	/**

+	 * 配置处理器

+	 */

+	public void configHandler(Handlers me) {

+

+	}

+

+	/**

+	 * 建议使用 JFinal 手册推荐的方式启动项目 运行此 main

+	 * 方法可以启动项目,此main方法可以放置在任意的Class类定义中,不一定要放于此

+	 * 

+	 * @throws Exception

+	 */

+	public static void main(String[] args) throws Exception {

+		JFinal.start("src/main/webapp", 8080, "/", 5);

+	}

+

+	@Override

+	public void configConstant(Constants me) {

+	}

+}

diff --git a/freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultController.java b/freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultController.java
new file mode 100644
index 0000000..d63ad07
--- /dev/null
+++ b/freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultController.java
@@ -0,0 +1,11 @@
+package com.ekingstar.common;

+

+import com.jfinal.core.Controller;

+

+public class DefaultController extends Controller {

+	

+	public void index() {

+		setAttr("welcome", "Hello World!");

+		render("index.ftl");

+	}

+}

diff --git a/freemarker-tutorial/src/main/resources/log4j.properties b/freemarker-tutorial/src/main/resources/log4j.properties
new file mode 100644
index 0000000..a84025a
--- /dev/null
+++ b/freemarker-tutorial/src/main/resources/log4j.properties
@@ -0,0 +1,10 @@
+log4j.rootLogger=WARN, stdout, file

+log4j.appender.stdout=org.apache.log4j.ConsoleAppender

+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

+log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

+

+# Output to the File

+log4j.appender.file=org.apache.log4j.FileAppender

+log4j.appender.file.File=./console

+log4j.appender.file.layout=org.apache.log4j.PatternLayout

+log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n
\ No newline at end of file
diff --git a/freemarker-tutorial/src/main/webapp/WEB-INF/web.xml b/freemarker-tutorial/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..69687b6
--- /dev/null
+++ b/freemarker-tutorial/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,15 @@
+<?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">
+	<filter>
+		<filter-name>jfinal</filter-name>
+		<filter-class>com.jfinal.core.JFinalFilter</filter-class>
+		<init-param>
+			<param-name>configClass</param-name>
+			<param-value>com.ekingstar.common.DefaultConfig</param-value>
+		</init-param>
+	</filter>
+	<filter-mapping>
+		<filter-name>jfinal</filter-name>
+		<url-pattern>/*</url-pattern>
+	</filter-mapping>
+</web-app>
\ No newline at end of file
diff --git a/freemarker-tutorial/src/main/webapp/index.ftl b/freemarker-tutorial/src/main/webapp/index.ftl
new file mode 100644
index 0000000..ba28695
--- /dev/null
+++ b/freemarker-tutorial/src/main/webapp/index.ftl
@@ -0,0 +1,5 @@
+<html>
+<body>
+<h1>${welcome}</h1>
+</body>
+</html>
\ No newline at end of file