(一)web.xml文件描述了系统的Controller对象。在web.xml中增加如下标记
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
</servlet>
说明:这个servlet对象就是Struts提供的Controller,还可以为它指定初始化参数,比如对系统应用属性的支持。
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servelt-mapping>
说明:实现客户请求的url信息和服务器端具体处理的映射关系。
<taglib>
<taglib-url>/WEB-INF/struts-bean.tld</taglib-url>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
说明:添加对Struts提供的应用所使用的自定义标记库的引用。
缺省版本的ActionServlet会从配置文件web.xml中读取如下初始化参数:
Application //应用使用的资源包(resources bundle)的基类
Factory //用于创建应用的MessageResources对象的MessageResourcesFactory的类名。确省是org.apache.struts.util.PropertyMessageResourcesFactory。
Config //Struts的配置文件,确省是/WEB-INF/struts-config.xml。
Content //定义了确省的内容类型和编码格式,它会被自动地被设置到每个response中,如果JSP/Servlet中没有明确的设置。确省是text/html。
Debug 调试信息的级别。默认为0,比当前级别高的调试信息会被log到日志文件中。
formBean ActionFormBean的实现类,确省为org.apache.struts.action.ActionFormBean
Forward 应用中使用的ActionForward类,确省是org.apache.struts.action.ActionForward。
Locale 指定了确省使用的Locale对象。设为true,当得到一个session时,会自动在session中存储一个以Action.LOCALE_KEY标示的Locale对象,如果session中还没有与Action.LOCALE_KEY绑定的Locale对象。
Mapping 应用中使用的ActionMapping类,确省是org.apache.struts.action.ActionMapping。
Validating 在解析配置XML文件是是否进行有效性的验证。确省为true
(二)struts-config.xml文件的配置,包括全局转发、ActionMapping类、Actionform bean 和JDBC数据源四个部分。struts-config.xml是用于建立Controller和Model之间的关系的。
(1)配置全局转发
<global-forwards>
<forward name="bookCreated" path="/BookView.jsp"/>
</global-forwards>
<form-beans>
<form-bean name="loginForm" type="loginForm" />
</form-beans>
说明:<form-bean>标记描述一个具体的ActionForm子类对象,通过它和JSP页面中的自定标记的结合使用可以实现ActionForm和View之间的数据映射。
(2)
<action-mappings>
<action
path="/login"
type="loginAction"
name="loginForm"
input="/login.jsp" ??? />
</action-mappings>
说明:<action-mappings>标记描述了请求和处理的一对一映射关系。input和path属性唯一的标记了客户端的一个请求,name属性描述封装客户端的数据的ActionForm子类对象。Type属性描述处理这个请求的Action子类对象。
通过对两个配置文件的配置,把Struts框架中MVC的各个部分联系起来,实现一个真正的MVC系统。