1、实习日记一20010-4-1 星期四实习的第一天,感觉心里空空的,毕竟昔日在学校的作息时间,一下子被工作所取代, 还真有点不适应。 其实在此之前我也作好了进入社会的准备, 以前经历过一次毕业, 现在总 比第一次毕业时 “无所适从”的感觉要好很多,心态也放得更为平和。 如果真要说点与众不 同的话,那就是明显感觉到:多了一些信心与实在。二2010-4-2 星期五今天下班后回宿舍上机调试程序,一个 java 网站,用 Tomcat 作服务器, 在被浏览器 加载的时候总是无法显示出来,页面提示出错信息:500错误。到服务器日志查找原因,有 一个“数据加载失败”的提示。数据库用的是 SQL Server
2、2000,原以为是 Tomcat 配置文件 的问题,到网上查了很多相关资料,改了又改一直没搞定,头都大了,一直到 12点才郁闷 的关机睡觉!三2010-4-5 星期一工作也两三天了, 员工也已熟悉, 可惜他们都不是编程高手, 要不我就可以直接向他们 问一些我在做网站时遇到的难题了。唉,谁叫我找一个与专业不怎么相干的单位来实习呢! 可说归说,事还得做:与客户交谈,打电话询问相关事宜,遇到好心的客户还好,不会刁难 你, 要是来了一个挑三检四的就不好应付了, 至少你得耍点小聪明, 当然不能惹客户不高兴, 要不过后会接到老板的“呼叫” 的。 其实最简单的对付办法也很简单:你只管顺着客户的意 思,点头即
3、可!四2010-4-6 星期二最近到网上找了些视频资料,看后很过瘾,可看归看,一动手写代码就伤神了。忘说内 容了,其实看的就几个与 Java 编程相关的开源框架(Struts+Spring+Hibernate而已,不过 涉及到的东西就多了,开发平台用的是 Eclipse+MyEclipse,这个还好应付,装上设一下环 境变量就搞定,跟 JDK 差不多。难的是在这之上的插件的应用,要知道开源的东西特多, 很多其实多差不多, 但你却不得不花时间去了解, 而且版本的兼容性问题有时会让你不知从 哪处理是好。 开源而且集成的东西用起来是好, 感觉就是复杂了一点! 尤其是面对一大堆英 文文档或者官方英文指
4、导手册时候,砸电脑的冲动都有呀!五2010-4-7 星期三今天就简单聊聊上面的 Struts+Spring+Hibernate吧。Struts 代表:表示层; Spring 代表:业务逻辑层; Hibernate 则代表持久层。他们是目前 在 Java Web 编程开发中用得最多的框架,其实这样区分是为了适应软件开发过程中各个分 工部门之间保持一致性的需要。 说得简单点就是大家都在一个模式下写代码, 这样就能保证 写出来的程序能被每一个人都能够读懂, 而且有些基本的东西它可以自动帮你生成, 不用你 自己一个一个的敲了, 达到了代码复用。 这样保证可读性的同时也提高了开发效率, 从而降 低了成本
5、。 Struts 这个框架其实就是 Java MVC设计模式中 (简称 Model1与 Model2 Model2的一个具体实现, Spring 则通过提供 ICO (控制反转,也称依赖注入实现了对对象甚至 事务(如声明式事务的集中管理,此外还引入了 AOP (对向切面编程 ,当然也完全兼容 其它框架。 Hibernate 吗,就是一个实现对象与关系映射的中间件,大家知道,现在的主流 数据库还是关系型的, 但编程却已经采用了面向对象的思想, 如何让编程人员能像操作对象 一样,操纵数据库里的数据呢? Hibernate 就是这样一种框架。以前 Java 程序员与数据库打 交道都是通过 JDBC
6、,还要写 SQL 语句,不过 Hibernate 彻底改变了这一切,它在 JDBC 之 上又作了一次封装,从而实现了不用写 SQL 语句就可以实现操作数据库。值得提醒的是,这三个框架都是轻量级的,没有侵入性或者侵入性很低,不像 EJB 这 样的重量级框架,它们都能最大限度的实现代码的可复用。六2010-4-8 星期四今天根据经理给的项目,自己尝试的进行修改!七2010-4-9 星期五转眼几天又过去了, 工作的感觉也渐渐好了起来。 值得高兴的是, 前些天说的网站数据 库加载失败的问题也解决了。 多亏了论坛朋友的解答与同学的指导, 总结一下主要有以下几 个原因:没给 SQL Server2000打
7、补丁; 数据库连接文件中写的密码与 SA 用户登陆数据库时 的密码没保持一致;我用的是 Tomcat 的最新版本 6,估计有兼容性问题,所以换了版本 5; 还有就是一开始没安装微软 JDBC for SQL Server2000的驱动程序, 导致无法加载驱动类库。 几天的工夫总归没白费!八2010-4-12 星期一今天装了 MySQL 数据库,想给网站换个数据库管理系统。说实话,用惯了 SQL Server2000感觉没什么意思了,就像总是用 Windows 操作系统一样,用久了就腻了!虽然 SQL 语句两者相差不大,但初次使用起来还是有点具有挑战性,至少有新鲜感,并促使你 不断学习。遇到的最
8、头痛的要属数据库的备份与还原了。在 SQL Server2000中,这非常简单,点击菜单即可。可在 MySQL 里,就不一样了,可能我刚学,还没上手吧。按照书上的操作把 数据文件拷到 Mysql 安装目录的 Data/数据库名 文件夹下, 重启 MySQL , 用客户端连接上, 能显示出来有表了,可执行 Select 语句里就出错了:ERROR 1034 (HY000: Incorrect key file for table ebs_book; try to repair itGoogle 百度了一上午都没解决。只得到一些大概信息,如下:frm 、 MYI 、 MYD 分别对应 MyISAM
9、 表的表结构 索引 数据文件;frm,myd,myi 是属于 MySQL 存储数据的文件, phpMyAdmin 是无法导入的。phpMyAdmin 支持的文件格式为 sql 文件。frm 格式 MYD 格式 MYI 格式文件导入 MySQL 中的方法:导入到 sql 的 data 目录直接复制到新的数据库下就可以了, 这样的文件是 mysql 用来存放表的文件, 所以只能 放到 mysql 的安装目录的 data 目录下,而且如果你是要传到空间上的话,基本上是无法恢 复了,除非你把这些数据给空间商要他帮你恢复。感觉像是判了“死缓”一样,难道数据真的无法恢复了?九2010-4-13 星期二.
10、又是一个雨天,早上上班时间还下得很大,就没起床了。直接电话向经理请了假,说 是头痛下午再过去了,还好经理爽快的答应了,要不一去就会露馅现出原形的!上午上网,下载了三个网站源码,本想找个部署运行看下效果,结果一看,后台数据库 全不一样:分别使用了三个不同的数据库(SQL Server2000、 Oracle 、 Mysql ,很是无奈。 个人比较熟悉微软的 SQL Server2000,可那个好一点源码用的却是 MySQL ,突然有种把数 据库重建的想法, 因为数据库之间相互转换的软件好像一般都不好使, 这可能是数据库厂商 之间的竞争造成的兼容性差所至。由于时间有限,这活便暂且被搁置下来。十20
11、10-4-14 星期三今天好高兴呀, 自己做了两周的代码终于在网友的帮助下调试成功了。 说起来真是巧得 很,那天晚上大概 10点钟的样子,网友突然呼我,我打开 QQ 问怎么了,她说她能调好了 能运行出来, 我下子来了精神, 要知道调了几天了, 一直进展都没有的呀。 可谁知我一打开, 还是不行, 但按她的提示跳过主页到其它页面能查到数据库里的东西, 搞了这么久, 原来问 题在这。点了下其它的链接,头几个还能正常跳转,可后面几个就出问题了。无奈,只好重新调整思路,既然少数能运行,应该不会有太多问题。没办法,还得一行 一行分析代码,可看来看去还是老样子。还莫名其妙的多了一个“空指针”的错误。就在要
12、放弃准备睡觉的时候,浏览器中的一个“ ID ”号引起了我的注意,它是“ numberic ”类型, 可显示是一负数,我纳闷了,数据库里明明全是正数呀, 直觉告诉我, 应该是数值太大超过 类型定义的范围了。果不出我所言,一改数据库里的数据重起加载 Ok, 页面跳转正常,数据 也显示正常。唯一不爽的事主页不能把数据库里的数据请求出来显示, 只提示“空指针”错 误,很明显,这是没得到数据的症状。很晚了,基本问题已经解决,该好好休息了,明天还得继续上班呀,无奈!十一2010-4-15 星期四什么是模式?模式,即 pattern 。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结 归纳到理论高
13、度,那就是模式。Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问 题, 然后描述了该问题的解决方案的核心。 通过这种方式, 你可以无数次地使用那些已有的 解决方案,无需在重复相同的工作。模式有不同的领域, 建筑领域有建筑模式, 软件设计领域也有设计模式。 当一个领域逐 渐成熟的时候,自然会出现很多模式。为什么要用模式?因为模式是一种指导, 在一个良好的指导下, 有助于你完成任务, 有助于你作出一个优 良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。十二2010-4-16 星期五什么是框架?框架,即 framework 。其实就是某种应用的半成品
14、,就是一组组件,供你选用完成你自 己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断 升级的软件。为什么要用框架?因为软件系统发展到今天已经很复杂了,特别是服务器端软件,设计到的知识,内容, 问题太多。 在某些方面使用别人成熟的框架, 就相当于让别人帮你完成一些基础工作, 你只 需要集中精力完成系统的业务逻辑设计。 而且框架一般是成熟, 稳健的, 他可以处理系统很 多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使 用,所以结构很好, 所以扩展性也很好, 而且它是不断升级的,你可以直接享受别人升级代 码带来的好处。十三2010-4-1
15、9 星期一今天,自己开始试着根据项目进行代码的修改,刚开始的时候,总会遇到许多的问题。 好在后面都克服了。十四2010-4-20 星期二今天, 遇到了一些新技术,之前自己学习中没遇到过,最后请教了同事,终于弄明白了 些。十五2010-4-21 星期三今天自己特意找了些 struts2方面的资料来看,因为之前用过 struts1, 所以看起来也轻松 了许多。十六2010-4-22 星期四自己尝试了用 struts2来添加功能模块,感觉 struts2和 json 结合使用的话,效率还是蛮 高的。20十七2010-4-23 星期五今天, 同事过来找我, 让我帮他写点后台操作的 action, 是关
16、于查询方面的。 我觉得这是 个很好的学习机会。十八2010-4-26 星期一今天 , 继续修改了昨天弄的查询的 action , 后来发给同事看, 他觉得总体还是可以, 就是 一些小细节需要修改十九2010-4-27 星期二今天接触到了 json 的使用 , 在 action 中查询返回 list 的数据时,结果调试发现是 json 异 常 , 后来费了好大劲也没找出来,就让同事过来帮忙看 , 后来发现是 action 中的 manager 操作 不能有 get 的属性 . 学到了点东西 .二十2010-4-28 星期三今天继续完善昨天的 action ,添加了分页的返回数据,包括记录数,页数
17、,当前页等。 二十一2010-4-29 星期四今天,经过两天的尝试,终于把 action 的功能弄好了。二十二2010-4-30 星期五今天,同事说根据之前弄的 action 继续添加其他的 action 。二十三2010-5-4 星期二放假了几天,今天又回来上班了,我还要继续那些未完成的 action 。二十四 2010-5-5 星期三 这两天都在弄 action 写多了,自然对 action 的操作熟悉了许多,比之前的两三天弄一个 的速度,还是提高了不少. 二十五 2010-5-6 星期四 今天终于把那些 action 都弄好了, 后来同事又说让我写下每个模块的操作 action 包括添
18、加,删除,修改。有了前面的经验,后面写起来也快了许多。 二十六 2010-5-6 星期五 今天很快的把那些操作 action 弄好了,感觉自己写的还行。虽然还没应用到项目中。还 是蛮有成就感的。 二十七 2010-5-10 星期一 把代码更新到 svn 上后,同事让我可以根据之前写的 action 自己添加下分页的现实,要 实现分页显示和显示页数,记录数,并添加分页的操作。 二十八 2010-5-11 星期二 今天继续在专研着分页的现实,其中用到了 jon 传递数据,并用 jquery 现实,看来我还 是要补充下这方面的知识. 二十九 2010-5-12 星期三 根据同事的代码范例,我自己尝试
19、的写分页的代码,这是个很好的锻炼机会。 三十 2010-5-13 星期四 今天终于把分页的代码写了个大概,可以显示数据了,可是还有些细节还需要完善。 三十一 2010-5-14 星期五 今天根据同事的指导,修改了分页的细节终于成功的运行显示了,有点成就感。 三十二 2010-5-17 星期一 添加完这个模块的分页, 我自己就开始修改其他模块的分页功能, 大同小异还是蛮顺手 的。 三十三 2010-5-18 星期二 今天把后台的大部分的功能模块的功能都实现了,觉得还是学到了蛮多的。 三十四 2010-5-19 星期三 今天,总结下这段时间的实习体会,我觉得在实习中自己要多专研,特别自己要多写, 不会的话可以问问同事,或者自己上网找资料都是不错的选择。我的实习生活还在继续。 。