美文网首页
02:[后台框架] 请求的处理和Action的使用

02:[后台框架] 请求的处理和Action的使用

作者: M_SRC | 来源:发表于2019-07-22 11:29 被阅读0次

这篇讲讲Action, Action是接收并返回数据的请求, 它可以自动填充请求参数, 过滤请求.
首先, 你可以先从git上下载该项目
Git地址:https://github.com/huhuanan/m

创建Action类


action类内容如下:

//Action注释, 该类所在的包需要配置到config/mconfig.properties文件中
@ActionMeta(name="testRequestTest",title="请求测试",description="最基础的Action测试, 继承m.common.action.Action")
public class RequestTestAction extends Action {
    //定义Action接收参数, 并生成get,set方法.
    private String name;
    private Date date;
    private Map<String,String> params;
    
    @DocumentMeta(//接口注释, 有接口注释的方法会在后台的开发指南的接口中显示, 方便测试
        method=@DocumentMethodMeta(title="测试API",description="一个简单的接口测试",permission=false,
            result="返回json串"),//result返回结构示例,自行编写
        params={
            @DocumentParamMeta(name="name",description="名字",type=FieldType.STRING,length=20,notnull=true)
        }
    )
    public JSONMessage testMethod(){//Action可访问的方法没有参数, 返回类型最常用的是JSONMessage 
        JSONMessage result=new JSONMessage();//框架自写的一个用于返回前台数据的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 ...> 标签块内增加以下代码
<Context path="" docBase="D:/Workspaces/m/web" debug="0" reloadable="false"></Context>
  1. action的方法执行前, 会过滤该url, 不允许访问时返回空, 配置文件 config/urlmarker.xml
  • 首先按照<authorization>的配置, 如果符合配置, 则不进行下面的过滤, 但需要在Action中判断权限, 该设置适合app调用.
  • 判断请求开始是否已配置到<redirect><enable>, /action/默认已加入<enable>中, 所以无需配置.
  • 判断 主机地址和Request Header的Referer属性是否一致,
  • 过滤Request Header的Referer属性, 除了配置的, 默认允许127.0.0.1

启动项目

打开项目地址http://127.0.0.1/admin
默认用户名密码 admin 123456
进入开发指南的Action接口


点该接口的测试按钮

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

这样一个简单的action接口就创建完成了.

除了以/action/开始的的请求, 还有以/page/开始的请求, 对应classes/page目录,

jsp页面不用写后缀,action也可以返回jsp页面 (现在已经过时了, 如果是需要使用后台数据的动态页面, 可以使用,)

除了jsp页面, 其他的内容都可以通过/page/开头访问.


访问路径: http://127.0.0.1/page/test.html

请求和action就讲这些了, 其他使用方式需要在以后的实例中说明, 如果有什么问题或者bug, 可以简信我.

相关文章

网友评论

      本文标题:02:[后台框架] 请求的处理和Action的使用

      本文链接:https://www.haomeiwen.com/subject/ptqilctx.html