微型Java Web框架:pippo

jopen 10年前發布 | 23K 次閱讀 pippo Web框架

它是一個開源(Apache許可證)微型Java Web框架,擁有最少的依賴,以及快速的學習曲線。 該項目的目標是創建一個微型的Web框架在Java中這應該是易于使用和破解。
其概念是不是新的 (靈感來自于 Sinatra, Express JS, Play Framework),但目的是提供一個清晰,簡單易用的模塊化解決方案。 pippo可用于中小型應用,并應用在基于微服務架構的應用程序中。

Artifacts

  • Pippo Core pippo-core (jar)
  • Pippo Jetty pippo-jetty (jar)
  • Pippo Freemarker pippo-fremarker (jar)
  • </ul>

    public class SimpleDemo {
    
        public static void main(String[] args) {
    //        new Pippo().start(); // run the default web server with the default web server settings
    
            Pippo pippo = new Pippo(new SimpleApplication());
            pippo.getServer().getSettings().staticFilesLocation("/public");
            pippo.start();
        }
    
    }
    
    public class SimpleApplication extends Application {
    
        @Override
        public void init() {
            super.init();
    
            GET("/", new RouteHandler() {
    
                @Override
                public void handle(Request request, Response response) {
                    response.send("Hello World");
                }
    
            });
    
            GET("/file", new RouteHandler() {
    
                @Override
                public void handle(Request request, Response response) {
                    response.file(new File("pom.xml"));
                }
    
            });
    
            GET("/json", new RouteHandler() {
    
                @Override
                public void handle(Request request, Response response) {
                    Contact contact = new Contact()
                            .setName("John")
                            .setPhone("0733434435")
                            .setAddress("Sunflower Street, No. 6");
                    // you can use variant 1 or 2
    //                response.contentType(HttpConstants.ContentType.APPLICATION_JSON); // 1
    //                response.send(new Gson().toJson(contact)); // 1
                    response.json(contact); // 2
                }
    
            });
    
            GET("/template", new RouteHandler() {
    
                @Override
                public void handle(Request request, Response response) {
                    Map<String, Object> model = new HashMap<String, Object>();
                    model.put("greeting", "Hello my friend");
                    response.render("hello.ftl", model);
                }
    
            });
    
            GET("/error", new RouteHandler() {
    
                @Override
                public void handle(Request request, Response response) {
                    throw new RuntimeException("Errorrrrrrrr...");
                }
    
            });
    
        }
    
    }

    項目主頁:http://www.baiduhome.net/lib/view/home/1415087631953

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!