|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。j2ee|条记其实是一帆风顺,折腾了两个早晨才弄定了一个HelloWorldStruts版,上面谈谈一点体味。
开辟情况Eclipse+MyEclipse(Struts1.1)
Struts1.1撑持多模块开辟,在myEclipse的WebApplicationProject里先创建新module(New->Struts1.1Module),
再顺次加FormActionActionForward(New->Struts1.1Action,Form&JSP).偶然myEclipse会找不到本人方才加的Form,手动增加便可,没甚么年夜不了的。myEclipse的web.xml模板不切合尺度,必要手动变动。TLD文件仿佛也不太对,能够用本人已经做过项目标TLD取代。
上面是两个折腾我好久的成绩。
1)假如在我们security模块里有
<action
path="/UserSecurityCheck"
type="com.scs.presentation.security.UserSecurityCheckAction"
name="UserLoginForm"scope="request"
input="/init.do">
<forwardname="loginSucceed"path="/mainmenu.jsp"/>
</action>
这个例子中,注重mainmenu.jsp后面有个/,ActionServlet会在以后module里寻觅这个jsp,也就是说mainmenu.jsp必要放在/%webroot%/security/的目次上面,而不是间接在/%webroot%/下
2)struts的form标志界说了一个页面的表单,但该struts标志必要依据action的值来查找moduleconfig里的actionmapping,并依据actionmapping的值来初始化actionform。因而,在form标志中必要猎取一个moduleconfig。在这里,猎取哪个moduleconfig成了form标志可否一般事情的关头,假如moduleconfig的猎取值不准确,将会形成Cannotretrievemappingfor{actionname}的毛病。查找办法为起首从request中猎取以后的moduleconfig,假如没有找到,就从servletcontext中猎取默许的moduleconfig。
如今strutsframework的完成是如许的,只要ActionServlet准确地将moduleconfig对象赋值给request的属性Globals.MODULE_KEY后,厥后的含formtag的属于该模块的jsp页面才干被strutsframework准确与对应此moduleconfig挂钩。倘使编程职员/用户试图对某个模块收回的第一个哀求是jsp而不是action,actionServlet就没无机会做上述的筹办事情(由于webcontainer会间接处置jsp哀求,不会转发给actionServlet),那末接上去处置jsp中的formtag时,strutsframework就会试图从defaultmoduleconfig中寻觅该actionMapping(由于request里的modulespecficconfig仍然为空,以是只好从default里找了),一样平常上这类寻觅是没有了局的,最初framework就会前往CannotretrievemappingforThisAction的毛病。
结论是,接进每一个module的第一个页面必需是由action哀求(而不是jsp哀求),以给actionServlet一个时机装载对应的moduleconfig并cache.
十分感激上面两篇文章,它们匡助我办理了这个奇异的成绩,也直接招致了这篇文章的出生。
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发 |
|