Struts2项目的运行流程 配置文件 包配置 命名空间

Struts 2项目的运行流程

1.用户通过jsp页面向服务器提交数据(如用户名、密码等);

2.Web应用读取web.xml文件,自动加载Struts 2的核心过滤器StrutsPrepareAndExecuteFilter,拦截用户请求;

3.根据用户提交表单中action的值,在struts.xml配置文件中查找相应的action配置(表单中的action与struts.xml中action元素中name的值比较),然后将已拦截的请求转发给对应的Action类来处理(struts.xml中每个action元素有指定的class);

4.如果不在action元素中指定method,系统默认调用execute()方法来处理客户端请求,返回相应结果(字符串,如SUCCESS或INPUT等);

5.根据结果,在struts.xml配置文件中,找对应action元素的result,根据返回值确定下一步跳转。


Struts 2中常用配置文件

1.web.xml——对整个应用程序进行配置,在Struts 2框架中要配置核心控制器StrutsPrepareAndExecuteFilter,用于初始化Struts 2框架以及处理所有请求;

2.struts.properties——属性定义文件,由键值对构成;

3.struts.xml

 (1)管理元素:包含Bean配置、常量配置、包配置、命名空间配置、包含配置;

 (2)用户请求处理元素:包含拦截器配置、Action配置、Result配置;

 (3)错误处理元素:包含异常配置。


包配置——对一个包中的所有Action和拦截器统一管理。


命名空间——解决重名问题(Action可能有多个,会重名)。为包指定命名空间后,此包下的所有Action处理的URL为“命名空间/actionName.action”。Struts 2框架按照以下顺序来执行Action:

(1)查找指定命名空间下的Action,如果找到则执行;

(2)找不到再到默认命名空间中找指定的Action,找到则执行;

(3)都找不到,报错。

当指定namespace="/"时,表示命名空间为根命名空间,与普通的命名空间一样,该命名空间的包下的Action只能处理“项目名/actionName.action”(即符合“命名空间/actionName.action”),与默认命名空间的区别是,根命名空间不能处理如下的url请求:

http://localhost:8080/项目名/xxx/actionName.action

而默认命名空间不仅能处理http://localhost:8080/项目名/actionName.action,也能处理上述的url请求。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值