- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
struts2配置入门详解
为什么要用Struts2框架?
如果使用servlet实现控制层,需要负责以下内容:
从请求中获得参数;
request.getParameter(String name)
对参数进行校验
非空,类型,格式,长度,自定义业务逻辑…
调用Model层接口(1次或N次调用)
如果有返回值,根据返回值进行判断,调用和返回合适的页面.
Servlet的不足:
当参数较多时,获取参数和封装对象的过程较繁琐;
当需要严格校验时,代码量很多;
分支较多时,代码量很多;
Struts2的优势;
根据参数类型,自动封装;
使用代码进行校验,代码量无明显改进;
使用xml配置进行校验,可以减少代码量;
使用xml配置文件,进行解耦合,无需代码;
一句话描述:
是一个免费开源的MVC框架(web层框架);
压缩包内容:
struts2项目骨架,初学者以此为基础进行配置和学习:
struts-2.3.8\apps\struts2-blank.war
打包好的java project ( jar包
打包好的java web project ( war包
开发者文档:
struts-2.3.8\docs\WW\guides.html
Struts2最小配置jar包:
struts-2.3.8\apps\struts2-blank\WEB-INF\lib
源码:
struts-2.3.8-all\struts-2.3.8\src
作用:1)可以在页面上使用 debug 调试功能,查看数据细节;
2)改变主配置文件struts.xml,无需重启tomcat;
package标签:
作用:1) 对包中action内容进行分类管理;
2)对同名的action内容可以并存;
3)对相同配置可在父包中进行声明,子包继承使用即可;
Name属性:用于对包进行命名,必须唯一且有意义;
在实际项目中,一般以实体类名首字母小写为参照;
Namespace属性:用于定义通过什么路径来访问该包中的action内容;
/ 表示的是WebRoot(项目根目录)
如:/user/add
/user/delete
/user/update
/user/query
Extends属性: 对相同配置可在父包中进行声明,子包继承使用即可
Package下可以配置多个action
Action下可以配置多个result
action标签: 定义一个action请求
Name属性:给action命名,在当前包中必须唯一且有意义;
Class属性:定义这个action由哪个类进行处理;
Methos属性:定义调用类的哪个方法处理;
result标签:定义一个返回结果,供action调用;
Name属性:名称
Helloworld示例:
web.xml
strtus.xml
HelloAction
Struts2框架中的参数双向传递
视图层 ( 控制层(提交数据)
视图层 ( 控制层(将数据显示在页面)
提交参数流程:
确定参数数量,类型,名称;
在action类中,声明参数;
自动生成getter setter方法
在页面显示数据:
确定显示的数据:数量,类型,名称
在action类中,声明参数;
自动生成getter setter方法
在jsp页面中导入struts2 的标签库
使用s:property value=””/显示数据
value属性写action类的成员变量名.
原则:
不管使用什么品牌的web层框架,一般都使用该框架提供的页面标签库
result标签的type属性:
备注:
1)action类的空参构造,每次action请求都会调用;
2)action类不区分请求的类型(GET/POST);
文档评论(0)