Struts-初级篇-Struts的运行机制浅谈

注:本文参考马士兵Struts 视屏教程编写

一、Struts 的运行机制

1.当用户在地址栏中输入了URL地址时,URL的请求会通过Http协议发送给服务器。 服务器收到请求后,查找请求的是什么Web-Application,并找到相应的Web-Application,然后交给此Web-Application去处理

2.找到对应的Web-Application》》去执行web.xml文件,查看怎么配置的,在web.xml文件中  配置了一个filter,如下图:

其中<url-pattern>/*</url-pattern>会过滤所有的URL地址,然后此地址就会被图中选中的类接收到。即org.appache.struts2.dispatcher.ng.filter.StrutsPrepateAndExecuteFilter类接收。此类是怎样处理的呢?

a.首先看NameSpace,其中NameSpace是和访问路径一一对应的,它会到struts.xml中去查,查到有一个NameSpace叫"/",然后就会在此NameSpace下去查

b.查到相应的Action的名字,如果找到了它就回去找对应的result是谁?找到了哪个/XXX.jsp然后就会把结果反馈给浏览器



为什么Struts要这么去执行?不是可以直接调用/Hello.jsp?

答:可扩展性强,灵活,请求示图分开,即把请求跟最后的结果分开


二、Action中的namespace

Struts中的Package  跟Java的包是一样的作用 :  避免重名

1.namespace 必须以"/"开头   命名一般在项目开发时,跟模块名字相同 。namespace决定了action的访问路径,默认为"",可以接收所有路径的action

2.result中  凡是叫success的可以不用写,是默认的

三、在拷贝项目时 

多个项目打开时,想运行相应的项目,应右键项目,选择【Properties】》》【MyEclipse】》》【Web】》》【Web-contextroot】然后再重新部署

导入时不存在此问题,但是导入时存在的问题是:

导入包的名字不正确 ,需右键包名删除,重新导入;或者右键项目重新【Build Path】》》【Configure Build Path 】》》【Libraries】》》【Add Library】》》【JRE System Library】》》【OK】



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值