Struts2框架配置详解与优缺点分析

需积分: 9 2 下载量 7 浏览量 更新于2024-08-18 收藏 1.36MB PPT 举报
本文档主要介绍了Struts2框架中的一些常用常量配置,以及Struts2框架的基本概念、优点和从Struts1升级到Struts2的考虑。 在Struts2框架中,常量配置是调整框架行为的关键部分。以下是几个重要的常量介绍: 1. `struts.i18n.encoding`:此常量用于指定默认的字符编码集,通常设置为"UTF-8",确保在处理请求和模板输出时正确解析和编码字符。 2. `struts.action.extension`:定义了Struts2处理的请求后缀,默认是"action"。通过更改此值,你可以指定其他后缀,比如"do",使得Struts2可以处理特定格式的请求。 3. `struts.serve.static.browserCache`:控制浏览器是否缓存静态内容。在开发阶段,通常将其设为"false"以避免出现旧内容。 4. `struts.configuration.xml.reload`:当此常量设为"true"时,Struts2会在运行时自动重新加载配置文件,方便开发过程中的快速调试。 5. `struts.devMode`:设置开发模式,开启后会显示更详细的错误信息,便于调试。 6. `struts.ui.theme`:定义默认的视图主题,例如"simple",影响Struts2生成的页面样式。 7. `struts.objectFactory`:当设置为"spring"时,表示Struts2将与Spring框架集成,由Spring负责Action对象的创建。 8. `struts.enable.DynamicMethodInvocation`:允许或禁止动态方法调用。设为"false"则关闭此特性,提高安全性。 9. `struts.multipart.maxSize`:设定上传文件的最大大小,超过这个限制的文件将无法上传。 Struts2框架是一个流行的MVC(Model-View-Controller)应用框架,它为Web开发提供了一系列解决策略,包括页面导航、输入验证、布局统一、可扩展性、国际化、Ajax支持以及防止表单重复提交等。相比Struts1,Struts2有以下显著优势: 1. **无侵入式设计**:Struts2的应用程序可以独立于Servlet API和Struts2自身的API,降低了耦合度。 2. **拦截器**:Struts2引入拦截器机制,实现了面向切面编程(AOP),如权限控制、日志记录等。 3. **类型转换**:内置类型转换器简化了参数类型转换,无需深入框架底层。 4. **多种表现层技术**:Struts2支持JSP、FreeMarker、Velocity等多种视图技术,提高了灵活性。 5. **输入验证**:Struts2提供了方法级别的验证,改进了Struts1中仅能针对整个Action进行验证的局限。 6. **国际化**:提供了多级别的国际化资源文件管理,包括全局、包和Action范围。 从Struts1迁移到Struts2,需要注意Struts2实际上基于WebWork,因此在升级过程中需考虑兼容性和重构工作。尽管名称相似,但两者在设计和实现上有很大差异,Struts2在很多方面提供了更强大和灵活的功能。