Struts2 框架详解:请求驱动的MVC模式

需积分: 0 0 下载量 171 浏览量 更新于2024-09-21 收藏 246KB DOC 举报
"struts笔记.doc" Struts是一个流行的Java EE框架,它遵循Model-View-Controller(MVC)设计模式,用于构建可维护性和可扩展性高的Web应用程序。Struts 2是Struts 1.x的升级版,它结合了WebWork框架的优势,提供了面向请求驱动的处理方式。面向请求驱动的框架如Struts2.x和WebWork,主要处理HTTP请求并将其映射到相应的业务逻辑。 在MVC模式中,模型(Model)负责管理应用程序的数据和业务逻辑,视图(View)负责数据的展示,而控制器(Controller)则协调用户输入和模型之间的交互。这种分离使得代码更易于维护和扩展。 在Struts框架中,当用户通过浏览器发送一个请求时,该请求会被Web服务器接收并传递给Struts的前端控制器。在Struts2中,这个角色由`FilterDispatcher`或`StrutsPrepareAndExecuteFilter`扮演。前端控制器解析请求,根据配置文件(如struts.xml)中的映射规则,将请求转发给相应的Action。 例如,`index.jsp`中的表单提交了一个POST请求到`queryUser.do`。在`web.xml`中,`.do`后缀被映射到`TestServlet`,这实际上是一个实现了Struts2 Action接口的类。Action类是业务逻辑的入口,它处理请求、调用Service层的方法(如`UserManager`类)进行数据操作,并通过返回值决定下一步的视图。 Action接口定义了执行业务逻辑的方法,通常会返回一个表示结果的字符串,这个字符串与视图或另一个Action的映射相关联。例如,如果`findUserByName`方法成功执行,Action可能会返回一个"success"的结果,这将导致框架渲染对应的视图(如JSP页面)来显示查询结果。 Struts2还提供了丰富的拦截器(Interceptor),这些拦截器可以插入到Action调用链中,执行预处理或后处理任务,比如日志记录、权限检查、数据验证等。拦截器使得业务逻辑更加清晰,同时减少了Action类的复杂性。 此外,Struts2支持OGNL(Object-Graph Navigation Language)作为默认表达式语言,用于在Action和视图之间传递数据。例如,Action中的属性可以直接在JSP页面中通过OGNL表达式访问。 Struts2作为一个面向请求驱动的MVC框架,它通过提供结构化的开发方式、强大的Action和拦截器机制以及灵活的数据绑定,简化了Web应用程序的开发过程,提高了代码的可维护性。开发者可以通过配置文件和注解定制应用程序的行为,满足各种复杂的业务需求。
2011-11-11 上传