суббота, 1 февраля 2014 г.

А теперь все вместе!

MongoDB, Freemarker, Spark.
Итак, осталось подытожить все, что я делал до этого.
Начнем с запуска MongoDB сервера(mongod), и самого Mongo shell(mongo). После чего пишем use test (test - название нашей базы данных) в окне с запущенным shell. Просмартиваем все коллекции командой show collections, выбираем любую, предположим у меня есть коллекция mecollection и добавляем один элемент командой db.mycollection.save({'name':'Dmitry'}). Теперь наша коллекция хранит одно значение name:Dmitry(одно значение, это если до этого ваша коллекция была пустая) Просмотреть элементы коллекции можно командой db.mycollection.find() или db.mycollection.findOne() вывод элемента, на котором стоит курсор.
 Теперь мы можем вернуться в eclipse(NetBeans или Intelij Idea, не знаю, что там у вас).

Вот так будет выглядеть финальный вариант класса с использованием всех этих технологий на Java:
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.ServerAddress;
import freemarker.template.Configuration;
import freemarker.template.Template;
import spark.Request;
import spark.Response;
import spark.Route;
import spark.Spark;
import java.io.StringWriter;
import java.net.UnknownHostException;
public class HelloWorldMongoDBSparkFreemarkerStyle {
    public static void main(String[] args) throws UnknownHostException {
        final Configuration configuration = new Configuration();
        configuration.setClassForTemplateLoading(
                HelloWorldSparkFreemarkerStyle.class, "/");
        MongoClient client = new MongoClient(new ServerAddress("localhost", 27017));
        DB database = client.getDB("test");
        final DBCollection collection = database.getCollection("mycollection");

        Spark.get(new Route("/") {
            @Override
            public Object handle(final Request request,
                                 final Response response) {
                StringWriter writer = new StringWriter();
                try {
                    Template helloTemplate = configuration.getTemplate("hello.ftl");
                    DBObject document = collection.findOne();
                    helloTemplate.process(document, writer);
                } catch (Exception e) {
                    halt(500);
                    e.printStackTrace();
                }
                return writer;
            }
        });
    }
}
И уже по знакомым нам действиям с браузером:
 http://localhost:4567/
Вуаля, теперь у нас есть страничка, которая берет данные из базы данных MongoDB, присоединяет их к html странице с помощью Freemarker, а Spark уже выводит все это в готовом варианте в вашем браузере!


Комментариев нет:

Отправить комментарий