diff --git a/pom.xml b/pom.xml
index d3920cd..fbb1a8a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -102,6 +102,11 @@
spring-webmvc
${spring.version}
+
+ org.springframework
+ spring-context-support
+ ${spring.version}
+
@@ -130,6 +135,11 @@
lombok
1.16.16
+
+ org.freemarker
+ freemarker
+ 2.3.23
+
diff --git a/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java b/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java
index 77d17b6..ba6af97 100644
--- a/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java
+++ b/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java
@@ -8,6 +8,9 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
+import org.springframework.web.servlet.ViewResolver;
+import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
+import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver;
@Configuration
@PropertySource("classpath:/application.properties")
@@ -16,4 +19,19 @@ public class SpringConfig {
public WebApp webapp(@Value("${webapp.host}") String host, @Value("${webapp.port}") int port) {
return new WebApp(host, port);
}
+
+ @Bean
+ public ViewResolver viewResolver() {
+ FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver();
+ viewResolver.setCache(true);
+ viewResolver.setSuffix(".ftl");
+ return viewResolver;
+ }
+
+ @Bean
+ public FreeMarkerConfigurer freemarkerConfig() {
+ FreeMarkerConfigurer freeMarkerConfigurer = new FreeMarkerConfigurer();
+ freeMarkerConfigurer.setTemplateLoaderPath("classpath:/kinosearch/kinosearch3/webpp/");
+ return freeMarkerConfigurer;
+ }
}
\ No newline at end of file
diff --git a/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java b/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java
index 00fa0d2..68b75c7 100644
--- a/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java
+++ b/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java
@@ -4,16 +4,30 @@
*/
package kinosearch.kinosearch3.webpp;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
@Controller
public class WebAppController {
+ private final Logger logger = LoggerFactory.getLogger(WebAppController.class);
+
@RequestMapping(value = "/", method = RequestMethod.GET)
- @ResponseBody
public String hello() {
- return "hello...?";
+ return "index";
+ }
+
+ @RequestMapping(value = "/favicon.ico")
+ public void favicon(HttpServletResponse response) {
+ try {
+ response.sendError(404);
+ } catch (IOException e) {
+ logger.error("favicon 404", e);
+ }
}
}
diff --git a/src/main/resources/kinosearch/kinosearch3/webpp/index.ftl b/src/main/resources/kinosearch/kinosearch3/webpp/index.ftl
new file mode 100644
index 0000000..4a46811
--- /dev/null
+++ b/src/main/resources/kinosearch/kinosearch3/webpp/index.ftl
@@ -0,0 +1,8 @@
+[#ftl]
+
+
+
+
+ KinoSearch 3.0.0-alpha
+
+
\ No newline at end of file