9-marzo-2013
admin

MongoDB, Spark y FreeMarker

Ejemplo de uso de MongoDB, Spark y FreeMarker. Además, se utilizará Maven para incluir las dependencias necesarias para ello.

En primer lugar se necesita el driver de Java, ya que es la tecnología sobre la que está implementado el framework Spark y será el encargado de interactuar o explotar la base de datos.

              
	org.mongodb	
	mongo-java-driver
	2.10.1      
    

Un ejemplo de uso de este driver puede ser:

        MongoClient client = new MongoClient( new ServerAddress("localhost", 27017));
        DB data = client.getDB("course");
        DBCollection col = data.getCollection("hello");
        DBObject doc = col.findOne();

Spark Web Application Framework

     
            spark
            spark
            0.9.9.4-SNAPSHOT
     
      
	import static spark.Spark.*;
	import spark.*;

	public class HelloWorld {

	   public static void main(String[] args) {
	      	get(new Route("/hello") {
        		 @Override
		         public Object handle(Request request, Response response) {
        		    return "Hello World!";
	        	 }
      		});
	   }
	}

Para probarlo si estás usando IntelliJ IDEA basta lanzar con run y luego en el navegador http://localhost:4567/hello.


Uso de plantillas con Freemarker

   
      org.freemarker
      freemarker
      [2.3.19,2.4)
   

Ejemplo de plantilla. Se puede observar que hay una variable ${name}. Ésta variable se rellenará mediante el framework de Spark.

< html >
< head >
  < title >Welcome!

< body >
  < h1 >Hello ${name}


        final Configuration configuration = new Configuration();
	configuration.setClassForTemplateLoading(HelloWorldSparkFreemarkerStyle.class, "/");
	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");
				Map helloMap = new HashMap();
				helloMap.put("name", "Freemarker");
				helloTemplate.process(helloMap, writer);
                
			} catch (Exception e) {
				halt(500);
				e.printStackTrace();
			}
			return writer;
		}
        });

Podría utilizarse el acceso a la BD mediante el driver de java para obtener cualquier información y posteriormente poder mostrarla en una jsp mediante un plantilla freemaker.


Comentarios cerrados.

Categorias

Linkedin