Web.Java 非阻塞式服务器开源项目

我要开发同款
匿名用户2014年11月20日
49阅读
开发技术Java
所属分类服务器软件、应用服务器
授权协议未知

作品详情

Web.Java是一个高性能,轻量级的非阻塞式服务器。

为了能更好的提高性能,Web.Java把HTTP服务区分应用和文件服务两种。

Web.Java整体采用Reactor模式用来接收或响应HTTP请求(原理同Nginx)。

应用服务采用了Reactor来响应请求。

文件服务采用了Proactor模式,并搭配304状态使用,能极大的提高静态文件的相应速度,且不影响整体。

模板引擎

简单的标签:只需要记住{{}}标签用于输出变量,{%%}标签用于if,for等操作。

可以继承的模版:页面的布局,HTML文件的复用等问题,通过模版继承机制可以得到解决。用{%extendsxx%}关键字实现继承。

高性能:Web.Java会自动把Html文件,编译成Java文件。应用到生产环境的时候,速度等同于Java的硬输出。且在DEBUG模式下,会动态的加载模板文件,而不需要重启进程。

灵活漂亮的URL

随便打开几个J2EE的网站,我就不想吐槽那个URL了。Web.Java使用正则表达式来配置URL,这样做可以提供足够强大和灵活的URL模式。比如像用“/Article/23”想获取文章的ID可以这样来配置URL

HttpServer.setPATH("/Article/(\\d+)",new ArticleHandler());  //ArticleHandler.java文件 get方法public void get(String id){    //获取ID进行其他操作  ……  }

这样在ArticleHandler中对应的get或者post方法中就会获取相应的参数。当然,你可以任意的使用正则表达式来配置你的URL

简单易用的数据库操作Options.DBURL = "jdbc:mysql://localhost:3306/test";Options.DBDriver = "com.mysql.jdbc.Driver";Options.DBUser = "root";Options.DBPassword = "123456";

配置好数据库信息后,可以直接在Handler中使用DB中的静态方法进行操作。具体的操作在DB中有说明。当然如果你想,可以使用任何你想用的ORM。当然,希望你能直接使用SQL,不想解释为什么。

HelloWorld!

看名字就知道了。让我们开始使用Web.Java吧!把源码包放到你的项目目录下面。然后在main方法中加入

HttpServer.setPATH("/", new IndexHandler());System.out.println("Listen 8080");HttpServer.init(8080);

IndexHandler.java

public void get() {    this.writer("Hello World!");}

现在Runit浏览器打开就会看到你Writer的内容了。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论