Struts2手动开发教程:入门与实践示例

需积分: 0 1 下载量 15 浏览量 更新于2024-08-17 收藏 922KB PPT 举报
Struts2 是一个开源的MVC(Model-View-Controller)框架,由Craig R. McClanahan开发并捐赠给Apache Software Foundation(ASF)。相较于Struts1,Struts2在软件设计上采用了非侵入式架构,降低了与Servlet API和Struts API的紧密耦合,使得应用更易于维护和扩展。以下是Struts2手动编写的简单示例和主要特点: 1. **环境准备**: - 首先,需要将Struts2的相关jar包导入项目,这包括核心库和相关的插件,如struts2-core、struts2-convention-plugin等。 2. **配置**: - 在Web.xml文件中,配置Struts2的Filter,如 `<filter>`标签用于声明ActionServlet过滤器,以及 `<filter-mapping>`来映射到特定的URL模式。 3. **HTML页面**: - 例子中提到的index.jsp是一个简单的表单页面,用户输入用户名和手机号,表单通过`<form>`元素提交到`test/loginupdate`动作。Struts2通过Action来处理这些请求,如使用`<s:form>`标签可以简化表单构建。 4. **Action实现**: - 创建Action类,继承自`ActionSupport`或`Action`,重写`execute()`方法处理用户输入。Struts2的Action不再是Servlet的一部分,而是通过拦截器机制(如`ActionInterceptor`)执行业务逻辑。 5. **拦截器和AOP**: - Struts2引入了拦截器概念,允许在Action执行前后执行特定操作,如权限检查、事务管理等,实现了面向切面编程(AOP)。 6. **类型转换和表现层技术**: - Struts2内置类型转换器,自动将请求参数转换为所需类型,无需底层的BeanUtil。支持多种表现层技术,如JSP、FreeMarker和Velocity,提高了灵活性。 7. **输入校验**: - Struts2提供更强大的输入验证功能,允许针对特定方法进行校验,改进了Struts1的验证机制。 8. **国际化和资源文件**: - Struts2支持全局、包范围和Action范围的国际化资源文件,便于多语言应用。 9. **升级策略**: - 从Struts1.2升级到Struts2时,控制器的角色发生了变化,Struts1的ActionServlet被替换为一个过滤器,整体架构更加模块化。 Struts2通过非侵入式设计、拦截器、类型转换和丰富的表现层支持,提供了更灵活且易于维护的Web应用程序开发框架。学习者可以通过手动编写实例,逐步掌握Struts2的核心概念和实践技巧。