- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
整理struts文档
1将struts库文件添加到项目中(添加到web-inf/lib)
2在web-inf下建立struts-config.xml配置文件
3在web.xml文件中配置servlet节点
servletservlet-nameyourname/...servlet-classorg.apatch.struts.action.ActionServlet/...
init-param
param-nameconfig/...
param-value/web-inf/struts-config.xml,/web-inf/struts-config2.xml/param-value
/init-param
load-on-startup0/...
/servlet
servlet-mappingservlet-nameyourname/...url-partten*.do/.../...
在配置actionservlet时配置文件的路径可以修改,可以是多个而路径匹配则要么由*.do结尾
要么是*.action或者/action/* 意义都大致相同
而在
Struts-config.xml中
struts-config
form-beans
form-bean name=yourformname type=yourpackage.yourform/
/form-bean
action-mapping
action name=youraction path=yourformname type=yourpackage.yourAction
forward name=yourforward value=/yourpath/
/action
/action-mapping
/struts-config
实现action类后必须实现其excute方法 有4个参数
手写
Public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)
{}//其中mapping封装了页面转发的配置信息,form 封装了数据 actionforward 转发到指定的物理路径去
1当客户端浏览器发起请求到actionservlet时,actionservlet首先对请求进行一系列的处理;
根据请求的路径和配置信息找到对应的actinbean和formbean;
2在确定要调用actionbean和对应的formbean后就将请求中包含的值填充到formbean中action可以不关联任何actionform所以这一步是可选,在调用action的excute方法前 actionservlet还需要准备好actionmapping参数他包含了action配置信息
3然后struts将请求分发至相应的actionbean处理 actionmapping 参数,actionform参数,request和response都作为参数传递给execute方法
4action调用业务逻辑方法,得到返回值,并返回actionforward对象
5控制权重新回到actionservlet,actionservlet根据action返回的对象转发到相应的页面
6处理结果返回给浏览器
值得注意的是
1actionservlet将控制权转到页面的时候采用的是转发
所以转发到页面的request和action参数中的request是同一个,数据可以同个request的setattributte方法传递
2actionform根据对应action的scope属性配置不同而生命周期有所不同,一般情况下scope为request,则每次请求开始时actionservlet创建新的actionform对象保存在request对象的attribute属性中,所以可以在action代码中设置actionform的值,在页面中取出
3当需要采用重定向方式转到新的页面的时候,可以在action中response.sendredirect()然后返回null,处理每次请求时首先创建actionform然后调用setter方法填充form,在执行action的execute方法,在execute方法中调用actionform的getter方法得到参数值
然后转发页面完成一次请求
Struts不允许直接在action中直接引用页面的物理名,通过这种方式,在编写action代码时,
师徒组建被抽象化、
使用perties文件来定义服务器国际化和错误处理
节点struts-config
message-resources parameter=
文档评论(0)