什么是struts2?

Struts2是一个轻量级的MVC框架,强调低侵入性和模块化开发。它通过控制器实现请求分发,降低了业务代码耦合度,提高了开发效率。框架提供了丰富的API和拦截器机制,但可能影响执行效率。其优势包括健壮性、易用性、扩展性和低侵入性。struts.xml配置中的package用于action封装,涉及包名、继承、命名空间和方法的定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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:将自己理解的东西整理下来还是很不错呢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值