diff --git a/pom.xml b/pom.xml
index 9814911..d3920cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,6 +23,7 @@
2.5
4.3.7.RELEASE
1.10.1.RELEASE
+ 9.4.0.v20161208
@@ -83,6 +84,25 @@
+
+
+ org.eclipse.jetty
+ jetty-server
+ ${jetty.version}
+
+
+ org.eclipse.jetty
+ jetty-webapp
+ ${jetty.version}
+
+
+
+
+ org.springframework
+ spring-webmvc
+ ${spring.version}
+
+
commons-io
diff --git a/src/main/java/kinosearch/kinosearch3/webpp/Main.java b/src/main/java/kinosearch/kinosearch3/webpp/Main.java
new file mode 100644
index 0000000..81af9b2
--- /dev/null
+++ b/src/main/java/kinosearch/kinosearch3/webpp/Main.java
@@ -0,0 +1,16 @@
+/*
+ * DmitriyMX
+ * 2017-04-09
+ */
+package kinosearch.kinosearch3.webpp;
+
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+
+public class Main {
+ public static void main(String[] args) {
+ ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
+ WebApp webApp = ctx.getBean("webapp", WebApp.class);
+ webApp.start();
+ }
+}
diff --git a/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java b/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java
new file mode 100644
index 0000000..77d17b6
--- /dev/null
+++ b/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java
@@ -0,0 +1,19 @@
+/*
+ * DmitriyMX
+ * 2017-04-09
+ */
+package kinosearch.kinosearch3.webpp;
+
+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;
+
+@Configuration
+@PropertySource("classpath:/application.properties")
+public class SpringConfig {
+ @Bean
+ public WebApp webapp(@Value("${webapp.host}") String host, @Value("${webapp.port}") int port) {
+ return new WebApp(host, port);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/kinosearch/kinosearch3/webpp/SpringMvcConfig.java b/src/main/java/kinosearch/kinosearch3/webpp/SpringMvcConfig.java
new file mode 100644
index 0000000..846b21b
--- /dev/null
+++ b/src/main/java/kinosearch/kinosearch3/webpp/SpringMvcConfig.java
@@ -0,0 +1,14 @@
+/*
+ * DmitriyMX
+ * 2017-04-09
+ */
+package kinosearch.kinosearch3.webpp;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+@Configuration
+@EnableWebMvc
+public class SpringMvcConfig extends WebMvcConfigurerAdapter {
+}
diff --git a/src/main/java/kinosearch/kinosearch3/webpp/WebApp.java b/src/main/java/kinosearch/kinosearch3/webpp/WebApp.java
new file mode 100644
index 0000000..696b77e
--- /dev/null
+++ b/src/main/java/kinosearch/kinosearch3/webpp/WebApp.java
@@ -0,0 +1,60 @@
+/*
+ * DmitriyMX
+ * 2017-04-09
+ */
+package kinosearch.kinosearch3.webpp;
+
+import lombok.Getter;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.util.log.Log;
+import org.eclipse.jetty.util.log.Slf4jLog;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.context.ContextLoaderListener;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
+import org.springframework.web.servlet.DispatcherServlet;
+
+import java.net.InetSocketAddress;
+
+public class WebApp {
+ private final Logger logger = LoggerFactory.getLogger(WebApp.class);
+ @Getter
+ private final String host;
+ @Getter
+ private final int port;
+
+ public WebApp(String host, int port) {
+ this.host = host;
+ this.port = port;
+ }
+
+ void start() {
+ Log.setLog(new Slf4jLog("Jetty.Logger"));
+ Server server = new Server(new InetSocketAddress(host, port));
+ server.setHandler(getServletContextHandler(getContext()));
+ try {
+ server.start();
+ server.join();
+ } catch (Exception e) {
+ logger.error("Start server", e);
+ }
+ }
+
+ private ServletContextHandler getServletContextHandler(WebApplicationContext context) {
+ ServletContextHandler contextHandler = new ServletContextHandler();
+ contextHandler.setErrorHandler(null);
+ contextHandler.setContextPath("/");
+ contextHandler.addServlet(new ServletHolder(new DispatcherServlet(context)), "/*");
+ contextHandler.addEventListener(new ContextLoaderListener(context));
+ return contextHandler;
+ }
+
+ private WebApplicationContext getContext() {
+ AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
+ context.setConfigLocation("kinosearch.kinosearch3.webpp");
+ return context;
+ }
+}
diff --git a/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java b/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java
new file mode 100644
index 0000000..00fa0d2
--- /dev/null
+++ b/src/main/java/kinosearch/kinosearch3/webpp/WebAppController.java
@@ -0,0 +1,19 @@
+/*
+ * DmitriyMX
+ * 2017-04-09
+ */
+package kinosearch.kinosearch3.webpp;
+
+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;
+
+@Controller
+public class WebAppController {
+ @RequestMapping(value = "/", method = RequestMethod.GET)
+ @ResponseBody
+ public String hello() {
+ return "hello...?";
+ }
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 3b1b093..10b614c 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,4 +1,7 @@
mongo.host=127.0.0.1
mongo.port=27017
mongo.db=kinosearch
-saveRootDir=R:\\
\ No newline at end of file
+saveRootDir=R:\\
+
+webapp.host=127.0.0.1
+webapp.port=8080
\ No newline at end of file