jodd的madvoc是一个使用Coc和注解(annotations)的实用的mvc框架,主要用来简化web应用开发。它有着 使用简单,学习曲线小,容易扩展等特色,同时不用实用额外的xml配置,actions是一些简单的实体类(POJO),它兼容任何的视图渲染技术(jsp,freemaker,velocity,beetl,jetbrick-template)等。 html
一个简单的pojo action java
@MadvocAction public class HelloAction { @In String name; @Out String value; @Action public String world() { System.out.println("HelloAction.world " + name); value = "Hello World!"; return "ok"; } }
上面的action类定义了一个action方法 HelloAction#world() ,它映射到的URL路径是: /hello.world.html,响应的结果会分发到/hello.world.ok.jsp页面。action会接收requst传来的参数name,同时会准备value做为输出。 web
上面的action的例子中只是使用了默认的配置,可是,madvoc能够使用不少不少的方法来自由配置您的个性需求(下一篇文章会详细提到)。 mvc
MadvocController接收http请求而后去查找ActionConfig(action的配置)来 响应action对应的用户访问的url 路径。若是 action的路径已经被注册,MadvocController会实例化一个新的ActionRequest(一个action请求和方法代理的封装)。 框架
拦截器拦截正在发送的请求并返回给action,在一些状况下,拦截器能保持一个action的执行,同时也能改变在action执行以前改变action的状态。 jsp
action的一次执行和全部拦截器的完成后,action请求会发送结果到视图去渲染结果。 学习