手写struts简单原理框架心得



一、

自己写一个baoge.xml

<action name="clubservicemanager_list"
class="com.uplooking.club.clubservice.action.clubServiceAction" method="list">
</action>

创建个map集合,起名是actionmapper,key是action的name,value是封装了class和method的

对象,为这个对象创建一个类ActionMapping,俩属性,String classname,String method,setter和 getter方法

写一个baogefilter过滤器,在init方法中初始化xml

二、

写个xml的解析方法,初始化调用这个方法,完成map的赋值

在dofilter方法中,获取请求路径截取子串为map的key值

String mapkey = req.getRequestURL().substring(req.getRequestURL().lastIndexOf("/") + 1);

三、

在baogefilter过滤器中,在dofilter方法中取值,利用Map的键值对

网络请求localhost/baoge/clubservicemanager_list的后段处理一下,变成一个键key值,

可以取出封装了class和method的对象,后来result的key值是方法method.invoke的返回值,即action中的方法的return

“list"的值。