• 輕量級javaweb框架blade,簡潔而強大

    3
    Java 數據庫 XML C/C++ Go 17677 次瀏覽

    Blade

    javaweb中的瑞士軍刀

    English

    @biezhi on weibo Hex.pm Build Status JDK maven

    blade 是一個輕量級,可快速開發的web框架,它內置了IOC管理,攔截器配置,REST API開發等眾多主流web特性,集成了模板引擎,緩存插件,數據庫操作,郵件發送等常用功能,簡潔的源碼值得你閱讀和學習。如果你喜歡,歡迎Star and Fork!

    Blade特性

    • 簡潔的MVC & 攔截器
    • REST風格API
    • 注解方式開發
    • 微內核IOC容器
    • 實用工具類
    • 模板引擎支持
    • 支持JDK1.6+
    • 內置Jetty啟動
    • 插件擴展機制
    • ...

    快速入門

    第一步、用maven構建一個webapp,加入blade的依賴,推薦獲取最新版本

    <dependency>
        <groupId>com.bladejava</groupId>
        <artifactId>blade</artifactId>
        <version>x.x.x</version>
    </dependency>

    第二步、在web.xml中配置Blade核心過濾器并設置你的初始化類,你也可以不配置(使用jetty啟動)

    <web-app>
        <display-name>Archetype Created Web Application</display-name>
        <filter>
            <filter-name>BladeFilter</filter-name>
            <filter-class>blade.BladeFilter</filter-class>
            <init-param>
                <param-name>applicationClass</param-name>
                <param-value>blade.sample.App</param-value>
            </init-param>
        </filter>
    
        <filter-mapping>
            <filter-name>BladeFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
    </web-app>

    第三步、編寫App.java和路由文件,下面是一個示例

    public class App extends BladeApplication{
    
        Logger logger = Logger.getLogger(App.class);
        @Override
        public void init() {
            // 設置路由、攔截器包所在包
            Blade.defaultRoute("blade.sample");
        }
    
    }
    @Path
    public class Hello {
    
        @Route("/hello")
        public String hello() {
            System.out.println("hello");
            return "hello.jsp";
        }
    
        @Route(value = "/post", method = HttpMethod.POST)
        public void post(Request request) {
            String name = request.query("name");
            System.out.println("name = " + name);
        }
    
        @Route("/users/:name")
        public ModelAndView users(Request request, Response response) {
            System.out.println("users");
            String name = request.pathParam(":name");
    
            ModelAndView modelAndView = new ModelAndView("users");
            modelAndView.add("name", name);
            return modelAndView;
        }
    
        @Route("/index")
        public String index(Request request) {
            request.attribute("name", "jack");
            return "index.jsp";
        }
    
    }

    OK,這一切看起來多么的簡單,查閱使用指南更多現成的例子供你參考:

    Blade使用指南 (正在完善中...)

    一些例子:http://github.com/bladejava

    更新日志

    v1.1.2

    1. 優化sql2o支持
    2. 去除blade-kit無用類
    3. 添加郵件支持
    4. 添加程序計時支持
    5. 添加http網絡請求支持

    v1.1.0

    1. 去除對外公開的多余方法展示
    2. 添加`Blade.run()`方式運行jetty
    3. 添加`Blade.register()`方法注冊bean對象
    4. 優化IOC對象管理
    5. 優化底層IO
    6. 簡化插件擴展
    7. 攔截器路由匹配分離
    8. 修復jetty在多maven環境下運行bug 
    9. 添加初始化監聽context
    10. 優化文件上傳
    11. 優化路由匹配
    12. 添加方法執行監測
    13. 添加緩存支持

    v1.0.0

    第一個穩定版本發布

    開源協議

    Blade框架基于 Apache2 License

    聯系我

    Mail: biezhi.me#gmail.com

    Java交流群: 1013565

    相似問題

    相關經驗

    相關資訊

    相關文檔

  • sesese色