上一章自己实现Struts2(一)Struts流程介绍和环境搭建我把Struts2框架执行流程简单地介绍了一下,顺便把环境搭建起来了,这一章我们就先来来完成读取配置文件这一块。
#准备配置文件
要想读取配置文件,得先有配置文件,我准备了一个struts.xml
文件,文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<struts>
<!-- 1.指定请求路径后缀 -->
<constant name="struts.action.extension" value="action" />
<!-- 2.参数拦截器 -->
<interceptor class="edu.jyu.interceptor.ParametersInterceptor" />
<!-- 3.定义一个action -->
<action name="Hello" class="edu.jyu.action.HelloAction" method="execute">
<result name="success">/index.jsp</result>
</action>
</struts>
现在我来介绍一下这个文件。首先大家注意到我并没有写一个dtd文件去约束这个xml,这里大家需要知道的是,我做的这个是精简版,阉割版,超级山寨版,所以……不要在意这么多,关注我们应该关注的。
-
首先来说一下Struts2的常量
struts.action.extension
,这个用过的都知道,这个常量用来指定Struts2处理的请求规定的后缀,如果不是以这个后缀结尾则不作处理。一般我们都会把这个值设为.action
或者.do
。 -
然后就是参数拦截器
ParametersInterceptor
,这个大家应该都不陌生了,用于把参数封装到action的属性中。 -
最后就是action了,这个action并没有在
package
中,简化简化哈,不过这样子我也能让它运行起来。
我就根据上面的配置文件来编写后面的功能,大家就不用期待什么国际化、Json插件什么的功能了哈。
#读取常量信息即constant标签
首先要先创建一个ConfigurationManager
类,这个类就是专门来读取配置文件struts.xml
。
读取constant标签代码如下
package edu.jyu.config;
import java.io.InputStream;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element