02:[后臺框架] 請求的處理和Action的使用

這篇講講Action, Action是接收并返回數(shù)據(jù)的請求, 它可以自動填充請求參數(shù), 過濾請求.
首先, 你可以先從git上下載該項目
Git地址:https://github.com/huhuanan/m

創(chuàng)建Action類


action類內(nèi)容如下:

//Action注釋, 該類所在的包需要配置到config/mconfig.properties文件中
@ActionMeta(name="testRequestTest",title="請求測試",description="最基礎(chǔ)的Action測試, 繼承m.common.action.Action")
public class RequestTestAction extends Action {
    //定義Action接收參數(shù), 并生成get,set方法.
    private String name;
    private Date date;
    private Map<String,String> params;
    
    @DocumentMeta(//接口注釋, 有接口注釋的方法會在后臺的開發(fā)指南的接口中顯示, 方便測試
        method=@DocumentMethodMeta(title="測試API",description="一個簡單的接口測試",permission=false,
            result="返回json串"),//result返回結(jié)構(gòu)示例,自行編寫
        params={
            @DocumentParamMeta(name="name",description="名字",type=FieldType.STRING,length=20,notnull=true)
        }
    )
    public JSONMessage testMethod(){//Action可訪問的方法沒有參數(shù), 返回類型最常用的是JSONMessage 
        JSONMessage result=new JSONMessage();//框架自寫的一個用于返回前臺數(shù)據(jù)的json
        try {
            result.push("name", "接收到的name:"+name);
            result.push("code", 0);
            result.push("msg", "測試成功");
        } catch (Exception e) {
            result.push("code", 1);
            result.push("msg", e.getMessage());
        }
        return result;
    }
.....get, set 方法
  1. action的訪問是以action/開頭的, http://127.0.0.1/action/action注解的name/無參的方法名, 例如, http://127.0.0.1/action/testRequestTest/testMethod
    注: 我部署項目的時候都是修改tomcat的 conf/server.xml, 所以訪問是沒有項目名
    <Host ...> 標(biāo)簽塊內(nèi)增加以下代碼
<Context path="" docBase="D:/Workspaces/m/web" debug="0" reloadable="false"></Context>
  1. action的方法執(zhí)行前, 會過濾該url, 不允許訪問時返回空, 配置文件 config/urlmarker.xml
  • 首先按照<authorization>的配置, 如果符合配置, 則不進(jìn)行下面的過濾, 但需要在Action中判斷權(quán)限, 該設(shè)置適合app調(diào)用.
  • 判斷請求開始是否已配置到<redirect><enable>, /action/默認(rèn)已加入<enable>中, 所以無需配置.
  • 判斷 主機(jī)地址和Request Header的Referer屬性是否一致,
  • 過濾Request Header的Referer屬性, 除了配置的, 默認(rèn)允許127.0.0.1

啟動項目

打開項目地址http://127.0.0.1/admin
默認(rèn)用戶名密碼 admin 123456
進(jìn)入開發(fā)指南的Action接口


點該接口的測試按鈕

也可查看控制臺打印的信息

這樣一個簡單的action接口就創(chuàng)建完成了.

除了以/action/開始的的請求, 還有以/page/開始的請求, 對應(yīng)classes/page目錄,

jsp頁面不用寫后綴,action也可以返回jsp頁面 (現(xiàn)在已經(jīng)過時了, 如果是需要使用后臺數(shù)據(jù)的動態(tài)頁面, 可以使用,)

除了jsp頁面, 其他的內(nèi)容都可以通過/page/開頭訪問.


訪問路徑: http://127.0.0.1/page/test.html

請求和action就講這些了, 其他使用方式需要在以后的實例中說明, 如果有什么問題或者bug, 可以簡信我.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容