- Struts2简介:Strut2是java web开发中的经典MVC框架。理论上讲Strut2可以单独使用,就可以实现MVC的框架,但是在一般应用中一般和Spring和Hibernate一起使用,组成更完善的MVC框架。用Hibernate取代Structs中的JavaBean和EJB实现的M部分,而Spring是一个轻量级的IoC(控制反转)和AOP(面向切面)的容器框架,可以使Struts和Hibernate更好的工作。
Struts2的MVC模式:Structs2的运行原理可以用下面的图来表示。
如图中所示:
- 视图层对应视图的组件,通常是指JSP文件,不过也适用于Velocity、FreeMaker等其他视图。
- 模型层对应的是业务逻辑组件,实现业务逻辑以及和底层数据库的交互。(JavaBean和EJB规范)。
- 控制层对应着Structs2的系统核心控制器和业务逻辑控制器。系统核心控制器,struts2.0.x到2.1.2版本是FilterDispatcher,而自2.1.3开始StructsPrepareAndExecuteFilter取代了FilterDispatcher,它是过滤作用的类,根据请求自动调用对应的Action。业务控制器是开发者自定义的一系列Action,负责调用相应的业务逻辑组件。
- Struts2工作过程。一个请求在Struts中处理过程分为一下几个步骤:
- 浏览器发送对action的请求,如:login.action
- 核心控制器StructsPrepareAndExecuteFilter根据请求调用相应的Action。
- Struts的一系列拦截器,自动对请求进行相关的逻辑控制,比如数据校验、数据封装和文件上传等功能。
- 回调Action的excute方法(Action的默认方法),根据请求参数调用相应的业务逻辑组件来完成操作。
- excute方法返回一个字符串,经过拦截器的处理后,有StructsPrepareAndExecuteFilter返回给试图,呈现给用户。
- Struts压缩包文件说明,下载的Struts.zip文件解压后有如下文件夹:
- apps:Struts实例程序,各势力为WAR文件,可以直接部署。
- docs:Struts文档。包括API、Tag等
- lib:Struts核心类库和第三方插件
- src:Struts的源码
环境部署,只需要将lib文件夹中的相应的jar文件复制到Web应用程序的WEB-INF/lib路径即可。并不需要全部复制,可根据需要选取。
- Struts配置文件(web.xml、struts.xml、struts.properties、struts-plugin.xml、struts_default.xml五种)
- web.xml:java web的核心文件,在这里主要需要配置Struts2的核心控制器StructsPrepareAndExecuteFilter。
- struts.xml:定义应用使用的action映射和result。
Struts2学习基础
最新推荐文章于 2024-04-05 20:41:44 发布