1.手写springMVC框架
本篇我们通过两种方式来加载控制器,一种是配置文件的方式;另外一种是通过注解的形式。
1.配置文件方式
1.自定义Controller配置文件XML
我定义的格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<package name="wangzg">
<constants>
<viewSuffix>.html</viewSuffix>
</constants>
<action name="index" method="index" class="controller.UserController" type="text/html" page="index" />
<action name="login" method="login" class="controller.UserController" type="text/html" page="login" />
</package>
用过Struts2的伙伴应该一眼可以看出来,很容易理解。如果没用过也没关系,我简单解释一下:
package: 定义包名称,不同块的控制器通过此属性区分。
constants: 定义一些常量。
viewSuffix:定义返回视图的文件结尾。
action:定义一个控制器。
name: 控制器对应的名称。
method: 控制器对应class的方法名。
class: 控制器class的名称。
type: 返回视图的类型。
page: 返回视图的前端页面名称。
2.解析xml文件
定义常量:
private final static String CONFIG_PATH = "/config/webConfig.xml";//配置文件存放的路径
private final static String CONSTANT_LABEL = "constants";
private final static String ACTION_LABEL = "action";
private final static String ACTION_PROP_NAME = "name";
private final static String ACTION_PROP_METHOD = "method";
private final static String ACTION_PROP_CLASS = "class";
private final static String ACTION_PROP_TYPE = "type";
private final static String ACTION_PROP_PAGE = "page";
使用dom4j解析xml文件,代码如下:
// 创建SAXReader的对象reader
SAXReader reader = n