深入理解JFinal框架之自己动手写一个^_^

1.首先要知道什么叫RESTful:

如果要我用一句话来说就是:每个逻辑业务的子操作,都由该业务的一个类的不同方法来负责处理。
假设我们用UserController这个类来对应用户管理这个业务,它有:增,删,查,改。那么对应的RESTful风格(注意,它只是一个风格而已)就是:

/user --> 调用默认的方法:(这个你自己可以决定,例如auto方法)
    那么它就相当于调用了/user/auto
/user/add -->增加用户子操作:调用UserController类中的add方法
/user/delete -->删除用户子操作:调用UserController类中的delete方法
/user/find --> 查找用户子操作:调用UserController类中的find 方法
其他类似。
这样子有什么好处呢:这样子可以把同属该业务的子操作集中在同一个负责该业务的Controller中。

2.什么了什么是RESTful后,我们就开始动手做一个自己的MVC框架吧。这里我们利用Servlet3.0的的特性来做,(连web.xml都省了,好像现在的人都不怎么喜欢xml配置,即所谓的:约定优先于配置吧_

说说一下思路先吧:

框架的加载过程:

(1)注册一个Filter,即过滤器,将要过滤的请求转交基于我们自己动手的框架中。比如:/*,这样子就将所有的请求都转交给我们的框架了。^_^

(2)这个过滤器负责初始化我们的框架,它就好比C语言里的main()函数,即它是我们自己写出东西的入口。而容器好比是操作系统,它负责将我们的main函数加载到内存然后跳转main函数的入口地址。

(3)当然了,我们还要添加一下初始化的东西给这个Filter,由它来初始它我们自己设置的配置文件,比如:路由的配置、初始化数据连接池、一些框架自己的默认信息等。

(4)我们的核心Filter初始化完所需要的文件后,就开始判断请求URI。然后查找路由信息,看看有没有这个路由映射配置,如果有,则跳到(5),如果没有,则返回404。

(5)如果找到相对应的请求路径,则利用反射,将注册到路由的相应的Controller,new一个出来,然后,根据路由来判断应该调用该类的哪个方法。

(6)然后将业务逻辑处理交给这个方法来做。

3.这样子一个微小的MVC内核就大功告成了。

4.最后,当然是上图了,哈哈:

![在此输入图片描述][1]

你可能感兴趣的:(深入理解JFinal框架之自己动手写一个^_^)