### Struts1与Struts2配置文件的区别 #### Struts框架简介 Struts是一个开源的MVC(Model-View-Controller)框架,用于简化Java Web应用程序的开发过程。它为开发者提供了一种结构化的方式来组织代码,使得业务逻辑、用户界面和数据层之间能够更加清晰地分离。Struts有两个主要版本:Struts1和Struts2,两者在设计理念和技术实现上都有所不同。 #### Struts1配置文件详解 Struts1使用`struts-config.xml`作为其核心配置文件。该文件遵循特定的DTD(Document Type Definition),定义了应用的行为和结构。下面是一个典型的`struts-config.xml`示例: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <form-beans> <form-bean name="loginActionForm" type="com.lanp.webapp.form.LoginActionForm"> </form-bean> </form-beans> <action-mappings> <action path="/login" type="com.lanp.webapp.action.LoginAction" name="loginActionForm" scope="request"> <forward name="success" path="/jsp/loginSuccess.jsp"/> <forward name="error" path="/jsp/loginError.jsp"/> </action> </action-mappings> </struts-config> ``` - **DTD声明**:指定了Struts1配置文件遵循的DTD版本。 - **Form Beans**:用于定义表单对应的JavaBean对象,这些对象通常包含表单提交的数据。 - **Action Mappings**:定义了URL到具体的Action类之间的映射关系。每个Action可以指定不同的处理结果,如成功或错误页面。 - **Forward**:定义了Action执行后的转向路径。 #### Struts2配置文件详解 Struts2使用`struts.xml`作为其核心配置文件。与Struts1相比,Struts2采用了更现代的设计理念,并且更加灵活。下面是Struts2配置文件的一个例子: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.custom.i18n.resources" value="mess"/> <!-- 指定国际化编码所使用的字符集 --> <constant name="struts.i18n.encoding" value="GBK"/> <package name="test" extends="struts-default"> <action name="login" class="com.jb.action.LoginAction" method="login"> <result name="success">/user/success.jsp</result> <result name="error">/error.jsp</result> </action> </package> </struts> ``` - **DTD声明**:同样指定了Struts2配置文件遵循的DTD版本。 - **Constants**:允许配置全局常量,例如国际化资源文件的位置、默认编码等。 - **Package**:类似于Struts1中的模块,但更加灵活。一个包可以包含多个Action。 - **Action**:定义了一个具体的Action类及其方法,并指定了不同处理结果的转向路径。 - **Result**:类似于Struts1中的Forward,用于指定Action执行后的转向路径。 #### 总结 通过对比Struts1和Struts2的配置文件,我们可以发现以下几个关键区别: - **配置文件名称**:Struts1使用`struts-config.xml`,而Struts2使用`struts.xml`。 - **DTD版本**:两者遵循的DTD版本不同,Struts2采用了更现代的标准。 - **结构差异**:Struts2引入了Package的概念,这使得配置更加模块化和灵活。 - **配置项变化**:Struts2增加了对常量的支持,可以方便地进行全局配置。 尽管两者都属于Struts框架,但由于设计思想的不同,Struts1和Struts2在实际应用中有着显著的区别。开发者需要根据项目的具体需求选择合适的技术栈。
- 粉丝: 8
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助