过间过得真快,想起培训只有短短的三个月的时间,要吸引如此多的知识,所以除了努力就还是只努力了。Struts三天培训就此落下帷幕,冯威老师的幽默、豪爽、负责任给我留下了深刻的印象。
今天一天没有出寝室门,虽然放假也没有选择休息,因为时间紧迫,学习的时间有限,时间就是金钱,现在的我已经输不起。任何一个从中途选择培训的人都输不起,只不过我比一般的人都不能输。
今天的任务是把张老师的struts培训视频看完,因为前几天在冯威老师的课堂上,以前有点落下的知识点又得到了复习,但是我更希望,通过今天的复习让自己更牢固的掌握和吸引老师传授的知识点!因为知识有多,又广,只有充分吸引就会在JAVA这个行业才能苯鸟先飞!
之前的MVC与STRUST对比:
传统MVC模式回顾:
传统MVC的jsp + servlet + javabean
1每一个请求交给一个servlet调用JAVABEAN进行处理
2所有的servlet在一个web.xml 的配置文件中进行配置
struts:
1.所有请求交给一个Servlet,ActionServlet,再由ActionServlet调用相应的自定义action来进行处理.
2.web.xml 和struts-config.xml(可配置多个,web.xml ActionServlet 增加init-param)二个及多个配置文件。
在今天的复习过程中,又了解许多之前所不熟悉的知识点如下:
1.struts可以有多个配置文件。
2.Struts通常采用*.do进行映射,但这并不是固定的格式 ,也可以采用比如:*.htm进行映射。但从张老师身上了解到,改变这种只是其中的一点,真正的技术在于,如何做到,只改变web.xml的映射而其它的配置文件,jsp文件都不用更改的精妙之处。
3.Struts可以在配置文件中采用通配符。
以前三点也同时是解决配置文件膨胀的有效方法。
同进解决了的以前遗留问题:
1.在action的配置文件中,path为什么不能用.do
答:1.如果在web.xml文件中配置的映射为:***.do 修改其它格式:如:***.htm时,就能通用。
2.如何防止配置文件的膨胀?
答:上文已经回答
3.struts 有何好处?
1.每一个请求参数可封装成一个Formbean.(struts自动封装,BeansUtil.copyProperties),同时ActionForm 可以进行表单validate(验证).ActionErrors封装错误,如果为null,或许没有内容,则难成功。否则,就是验证出错,返回 input配置的属性.同时,是否采用校验机制也是可以配置的!
2.表单封装完成,或者采用不校验的机制时,将请求交给Action的execute方法处理,我们可以采用继承Action来实现需求要的Action.而其中的执行成功,失败时,返回的视图都可以进行配置。
在这儿我学习到的不仅仅是一个个知识点,正如张老师所说的,知识点教得在多,最终也会忘记,但是如果学会了学习的方法,即便你记不住你也能很快的找到解决的相应方法。
以前我在公司项目中开发程序时,还是处于面象过程的编程思想,想到那儿做到那儿,也引证了一个程序说的老话:一个程序如果说说他工作了几年,并不能说只具备了几年的工作经验,而真正的工作经验应该是不断的学习,在项目过程中不断的成长。打个比方:如果你用jsp+servlet写了五年的程序,这能不能算具备有五年的工作经验呢?
所以做什么事情一定要具体如下知识点:
1.我要做什么?
2.我要怎么做?
3.做
写程序也一样,拿到项目,不是马上写程序,而是去思考,该UML建模就建模,那么是在纸上画,也要先把流程拟清,在来就,就可以达到思路清晰了。
包名命名规范,也可以看出是否具备工作经验。因为一个有经验的程序他的命名,通常都能顾名思义,包的名字都层次分明。
页面中写连接的宝贵经验:
1./打头(看视频时是普通的<a href=""></a>,不是采用<html:link/>)
xml配置文件中每一人标签,映射到struts中都会对应一个JAVA对象进行封装。所以,我们在struts中操作的是一个一个的对象。比如:
Form-bean ------> FormBeanConfig
actin --------->ActionMapping
灵活的连接:
<a href="/工程名/**.do">xxxx</a>
<a href="${pageContext.request.contextPath}/**.do">xxxx</a> 应用名改变也无所谓
最灵活的,自动改变的:
<html:link action="/配置的action path">xxxx</html:link>
三个好处:
1.决定是否自动添加sessionId
2.根据action自动添加地址
3.对参数进行url编码,这解决了以前在项目中用jsp页面写程序时,要考虑的URL 重写的问题,因为在struts中,struts会自己在程序内部搞定,也这是struts的优点之一!
“/”不同意义
后台的是家里的,程序内部。
前台的是给游览器解释出现的,必须出现家庭地址。
学习不仅仅是记忆,特别是在JAVA软件中,大家都知识,方法,思绪比忘记更重要,但同时,努力也是必备条件!
2010-4-9 23:50 冉平