初识Struts2简单理解

在使用之前要知道Struts2框架带来的便利,他有什么好处。

之所以使用Struts2框架是因为它简化了编程,提高了开发效率。增加的程序的可读性和可维护性。

Struts框架是建立在Web容器之上的,用来快速构建灵活、稳定Web应用程序的一种框架。该框架由Apache基金会研发,是一种被广泛使用过的Web程序框架。

这是Struts2的内部结构。。

图上展现出的Struts结构可以看出,请求经过基础过滤器组件StrutsPrepareAndExecuteFilter组件和N多Interceptor拦截器组件对请求进行过滤和拦截,由Struts.xml配置文件确定是否有对应请求的Action与其相应,Interceptor拦截器组件多用于处理编码,请求参数在action中初始化。而action组件实现的是Http请求。

Struts框架提供了下列元素:
• 基础过滤器
• 基类
• 配置文件和注解类


下图是Struts对请求的处理的活动图:




表示三条线路:

1.请求对应的Action没有表单的提交,直接在Action中重写基类的execute(),将调度请求转发到指定页面。

2.请求对应的Action有表单的提交,这时会由Interceptor拦截器来进行对Action重的属性进行初始化,然后重写基类的validate方法来进行表单验证,若表单验证通过,则执行execute()来站发到指定页面。

3.请求对应的Action有表单的提交,这时会由Interceptor拦截器来进行对Action重的属性进行初始化,然后重写基类的validate方法来进行表单验证,找不到对应的action然后最后跳转到错误页面。


关于Struts的Action组件开发:

1. 导入Struts2框架依赖jar包。
2. 配置核心过滤器组件  ***Filter。
3. 编写****Action组件。

a.继承ActionSupport类
b.声明对应于表单页面的字段,并为字段提供相应的get/set方法
c.可选地,覆盖validate方法,在方法中提供表单字段验证逻辑
d.覆盖execute方法,在方法中提供控制逻辑
逻辑视图
INPUT
SUCCESS
4. 配置Struts.xml文件

<struts>
<package name="admin" namespace="/admin" extends="struts-default">
<action name="AddLeague" 
class="com.oracle.soccerleague.action.AddLeagueAction">
<result name="success">/admin/AddLeagueSucc.jsp</result>
<result name="input">/admin/AddLeague.jsp</result>
</action>
</package>
</struts>


Struts的Filter组件配置:

在web.xml部署描述符中进行如下配置:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
……
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Struts2缺省支持UTF-8字符集,可以直接支持中文的处理


1. Struts Action组件在MVC模式中充当什么角色?
Controller 控制器的角色

2. 编写Struts Action组件,需要继承哪个类?对表单的验证逻辑应写在哪个方法中?
需要继承ActionSupport类, 逻辑验证应写在validate

3. 描述execute()方法中通常所需编写的逻辑。其返回值的含义是什么?
此方法需要返回一个ActionForward对象

ActionSupport基类中定义了五个标准的返回值 ,当然我们可以自己随意定义返回的名字
1.ERROR表示动作出错了
2.SUCCESS表示动作执行成功
3.LOGIN表示需要先登录才能执行动作
4.INPUT表示需要先输入数据才能执行动作
5.NONE表示动作类执行成功

 






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值