文章出处:http://blog.sina.com.cn/fulaoshi
说“我不懂xxx”,这是一种无助于解决问题的抱怨。
如果你的目的是弄懂,而非抱怨,那么应该好好分析这个问题
1,哪里不懂
struts是一个框架,包含了它的构成原理和很多组成部分。是哪里不懂呢?
如果是原理,不懂MVC,那么去做练习,单表增删改查。用jsp做View,只管输入输出;DAO(包含增删改查方法的类)做Model,只管与数据库打交道;servlet作Controller,负责根据jsp发出的不同请求去调用DAO里面不同的方法。
然后来思考这样做是不是达到了“一个组件只做一件事儿”这个目标。
接下来想想Struts中的各个模块与这个例子的关联。
如果是配置不会,那么就用myeclipse画,观察生成的结果,<action>标签最复杂,要掌握里面的attribute,name,scope属性,你可以问老师,然后做例子来验证
如果是应用不会,拿出刚才单表增删改查的例子,想一想,如果在struts中应该怎么改变,然后做,不断的做。每做一次增加一点难度。(刚开始表中可以只有两个varchar字段,页面上就是两个输入框,接下来可以加上单选、复选、下拉框,最后是多表操作)
如果是最后的数据库访问不会写,拿出一期的Java毕业设计,好好再看一遍。
2,为什么没学懂
一说到这个问题,我听到最多的回答就是“老师讲得太烂了”,“我原先的基础太差了”。我认为这也是抱怨式的回答,无助于解决问题,因为这两点都不是你能改变的。
我不想再证明老师水平的差异不能完全决定学生学出来的好坏,也不想证明青鸟每一门课都可以是一个重头赶上的机会。只是想说:“你掌握了正确的学习方法了吗?”
其实以前我写过文章说学习方法的问题,我不认为有唯一正确的学习方法,只要用功去学,都可以学好,只是时间快慢稍有差异。
但我观察到有些学员的学习方式是让人很难接受的:
首先,无法保证全勤。经常出现迟到、请假,旷上机课。学习是一个连贯的过程,特别是在青鸟课程设计比较紧凑的环境下,缺任何一堂课都是很大的损失
其次,上课过于被动。不开动大脑思考,只等着老师给分析过程、得出结果,自己不去想和总结,白白浪费了让脑细胞运动的机会。就拿struts举例,老师讲了国际化,大家有没有想国际化需要的资源文件是什么时候由谁加载到内存的,是加载一遍还是不断重复加载,如果一段时间不用了会不会释放以节省内存空间,资源文件太大了,加载慢怎么处理?
这些都是稍动脑子都能想到的问题,即使你想不出答案(答案可以问老师),这样思考问题的方式也会让你的思维变得更成熟、活跃。
再次,上机效率太低。我见过很多学生上机用一个小时的时间拷课件,整理移动硬盘,然后再晃上一个小时,上机课就结束了。问他今天的练习呢?答曰:“机房机器太慢,我回家做,明天拿给你”。自然,第二天什么都看没给我。
给大家一个很重要的忠告:每节上节课前,给自己设定一个目标,接下来的2个小时就要想方设法完成目标,完不成加班。养成习惯,不但你能完成学业,还能变成一个高效率的人。
最后,不善于总结。这样的学习效果就是掰苞谷的狗熊,手上拿的只有最后一个包谷。
我觉得总结的最佳方法,就是学完一门课(或者一节课),写一篇详细的学习心得,之后每隔半个月拿出来看一次。不需要太多的时间,但是很有效。
解决了第一个问题(哪里不懂)可以帮你学习Struts,解决了第二个问题(为什么不懂)可以帮你对付以后任何知识地学习。