9月末已把《社保欠费查询系统》的需求肯定下来,10月份主要用于项目开发。
收获1:"工作"和"学习"中还是有很大区分的
'工作'中讲求'效力'。由于工期是固定的,所以必须要保证每天完成的任务量。而且有了经理的监工。
'学习'中倘若没有严格的自我束缚和明确的目标,很难保证'高产',所以我们才有了'今目标',才有了对应的制度!
'工作'中讲求:有问题不要1个人闷着解决!多问问他人,没准你花半天解决的问题,他人只需要两分钟的时间就能够帮你解决问题。这样酿成的后果就是:实现了功能,却不工作原理。1旦出错就会手忙脚乱,瞎调试。
'学习'中讲求:遇到问题要独立解决。要学会寻食,而不是等他人喂你。学习的是1种'自学能力'。
'工作'中讲求:分工合作。1个人做1个功能点,做完了以后,拿出来说1讲。以后我们就依照这个固定的方式进行开发,节俭时间。这点充分辩明了:我们正处于1个'知识分享的时期',但是谁又能否定是1种'填鸭式的教学方式呢'?!
'学习'中讲求:1个人的国度。所有功能都要自己逐一实现。
要知道'站在伟人的肩膀上'只是第1步,我们需要做的是在此基础上用自己的大脑去消化知识,而不是1味的做个码农。
收获2:每天的工作要有'目的性',按计划行事
就在头几天被经理批评"每天的任务模块已给你规定好了,你需要做的是:'在规定的时间干规定的事!'别做那些没用的事。"
在拿到1个新项目以后,首先要做的就是根据模块进行分类,然后估算出每一个模块的工作量,然后循序渐进的履行就行了,值得注意的是:前期的准备工作,1定要'细',用流程图来梳理思路。否则后期的开发进程中,会让自己'绕死'的。
'学习'亦是如此,没有明确的目标,再认真的学习态度也没法抵达终点。
下面来讲1下这个月的工作情况:
10.01⑴0.07:攻克:导入导出Excel、多表联合查询10.21⑴0.27:测试并完善系统中的BUG
收获3:项目中的开发经验
1、JSP与Action之间传参
1)JSP->Action
①Action中利用ModelDriven,直接使用'model.属性'便可。
②Ajax异步回调通过url传递参数,Action中通过request.getParameter获得
③JSP中写任1标签,Action中定义此标签的get、set方法后,直接取出
2)Action->JSP
①Ajax异步回调,Action中对data进行赋值,JS中判断
②Action把返回结果写在值栈中,JSP中用隐含域获得,JS弹出hidden中的结果
③Action中庸JOptionPane.showMessageDialog弹出返回结果。缺点:样式太难看
2、原生SQL是弱项
1)分页
由于项目中采取的是OA框架,只能对单表进行分页。
在对多表进行联合查询的时候没法套用公共方法,此时可以采取原生sql,传递两个参数(起始页)到达分页效果;或利用hibernate两个参数进行分页setFirstResult(20)设置起始行、q.setMaxResults(10)每页条数 ,到达分页效果。
同时要注意'分页风格要统1'。
2)查询
如果是复杂的业务查询(如:包括行转列),这里提供两种思路:
①写原生SQL,复杂的逻辑转到DAO层控制,返回List<Object>,页面中庸struts2标签直接循环便可。
需要提示的是:不要局限于只有'实体'中的记录才可以被迭代出!
②通过hibernate配置文件可以到达以下效果:只需要查询主表,从表的记录会自动被关联查出。然后新建 1个专门用于界面显示的实体E,把List<Object>中的记录逐一放在该实体E对应的属性中。后界面中循环显 示
比较而言,①需要扎实的SQL基本功,Action和页面中的代码更简单1些;而②中Action不单单用于转发,不免有些背背了设计的初衷。(这里的'循环显示'指的是利用struts2标签的Iterator迭代。)
3、上传Excel
步骤:先把本地File文件上传至Tomcathttp://www.wfuyu.com/server/,后从Tomcat中读取文件流,上传到http://www.wfuyu.com/db/。
思路:
①http://www.wfuyu.com/db/中保存的是:Excel中的记录
②http://www.wfuyu.com/db/中保存:Excel文件路径和名称+http://www.wfuyu.com/server/保存文件副本
解决缓存问题:MyEclipse中project->clean。
4、验证码
本质都是利用'随机数',两种:
1)文本框验证码
特点:代码简单,直接在JS中判断验证码的正确性,无需传递至Action中
缺点:由于验证码的本质是text,缺少安全性
2)图片验证码
特点:将自动生成的验证码寄存在Session中,后在Action中进行判断。
优点:安全性
5、JS和CSS调试
JS调试主要利用:Firebug工具。
技能:少->多 , 添加'断点' ,视察'监控'中的参数变化 , 控制台的毛病信息。
最重要的还是两点:仔细+耐心。相信1句话:孰能生巧。
6、Hibernate的映照文件技能
1对1、1对多、多对1、多对多的映照关系中配置文件的技能
将在以后的文章中进行总结。
7、安全控制,控制Action的访问权限
两种:
1)在'拦截器'中配置
若系统比较小,可使用。
2)在'http://www.wfuyu.com/db/'中读取
若系统比较大,推荐使用。还要有1个'权限系统'。
下一篇 UVa 1585 - Score