Package

Source Code of WebMain

import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateExceptionHandler;
import futureweb.FutureWeb;
import futureweb.FutureWeb.*;
import futureweb.Route;
import io.netty.handler.codec.http.HttpRequest;

import java.io.*;
import java.lang.reflect.Array;
import java.lang.reflect.Method;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static io.netty.handler.codec.http.HttpHeaders.Names.CONTENT_TYPE;

/**
* Created by dns on 3/6/2014.
*/
public class WebMain {


  public static void main (String[] args) throws Exception {
    //System.out.println(args.length);
    webserver();

/*

    FutureWeb app = new FutureWeb();

    //app.setHost("0.0.0.0");
    //app.setPort(8080);

    app.get(new Route("/") {
      @Override
      public void handle () {
        //System.out.println("888");
        response.setContentType("text/plain; charset=UTF-8");
        //response.setServer("test/123");

        response.write("this is rendered text");   // cookie key can't contain spaces
        //response.redirect("http://bing.com/");   // cookie key can't contain spaces
        //response.setCookie("foo", "bar");   // cookie key can't contain spaces
        // BUG: COOKIE ERROR, apache bench verbose

      }
    });


    app.run();

    */

  }

  static void webserver () throws Exception {
    String clientSentence;
    String capitalizedSentence;
    ServerSocket welcomeSocket = new ServerSocket(8080);

    while (true) {
      Socket connectionSocket = welcomeSocket.accept();
      BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
      DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
      clientSentence = inFromClient.readLine();
      System.out.println("Received: " + clientSentence);
      //capitalizedSentence = clientSentence.toUpperCase() + '\n';
      outToClient.writeBytes("HTTP/1.0 200 OK\r\n");
      outToClient.writeBytes("Server: FutureWeb/0.0.1\r\n");
      outToClient.writeBytes("Content-Type: text/plain\r\n\r\n");
      // Content-Type: text/html; charset=UTF-8
      // Content-Length: 2354
      outToClient.writeBytes("test 123");
      outToClient.flush();
      outToClient.close();
    }
  }

  static String freemarker () throws Exception {
    Configuration cfg = new Configuration();
    cfg.setDefaultEncoding("UTF-8");
    cfg.setObjectWrapper(new DefaultObjectWrapper());
    cfg.setTemplateExceptionHandler(TemplateExceptionHandler.HTML_DEBUG_HANDLER);
    cfg.setDirectoryForTemplateLoading(new File("templates"));

    HashMap hash = new HashMap();
    hash.put("a", "ABCD");

    HashMap names = new HashMap();
    names.put("b", "names B");
    names.put("c", "names C");

    hash.put("names", names);

    ArrayList array = new ArrayList();
    array.add(111);
    array.add("222");

    hash.put("array", array);

    Template temp = cfg.getTemplate("test.html");
    Writer stringwriter = new StringWriter()//new OutputStreamWriter(System.out);

    temp.process(hash, stringwriter);

    //System.out.print(stringwriter.toString());
    return stringwriter.toString();
  }

}















TOP

Related Classes of WebMain

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.