Strusts2

Strusts2的原理很简单,首先,地址栏输入http://xxxx/xxxx/webapp/xx.action首先,请求会通过httpservlet发送给tomcat容器,tomcat发现这个请求是webapp的,然后去找服务器上部署的该webapp,再去看这个webapp中的web.xml文件(在web-inf目录下),web.xml中一般会配置有一个filter,是prepareAndExcuteStruts这个类,然后到src目录下找struts.xml文件,在struts.xml中配置有namespace="/",这个就是xx.jsp前面的/  有这个就会在这个配置文件中寻找名为xx的action。找到这个对应的result的jsp文件反馈给客户端。这样就达到了请求和视图分离的目的,想要改变某个请求对应的视图,直接修改配置文件中的内容就好了。

namesapce可以“/”则访问路径是/index

也可以不写,默认不写namespace=""这样表示接受所有的action

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

  <action name="login"  class="xx.xx.xx"  method="add">这里的class也可以不进行配置则此时使用的是默认的action  struts中的actionSupport类

    <result>success.jsp</result>

    <result name="default">default.jsp</result>"

  </action> 

</package>

如这个struts.xml的配置,当访问的时候就要写成http:localhost/8080:3306/xxwebapp/user/login.action

package主要是防止不同包中有相同的模块命名,这样会有冲突,所以使用package来进行区分。因为namespace不是/而是/user,所以在地址栏中需要加上一个/user/login

 

这个package下的name就是说我们想指定那个请求来执行处理该请求。class是指定的类,这个类可以是任何一个普通的类,只要里面有Public String excute(){ return "default"}这样的方法就ok了。不过一般情况下我们会继承ActionSupport或者是实现Action接口。

Action接口是Struts2导入jar包中包含的,在xwork...中的一个接口。因为ActionSupport中有很多已经封装好的方法,所以我们只用继承ActionSupport就可以了,里面有getText,validate验证等很多实用的方法。最后的method=add是说访问这个login.action会找这个类里面的add方法。并返回对应的执行结果。给到对应的string对应的视图这样就可以使用一个package来定义多个action处理不同的请求了。

转载于:https://www.cnblogs.com/liuyongbo/p/9006172.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值