<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    設計java

    j2ee輕量級框架,IMVC,IORM && web網絡游戲

    IMVC 框架 hello world 程序。。。。。

        InstantMVC框架的基本功能基本上已經完成,框架的接口設計(抽象層)也已經完 工,以后修改大概不會有很大的接口變動,這里就貼出一個比較簡單的hello world程序。

    & nbsp;   首先導入InstantMVC(一下簡稱IMVC)的包,和相應的依賴包(主要一些開源的包,比如 commons等)    
        然后再eclipse中新建一個web項目。。這個就不用說了吧。
        然后在classPath下創建一個配置文件 mvcConfig.xml(名字任意起),內如大概如下:
    <baseConfig 
            actionPackageBasePath
    ="test.action"
            formPackageBasePath
    ="test.form"
            templateBasePath
    ="/template"
            resourceBasePath
    ="/re"
            urlPostfix
    =".x"
            webUrl
    ="yao.com:8282"
        
    />
    <optionalConfig
            isOpenActionCache
    ="false"
            isOpenValidationCache
    ="false"
            isGetMethodHasForm
    ="false"
            isOpenAjaxIdentityValidate
    ="false"
            fileUploadBasePath
    ="/upload"
            fileUploadMax
    ="1974592963"
            fileUploadFormat
    ="pdf,jpg,gif"
            printOutCharacter
    ="UTF-8"
            templateCharacter
    ="UTF-8"
            uploadCharacter
    ="UTF-8"
            isOpenFreemarkerCache
    ="false"
        
    />
       前面那個 baseConfig是必須設置,后面optionalConfig是可選,可以不設置,IMVC有默認設置。具體的配置如下:
    必填:
    actionPackageBasePath :基礎action包根目錄
    formPackageBasePath:基礎form包根目錄
    templateBasePath:基礎模板文件根目錄
    resourceBasePath:InstantMVC自帶的資源文件目錄
    urlPostfix:action請求后綴
    webUrl:網站域名,比如yao.com主要用于ajaxView的權限檢測

    可選:
    isOpenActionCache="false" :是否開啟action的緩存,也就是是否設置action為單例
    isOpenValidationCache="false":是否開啟檢驗框架的緩存
    isGetMethodHasForm="false":是否為get方法也設置form填充
    isOpenAjaxIdentityValidate="false":是否開啟ajaxView的權限驗證(不能跨域調用)
    fileUploadBasePath="/upload":文件上傳根目錄,默認是/upload
    fileUploadMax="1974592963":上傳文件最大 ,可選,默認1048576=1024×1024 b
    fileUploadFormat="pdf,jpg,gif":上傳允許默認的格式,可選,默認為 pdf,jpg,gif,txt
    printOutCharacter="UTF-8" : #可選,默認為UTF-8,表示通過action直接打印到客戶端字符的編碼,一般用到ajax發生 
    templateCharacter="UTF-8" :#可選,默認為UTF-8 ,表示通過模板方式顯示到客戶端的編碼,一般用到直接的請求
    isOpenFreemarkerCache="false":#是否開啟freemarker模板緩存

    最基礎的配置就這些了,后面那個可選其實也可以去掉。

    然后我們在項目中新建立一個包
    test.action.test
    然后在包下新舊一個java類:Hello:
    public class Hello implements IAction{

        
    public View execute(Object object, Value value) {
    & nbsp;        value.setObject(
    "< /span>hello" "hello,歡迎來到 InstantMVC的世界。。。 ");
            
    return ViewFactory.getView("/test.html");
        }
        
    }
    ok,然后我們在 web項目根目錄下創建一個模板文件夾 template
    在template下創建一個html文件 :test.html:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      
    <head>
        
    <title>test.html</title>
        
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        
    <meta http-equiv="description" content="this is my page">
        
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      
    </head>
      
    <body>
       ${hello}
    <br />
      
    </body>
    </html>
    很 簡單的Html,里面只有一個地方需要主意的就是 ${hello}這個東西,還記得上面Hello.java中的value.setObject(" hello" "hello,歡迎來到InstantMVC的世界。。。"); 嗎?其實這就是取出hello中的值。好一切配置都完成。額。好像還缺點什么,對,沒有配置web.xml,下面是基本的 配置:< br />
    <servlet>
            
    <servlet-name>instantMVCController</servlet-name>
            
    <servlet-class>yao.instant.mvc.sevlet.InstantFrontController</servlet-class>
            
    <init-param>
                
    <param-name>mvc_config</param-name>
                
    <param-value>/mvcConfig.xml</param-value>
            
    </init-param>
            
    <init-param>
                
    <param-name>single_config</param-name>
                
    <param-value>/instant.single</param-value>
            
    </init-param>
            
    <load-on-startup>0</load-on-startup>
        
    </servlet>
        
    <servlet-mapping>
            
    <servlet-name>instantMVCController</servlet-name>
            
    <url-pattern>*.x</url-pattern>
        
    </servlet-mapping>
       
    其 中yao.instant.mvc.sevlet.InstantFrontController 是IMVC的前端攔截器,有兩個參數,第一個是剛剛寫的配置文件mvcConfig.xml相對于classPath的路徑,第二個是IMVC內建的一個 對象管理容器的配置,這里可以先不寫(或則在classPath下新建一個空的文件Instant.single,內容不用寫)。下面那個是url映射, 把.x的后綴映射到IMVC框架。好了,一切的搞定,下面就運行

    啟動tomcat,在瀏覽器中輸入http://localhost:8080/test/hello.x 就會看到一下結果:

    看,一個簡單的helloworld程序就完成了。下面我們回顧一下這個過程是怎么進行的。

       首先,我們先回顧下我們的配置文件中有一個配置選項:
    actionPackageBasePath="test.action" 
    這 個選項表示IMVC將會首先通過這個路徑去尋找相應的匹配url的action,比如我們上面的url是:/test/hello.x 那么IMVC會首 先尋找 test.action.test包下的Hello類,如果沒有存在,會報異常,如果存在,就執行Hello類的execute方法。在 execute方法最后返回了一個View,其中一個參數是模板位置,比如本例中是View("/test.html"),那么這個文件在哪呢?IMVC 又是怎么去尋找的呢,再回來看配置文件,其中的一個參數:
    templateBasePath="/template"
    這 個參數的意識就是吧web目錄下的template作為主要的模板文件的根目錄,此例中/test.html就是尋找的 /template/test.html文件,然后渲染模板,會把其中的${hello}參數渲染為 action中通過value這個對象設置的值,比 如本例中是:value.setObject("hello", "hello,歡迎來到InstantMVC的世界。。。");< br />
        至此,一個簡單的get方法的IMVC流程結束。

        這里其他的功能沒有說道,比如View中有一種專門的返回ajax的View類型,比如還有攔截器,比如還有form填充和參數獲取等都沒說,下次再詳細說明。

    ps:InstantMVC目前還在內部修改完善,還不能提供版本下載。




    --InstantMVC:j2ee輕量級mvc框架

    posted on 2008-06-10 16:29 剎那 閱讀(494) 評論(0)  編輯  收藏 所屬分類: 我的j2ee輕量級框架

    主站蜘蛛池模板: 亚洲中文无码亚洲人成影院| 嫩草在线视频www免费观看| 亚洲免费在线播放| 免费成人在线观看| 无码国产精品一区二区免费| 成人黄网站片免费视频| 国产成人高清亚洲一区久久| 亚洲乱码在线卡一卡二卡新区 | 国产精品午夜免费观看网站 | 亚洲国产一区在线观看| 337p日本欧洲亚洲大胆裸体艺术| 日韩精品免费一线在线观看 | 久久久免费观成人影院| 亚洲AV无码AV吞精久久| 亚洲娇小性xxxx色| 亚洲成a人片毛片在线| 亚洲精品白浆高清久久久久久| 99久久99久久免费精品小说| 岛国岛国免费V片在线观看| 免费在线观看一区| 亚洲av无码成人精品国产| 亚洲日本va一区二区三区| 77777亚洲午夜久久多喷| 亚洲中字慕日产2021| 亚洲精品91在线| 99久久亚洲综合精品成人网| 亚洲AV无码精品色午夜果冻不卡| 日本亚洲免费无线码| 最近2019免费中文字幕6| 久久国产乱子免费精品| 四虎成人精品永久免费AV| 无码人妻久久一区二区三区免费 | 久久99精品国产免费观看| 一个人免费视频观看在线www| 亚洲在成人网在线看| 亚洲理论在线观看| 亚洲av永久无码精品天堂久久 | 亚洲一区二区三区高清在线观看| 亚洲国产综合人成综合网站| 亚洲精品偷拍视频免费观看| 国产91在线免费|