歡迎使用Induction!Induction是使用java編程語言進(jìn)行web應(yīng)用開發(fā)的健壯高性能的框架。Induction屬于基于請求的web框架,作為一個(gè)servlet部署在servlet容器中。Induction宣揚(yáng)MVC的方法進(jìn)行web應(yīng)用開發(fā)。Induction的幾個(gè)關(guān)鍵設(shè)計(jì)目標(biāo)是:
1.當(dāng)modles,views和controllers發(fā)生變化時(shí),消除對web應(yīng)用程序必須重載的需求(我們相信一次簡單的頁面刷新就足夠了)
2.modles,views,controllers之間的綁定是聲明式的,這種方式可以在任何IDE中都能被解析
3.使得數(shù)據(jù)跟蹤在用戶界面模板中可用(尤其是HTML模板)
4.文件上傳處理應(yīng)該簡單到很平凡的地步
5.在HTML表格中,數(shù)組(arrays)和字典類型(dictionary types )的使用應(yīng)該盡可能簡單
6.明智的使用XML(在每個(gè)應(yīng)用程序中,Induction只需要一個(gè)XML文件)
7.是一種能夠適應(yīng)多種pattern應(yīng)用的可擴(kuò)充的架構(gòu)
8.高性能
9.從JDK1.4到1.6都兼容(包括1.4和1.6)
About this tutorial
這份指南的目的是讓你更快的使用Induction。Induction需要一個(gè)servlet容器。在這份指南中,我們使用Apache的Tomcat,不過你可以選擇使用任何服從標(biāo)準(zhǔn)的servlet容器。
Installing
我們假設(shè)你已經(jīng)在c:/dev/Tomcat6安裝了Tomcat6。Induction本身不需要任何的安裝步驟,它的jar包可以很容易地引入到你的web應(yīng)用程序中。
Writing our first application - hello world
在這份指南中,我們會(huì)寫一個(gè)簡單的"hello world"應(yīng)用,在這個(gè)應(yīng)用里我們會(huì)列舉出Induction的許多重要概念。
Writing a controller
首先我們寫一個(gè)controller作為我們指南的開始,因?yàn)閏ontrollers是web應(yīng)用程序中一個(gè)典型的entry。好,現(xiàn)在讓我們開始寫一個(gè)controller,讓它在瀏覽器中打印一串字符。
package demoapp.helloworld1_app;
import com.acciente.induction.controller.Controller;
import com.acciente.induction.controller.Response;
import java.io.IOException;

/**
* A very simple controller that does the customary "Hello World"
*/
public class HelloWorldController implements Controller
{
public void handler( Response oReponse ) throws IOException
{
oReponse.setContentType( "text/plain" );
oReponse.out().println( "Hello World, using a simple println()" );
}
}
在我們運(yùn)行這個(gè)controller之前,先仔細(xì)的看一下。首先我們注意到HelloWorldController類實(shí)現(xiàn)了Induction的Controller,Controller接口只是一個(gè)簡單的標(biāo)記接口,沒有定義任何方法給它的實(shí)現(xiàn)類。當(dāng)Induction接收到一個(gè)request請求后,激活一個(gè)Controller實(shí)現(xiàn),比如HelloWorldController類,Induction首先核實(shí)這個(gè)類是否是實(shí)現(xiàn)Controller接口。因此目前Controller接口的存在的唯一理由是安全(主要考慮到Controller接口的可配置性)。因?yàn)镃ontroller只是一個(gè)標(biāo)記性接口,所以handler方法并不是接口定義的。
接下來,我們可以看到handler方法有一個(gè)Response參數(shù),Response類是繼承javax.servlet.http.HttpServletResponse接口,并簡單的對servlet容器的response對象進(jìn)行了封裝。Induction通過注入的方式,將參數(shù)Response值傳給handler方法。一些能夠作為handler參數(shù)的值,也是通過自動(dòng)注入的方式,只要它們是遵循以下類型:
Type
Description
Request
facade to the servlet request, extends javax.servlet.http.HttpServletRequest
Response
facade to the servlet response, extends javax.servlet.http.HttpServletResponse
Form
provides access to the HTML form (if any) submitted with this request
ControllerResolver.Resolution
provides access to the controller resolution object (very useful for writing generic parameterized controllers)
model_class_name
instance of a user provided model class, the instance is managed to conform to a user specified lifecycle
上面的類名是不完整的,Request, Response和Form類的更多信息,在package com.acciente.induction.controller中查看。
原文地址:http://www.inductionframework.org/getting-started-tutorial.html
先翻譯一部分放上來,后面的會(huì)盡快貼出。
翻譯的不通暢的地方,請見諒~