网站大量收购闲置独家精品文档,联系QQ:2885784924

struts学习心得.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
struts学习心得

一. 配置问题: 必威体育精装版的struts2为GA版2.2.1 其中必须类库为1.commons-fileupload-1.2.1.jar 2. commons-io-1.3.2.jar 3. freemarker-2.3.16.jar 4. javassist-3.7.ga.jar 5. ognl-3.0.jar 6. struts2-core-2.2.1.jar 7. xwork-core-2.2.1.jar 之前的版本使用ognl时不需要javassist这个类库 现在这个版本则需要。。 二. EL表达式(JSP EL) 目的是为了使JSP写起来更加简单。 A、语法结构 ${expression} B、[ ]与.运算符 EL 提供“.“和“[ ]“两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“。例如: ${user.My-Name}应当改为${user[My-Name] } 如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如: ${sessionScope.user[data]}中data 是一个变量 C、变量 EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。 因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。 假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。 属性范围在EL中的名称 Page PageScope Request RequestScope Session SessionScope Application ApplicationScope D、特别强调: 1、注意当表达式根据名称引用这些对象之一时,返回的是相应的对象而不是相应的属性。例如:即使现有的 pageContext 属性包含某些其他值,${pageContext} 也返回 PageContext 对象。 2、 注意 %@ page isELIgnored=true % 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言。 3、在web中用EL表达式时 ${name}其意思是调用其getName方法,而不是name这个属性 例如: public class HelloWordAction{ private String msg; public String getMessage{ return msg; } } 在jsp中使用${message} 就是返回msg的值。经实验证明了的 三. Struts2是在webwork2的基础上发展而来的。和struts1一样也是mvc框架。但是虽然他们名字一样但是原理差异很大。Struts2之所以会产生是因为有以下几个优点: 在软件设计方面struts2没有像struts1那样和servlet API和struts API那样紧密的耦合。Struts2可以不依赖它们。Struts2属于无侵入式设计。而struts1属于侵入式设计。 Public class HelloWordAction extends Action{ Public ActionForward execute(ActionMapping mapping ActionForm form HttpRequest request HttpResponse response)throws Exception{ 。。。。 } } 而struts2则不需要,只需自己定义就好。 2.Struts2不需要注意线程同步的问题,而struts1则面临这个问题,因为struts1对action创建的时候只创建一次,当多个用户同时访问这个action时,则必须出现这个同步的问题。 而对struts2来说,需要action时都要重新new出一个对象。 四. Namespace决定了action的访问路径,默认为“”,可以接受所有路径的action。Namespace后面可以加/也可以加/xx或者/xx/yy,则action的访问的路径就相对于/index.action,/xx/index.action或者/xx/yy/index.action Package顾名思

文档评论(0)

mhk8089 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档