Douyu是一种完全采用Java语言开发的、运行于JVM之上的新型基础开发平台。 在web层,Douyu完全抛弃了JSP/Servlet, 在数据库访问层,Douyu不依赖于任何ORM(对像关系映射)框架(如Hibernate)。
Douyu将Java语言编译器、Http服务器、MVC完美整合在一起, 几乎实现了ORM全自动化,同时在Java语言层面引入了权限管理模型。
Douyu内置的Java语言编译器基于OpenJDK Javac编译器(b60版), 并进行了修改和扩充,跟Http服务器结合之后能在控制器层发挥出强大的威力, 你只要修改Java源文件,然后刷新浏览器就能查看运行结果, 同时编译器也是实现ORM自动化的基石。
Douyu内置的Http服务器是基于NIO技术的, 是对Tomcat6及com.sun.net.httpserver(总共1300多个Java源文件)进行大刀阔斧的改造后得来的, 改造后的Http服务器目前只有60个左右的源文件,支持Http1.0/1.1协议。
Douyu内置的权限管理模型目前包含了功能权限、字段权限两类, 功能权限一般对应控制器类中的Action方法,Action方法可以与表单中的按钮关联, 字段权限能控制表单中的字段是否可以查看、修改或隐藏。
Douyu内置的ORM已几乎实现自动化,你只须建个数据库表(如pet), 然后在服务器配置文件中配置数据库驱动、并为每个数据库指定一个包名(如my.oracle.table), 然后就你可以在你的Java源文件中用import my.oracle.table.Pet导入模型类Pet。 Douyu还支持横跨多个数据库的事务,还支持保存点(Savepoint)。
一些示例代码:
import com.douyu.http.UploadedFile;
@Controller public class FileUpload { public void index(UploadedFile file1, String description) { File f = new File(“D:/Douyu/temp/uploadedFiles”, file1.getSimpleName()); file1.saveTo(f); } }