Struts2教程:User类与核心组件解析

需积分: 35 10 下载量 40 浏览量 更新于2024-07-13 收藏 2.34MB PPT 举报
"这篇教学资料主要讲解了如何在Struts2框架下编写User类,并回顾了Struts1.0的基本原理和配置,同时也指出了Struts1.0的一些局限性。" 在Struts2框架中,编写User类是创建业务实体对象的一个步骤,通常User类会包含用户相关的属性如用户名、密码、邮箱等,并提供相应的getter和setter方法。这样的类有助于将数据模型与表现层分离,使得代码更易于维护和扩展。 Struts2是基于MVC(Model-View-Controller)设计模式的Web应用框架,它旨在简化Java Web应用的开发。相比于Struts1.0,Struts2提供了更多的灵活性和可扩展性。在Struts2中,不再需要ActionForm类,而是直接使用Action类来接收和处理请求,同时User类可以作为模型对象直接与Action交互。 在Struts1.0中,工作流程如下: 1. 用户通过页面提交表单数据,这些数据会被封装到ActionForm对象中。 2. Struts的ActionServlet根据请求路径在Struts-config.xml配置文件中查找匹配的Action配置。 3. 找到对应的Action后,Action执行业务逻辑,处理ActionForm中的数据。 4. Action调用完成后,通过ActionMapping找到对应的视图JSP页面,并使用转发机制呈现结果。 配置文件方面,Struts1.0的配置文件struts-config.xml中需要定义FormBean(在Struts2中由Action类替代)和Action,以及它们之间的映射关系。例如: ```xml <form-beans> <form-bean name="addForm" type="web.form.AddForm"/> </form-beans> <action-mappings> <action name="addForm" path="/add" scope="request" type="web.action.AddAction"> <forward name="input" path="/add.jsp"/> <forward name="result" path="/add_result.jsp"/> </action> </action-mappings> ``` 然而,Struts1.0存在一些缺点,如: 1. 支持的表现层技术较为单一,仅支持JSP,不适应FreeMarker、Velocity等模板技术的发展。 2. 与Servlet API耦合度高,这使得测试变得更加困难,因为Struts1的Action类往往包含大量Servlet API调用,而Servlet API本身高度依赖Web服务器,尤其是HttpServletRequest和HttpServletResponse对象。 Struts2则针对这些问题进行了改进,提供更强大的拦截器(Interceptor)机制,支持多种视图技术,并降低了与Servlet API的耦合度,使得测试和扩展更为便捷。在Struts2中,编写User类可以直接作为模型对象,而Action类则负责处理请求和调用业务逻辑,两者之间通过注解或者XML配置进行关联。