总结一:javaweb项目总结
经过这最近一段时间的项目开发与考核,今天终于画上圆满的句号,我长呼了一口气,同时在内心深处,也默默地为接下来的学习,做一个前段时间的项目总结,也是学习的总结,吸取之前的经验教训,前事不忘后事之师,错误并不可怕,可怕的是再在同一个地方犯同样错误,所以对于我来说,更多的去自我认知,知我批评要比表扬和赞许来的更加深刻,非常有必要做一个总结。
虽然所做的项目并没做到考核老师所希望看到的效果,和得到正面的点评,也与自己所想象的结果大相径庭,当然可能在项目最开始的时候,我也曾做过这样最坏的打算,但是当现实渐渐逼近的时候,我却一时难以接受这样的结果,是我意料之外,但也是情理之中,俗话说:种瓜得瓜,种豆得豆。
在项目开发其中,我有过给自己找借口,有过灰心的时候,也有过急躁,如坐针毡的时候,但是想要作为一个合格优秀的程序员,你不仅不能这样的情绪,而且在真实的开发环境当中,会有遇到比这更艰难的情况,更不好开发环境,所以要完成一个项目的开发,我得要利用好为数不多的学习时间,更加勇敢的直面这些缺点,并且改正它,不要认为自己以前没学过JAVA,没有这方面的经验而去给自己找借口,越过心理上的这一到鸿沟。
考核的胡老师说过:不要总是把自己当成一个学生去看待,这样容易松懈,应该是把自己当做一个职业人去看待,做好当下的每一个效果,上好当下的每一节课,让自己时时刻刻紧张起来。这样类似的话,在我之前的公司,也有主管这样说过,虽然我已大学毕业了,没有完全把自己当一个学生去看待,但自己又何尝不是有过这样的念头,特别是别人都是这样想的时候,学习的态度不够坚定,立场不坚决,这也是导致我没有学好的主要原因之一吧。
工善欲器事,必先利其器。除了保持好的心理和端庄学习的态度外,更要总结更好的学习方法,不要让自己陷入到疲惫学习的死胡同了,积累好的学习经验,去掌握好的学习方法,好的学习方法不仅是自己当下一笔无形的财富,也是在不久的将来,在工作当中竞争的一把利器。
吾日三省吾身,只有在自己的总结中给予自己更多的认知,反思,而少一些褒奖,这样自己会对平时忽视的一些地方,能有更加深刻的理解和认识,实践是检验真理的唯一标准,虽然实践中我们所遇到的挫折与失败会有无数次,而成功只有一次,但是只要成功了,我的付出就是值得的,就像前面有无数个-1,但你只要最总做到了一个+1,你的结果就是+1的,在别人的眼里你就是成功的,在客户的眼里,你项目是物美价廉的。
回想在这一个多月的学习时间里,我学到了许许多多让我感觉比较充实的知识,掌握了更多的学习的方法,但这都是与大家息息相关的,离不开老师的教导和同学的帮助,也在此非常感谢大家热心帮助。
总结二:javaweb项目总结
优点:
1.开发顺序基本正确。业务->建表->主界面->其它界面->javabean->dao类->完成功能->整合。
2.严格按照三层架构模式开发。JSP<->Servlet<->Server->dao->javabean。
3.为了方便管理.每个页面的servlet都单独有一个包。
4.关于javabean设计比上次javaweb项目做了修正。拿学生<->班级举例.学生表的班级表通过班级id外键关联.学生的bean对象应该有班级对象,而不是班级的id。这样有了一个学生就有了学生所在这个班级所有信息,符合逻辑。
缺点:
1.开发顺序还是有点问题.在建表主界面完成后,应该规定出各个界面的标记大小,字体颜色,背景颜色,统一使用超链接完成按键点击操作.在界面开发完成后,应该就界面整合一次,看看有没有什么地方需要修正,当确定无误后再进行下一次(这里最好就知道各个功能模块怎么实现),最好整合的时候就只需要关注业务逻辑。
2.每个页面的servlet虽然有单独包,但是其jsp页面也应该建立一个文件夹(检讨一下,当时为了方便自己写书页面跳转,就不想把jsp页面放在文件下面)。
3.为了自己方便调用,在登录成功后,就把数据据所有信息加载进来了,并通过session对象加载进来了。导致登录慢,整个系统反应慢。
4.忘记应用隐藏字段.最后虽然通过ajax实现,但是这样既增加了复杂度,又增加了内存消耗。
5.所有表单接受输入信息后,去除首尾的字符串都是在servlet判断的。这样做不严谨.比如姓名就输入是几个空格,那么最终存在数据中的姓名为:一个长度为0的字符串.还有如果用户在输入名字时,不小心在名字中间添加一个空格.我既没有去掉,也没有提示用户。
学到什么:
复习sql语句的表连接
会熟练用jquery操作ajax(Asynchronousjavascriptandxml)。jquery获取页面元素的值。
Jsp外部标记库的引入(c:核心->逻辑判断和循环)(fmt:国际->日期格式)
会使用div遮罩层
熟悉静态jsp页面的书写
总结三:javaweb项目总结
要开始入手一个新的javaweb应用应该遵循这样一个原则
1、首先是整体框架,也就是通常所说的三层构架:
数据库+应用服务器+应用
2、其此是框架各个部分所处的环境
就是数据库,应用服务器的os都是什么,怎么沟通,怎么在对应os下调配数据库以及应用服务器
3、再次应该是应用服务器和数据库的连接
这点很重要,要查找相关资料怎么配置应用服务器和数据库连接,以及使用的数据库连接池技术
4、然后才是了解应用的构架
也就是所谓的项目源码了,具体使用了那种mvc模式,使用了什么日志工具,测试工具、编译工具,还用要是你去熟悉一个公司的项目的话,这个公司可能有自己的web相干开发工具
我用visio做了一个图形应该是这样的顺序
用我最近的具体例子来做说明吧:
1、首先是3层构架
数据库是mysql
应用服务器是resin
应用基本上是struts+hibernate
这里明确了学习目标应该是
mysql的相关使用方法
resin的相关使用方法
2、其次是os
数据库和应用服务器放在一台主机上,OS是linux
但是日常的开发环境是windows
所以用到了常用的ssh对主机进行管理
这里明确了学习目标应该是
Unix相关命令
Ssh的使用方法
3、然后是数据库和应用服务器的连接方法
使用mysql的jdbc接口
这里明确了学习目标应该是
Resin对数据库连接的配置方法
Mysql对数据去连接有什么要求
4、最后是应用代码层
这层应该是最后学习,但是我们往往习惯对整个系统没有弄清框架就开始这层的研究,这就导致在研究中不断出现有关框架的各种问题,而又要中断当前学习,开始查找另一个资料。我开始就犯了这个毛病,所以进度缓慢
这里我的项目使用了hibernate+struts作为基本框架,用Ant进行编译发布工作,使用eclipse作为ide,另外用到的java工具有jfreechart,quartz等,再有自己公司开发的web框架工具包
这里明确了学习目标应该是
边参照源码一边学习Struts,hibernate,ant,eclipse,jfreechart,quartz,自己公司的工具包
然后再在数据库的角度对整个业务逻辑做出理解
当然,以上四步中肯定是有些工具和技术已经掌握了,我们所要面向的是我们没有掌握方面,然后最终达到掌握系统的目的!要注意我们的目的是上手新平台不是学习新技术!