什么是struts2?

struts2是轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层。

轻量级:低侵入性,与业务代码的耦合度很低,业务代码中基本不需要import它的包。

MVC框架:struts2实现了MVC,并且提供了一系列API,采用模块化的方式简化业务开发过程。

M:模型层的职责是负责业务逻辑。包含两层:业务数据和业务处理逻辑。比如:实体类,Dao,service都属于模型层。

V:视图的职责是负责显示界面和用户交互(收集用户信息)。属于视图的组件是不包含业务逻辑和控制逻辑的jsp。

C:控制器是模型层和视图层之间的桥梁,用于控制流程。比如:在servlet项目中的单一控制器ActionServlet。


Struts和servlet对比:

优点:1.业务代码解耦,适合团队开发

将请求分发给不同的处理类,从而降低了业务代码的耦合度。

     2.提高开发效率

提供了一系列的API,可以大大的提升项目的开发效率。比如:使用拦截器自动给请求的参数转型。

缺点:1.执行效率偏低

需要使用反射,解析xml等技术,会降低执行效率。

     2.结构复杂,需要时间了解struts2的API。


struts2自身的优势:

1.健壮性

2.易用性

3.扩展性 struts2使用AOP的思想,使用拦截器来扩展业务控制器。

4.侵入性 struts2对业务代码依赖性很低。


struts.xml配置的解释:

package:包,用于对action进行封装

1.name:包名,根元素下可以有多个包,彼此之间不能重名。

2.extends:继承 用于指定继承的包,相当于将继承包下的配置信息复制到了当前包下。

3.namespace:命名空间 用于规定Action的访问路径,必须以/开头。

 <package name="default" namespace="/" extends="struts-default">

action:业务控制器,用于注册控制器组件(类)
1.name:action的名称,用于规定Action的访问路径
一个包下面可以有多个action,彼此之间不能重名
2.class:业务控制器组件,用于指定业务控制器对应的类

         3.method:方法,用于指定访问当前aciton时要调用的方法

 <action name="index" class="com.ctgu.IndexAction">

result:输出组件,用于转发,重定向,直接输出
1.name:名称 ,一个action下可以有多个result,彼此之间不能重名
2.默认做转发操作,标记内容设置成转发的页面

<result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>

ps:将自己理解的东西整理下来还是很不错呢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章