人人范文网 范文大全

林茵毕业实习日记(推荐)

发布时间:2020-03-03 04:27:01 来源:范文大全 收藏本文 下载本文 手机版

黑龙江科技学院

毕业实习日记

专业: 信息与计算科学

班级: 信计07-2

姓名:

林茵

日期:

2010年 12月 13日实习地点::加拿大达内科技有限公司

因为在这里学习的主要就是三大框架的知识,这些许多项目开发中都会用到的技术,现在也开始要做毕业设计,我所运用的技术主要是jsp但是其中也将会用到些框架的知识,为了把毕业设计做到更完善,我将继续学习一些有关框架的技术。 前一段时间我们已经开始学习三大框架的技术之一Struts2,但是还没有详细学习,今天将接着前面的学习Struts2部分的知识。 今天老师讲了一些Struts2的通用标签,比如:、date、debug

iterator

、propertyif...elseif..else set、push、bean、url、action 其中对于这些标签作用也做了详细的讲解例如像even:当前迭代元素是否为偶数,set:用于设置属性值,默认写入context区域,可以使用scope指明范围,count:当前一共迭代了多少对象,push:用于向root栈区域的栈顶压入信息。当标签结束后,立刻弹出压入栈顶的对象,等等这些都做了详细学习,像还有一些比较常用的如:url:可以根据struts.xml配置生成action组件的请求地址。action:可以调用一个Action组件执行业务方法。如果需要将响应result引入标签所在位置可以使用executeResult=true。

表单标签form、textfield、paword、hidden、textarea、file checkbox、checkboxlist、radio、select、optgroup。

日期: 2010 年12 月 15日实习地点:加拿大达内科技有限公司

今天一大早来到班级就开始对昨天的学习进行练习,像struts.xml配置还有action的请求调用等等,都做一遍复习,老师说这部分很重要,而且通过昨天的学习,感觉用struts2,对于以前的学习相比代码量少了很多,更方便运用。

还是像每天一样,老师9:30准时上课,今天讲的主要知识是struts2的校验,老师开始举例子给我们介绍什么是校验,比如像我们经常登录注册一些邮箱等操作时候看到的一些输入格式的验证之类的,学习了js后对其有了了解,这些都是针对客户端,接下来老师就开始给我们讲针对服务器端的校验。首先老师讲的是表单的校验过程:发送请求-》为Action对象加载表单信息(setter)-》validate方法或者XML校验配置-》 如果validate有错误信息,使用input视图响应; 如果validate没有错误信息,执行execute业务方法。 接下来就是详细的各部分的校验方法。例如学习了重写validate方法方式校验,基于XML配置方式校验。

这部分的知识运用很广,很多东西也要求熟练掌握,为了让我们更熟练掌握,老师给我们留了些小的程序要求运用这部分的知识,对其知识的加深理解。

日期: 2010 年12 月16 日实习地点:加拿大达内科 因为昨天讲的知识比较重要,今天老师在讲新的知识前又给我做了一些对昨天知识的总结引导,老师说对于编程的技术需要你不厌其烦的练习,没有谁一下子就可以接受所有知识,都是通过反复练习才最终掌握,对于昨天的学习我感觉虽然有的地方有些难懂,但是对于这部分知识还是很让我感兴趣。老师今天讲的知识是有关国际化。首先是在struts.xml或者struts.properties中添加资源包配置: struts.custom.i18n.resources=包名.资源包名。还有JSP\\Action\\*-validation.xml国际化JSP国际化标签:,其他输入性表单组件使用key属性。详细的介绍如Action国际化:使用ActionSupport提供的getText()法 XML校验文件国际化:使用元素的key属性。 此外老师还介绍些如JSP页面中:用于指定临时资源消息资源文件:包范围资源文件、Action范围资源文件,可以在Action中使用getText访问包范围命名规则:package_语言编码_区域编码.propertiesAction范围命名规则:Action类名_语言编码_区域编码.properties。还有语言选择功能,类型转换,自定义类型的转换,表单信息-->Person等一些作为了解的知识。

日期2010 年12月17日实习地点:加拿大达内科技有限公司

今天还是像每天一样,早起来到班级,来到达内之后我养成了良好的早起习惯。昨天学习的知识不是很难也相对不是很多,所以今天早上主要就练习了下前面学习的知识。

今天老师讲的主要是拦截器这部分新知识,如果遇到了通用功能,可以考虑使用拦截器封装.例如登录检查、权限检查、日志处理、事务处理、性能检测等等。

拦截器的内部实现,如何自定义拦截器必须要实现Interceptor接口,实现interceptor方法。可以实现interceptor接口,实现它的interceptor方法。可以继承AbstractInterceptor,实现它的interceptor方法。可以继承doInterceptorMethodFilterInterceptor,方法。接下来还介绍了MethodFilterInterceptor实现原理:

MethodFilterInterceptor继AbstractInterceptor。 添加setIncludeMethods方法,用于接收配置文件中指定的要拦截的方法字符串.实现了interceptor方法,在该方法中检查要执行的方法是否在要拦截器的方法集合中.如果发现要执行的方法需要拦截,调doInterceptor()方法。

如果要执行的方法不需要拦截,调用invoke()方法理。还了解了Struts2内部拦截器的部分使用如: 禁止表单重复提交标签:生成唯一的令牌ID,将ID写入seion,并且为表单生成hidden,保存令牌ID。最后是token拦截器:比较客户表单中的令牌ID和Seion中的是否一致,

如果一致认为是有效提交,清空seion中的ID标识,调用Action业务方法处理;如果不一致,禁止执行Action的业务方法,调用名字为\"invalid.token\"的Result组件响应

tokenSeion拦截器:原理同上,响应采取与第一次相同的响应方式。

日期: 2010 年12 月18日实习地点:加拿大达内科技有限公司 昨天学习的拦截器这部分知识还是比较主要,昨天针对这部分知识老师留了作业要我们完成,通过和身边同学讨论我们基本完成了老师留的作业,也进一步理解了,拦截器这部分知识,也很好的和前面知识进行串接运用。 今天老师讲的主要是些strtus2的收尾知识。开始先讲了文件的上传,可以调用default.properties指定的解析器获取上传文件,能够对上传类型和大小做过滤commons-fileupload.jar:将客户提交的流信息,解析出来,生成临时文件放入指定临时目录。Action中可以定义File 表单上传组件的name属性值。 还了解了些如常用Result组件的具体使用,模板技术freemarker的基本使用, 今天讲的东西比较少,也是学习strtus2的最后一天,对于这部分知识的学习,老师最后给我们做了总结,结合程序给我们分析了这部分知识的重点,难点等等。 日期: 2010 年12 月19 日实习地点:加拿大达内科技有限公司

今天主要从以下开始学习了三大框架的第二个框架:Hibernate。 Hibernate的导入:Hibernate是数据库访问工具组件。Hibernate的优点:jdbc是通过sql驱动(访问)数据库,而通过sql来处理复杂表会很繁琐,Hibernate通过帮我们生成sql来使编程变得轻松。

表的关联:可以用Hibernate来方便的处理,性能优化:Hibernate可以帮我们进行比较大的数据库性能优化。

开发步骤:运用Hibernate的类苦库。还有配置文件的介绍:hibernate.cfg.xml 中会设置数据库的连接信息,以及引用的其他文件的文件名,和一些其他的摄制。这个文件一般放在项目的根目录或源代码目录(SRC)下。

主要练习Hibernate的文件配置练习。老师说Hibernate主要学习的就是映射,而只有熟练了文件配置才能真正掌握,所以我也不敢松懈,不断的练习。 日期: 2010 年12 月20日实习地点:加拿大达内科技有限公司 今天主要学习的是映射。映射文件就是把O-R Mapping具体写出来。 其分类:

实体映射:类,属性 关系映射:

关联关系映射:基本关系映射,组建关系映射,值类型集合映射,继承关系映射

基本关系映射:一对一:从外键方式实现和主键方式实现。从件表语句和映射文件中学习。

一对多:订单与订单条目的关系,就是一对多的体现。例如:所购买的商品如下:

商品名称

单价

数量

合计

pen

5.0 2

10.0

rubber 1.0 1

1.0 您的购物车中所有商品总金额:11.0

多对多:Student 和 Course,两者互相持有多个引用。 日期: 2010 年12 月21日实习地点:加拿大达内科技有限公司

今天主要学习练习继承关系映射。 继承的概念: 继承是抽象的结果,继承类别信息,会形成有层次的多态。

深化:接口,内部类。 一个类一个表:

优点:字段没有冗余,最接近内存中对象的结构,设计维护时,父类的修改对子表影响不大,支持多态,主要是指支持多态查询

缺点:效率低,连接表操作时效率最低,要进行维护的工作量比较大,报表统计时比较麻烦 一个实体类一个表:

优点:表少,非多态查询时,单个表查询时,效率比较高.缺点:对多态查询时,支持不好,查询效率比较低, 生成报表比较困难.所有类放在一个表中:

优点:简单,效率高. 缺点:任何一个类改变,表就受到影响,数据冗余较大,表可能会变大的巨大,效率又受到影响. 选择的原则:

(1)不需要多态查询时,一个实体类一个表

(2)需要多态查询时,类不太多,类中属性也不太多时,选择只建一个表,这样的方 式用的较多

(3)类多,属性也多,则考虑每个类建一个表

日期: 2010 年12 月22日实习地点:北京达内科技 今天学习的是组件映射。

组件:按照功能划分的一组软件,功能内聚性,独立性好。实际应用中,多采用组件映射。

单个组件映射

一个比较软的持久对象,没有 OID 的,不能独立映射的类,要跟随个 PO 才能持久化。 组件集合映射

需要个独立的表作为副表,其中没有 OID,但需要个外键和属主表相联系。组件集合映射其实是一对多的退化。 集合关系映射

突出值的集合,不和 PO 相关联。

Set 无顺序、不重复。List有顺序,允许重复。Bag 无顺序、可重复,Java中可用List来模拟,去顺序OK。

日期: 2010 年12 月23日实习地点:加拿大达内科技有限公司

今天进行的有对象状态管理: Hibernate 中 PO 对象的状态

暂态Transient :和 Hibernate Seion 发生过关系,只有内部状态

持久态Persistent:正在和 Hibernate Seion 正在发生关系,有内部状态,也有外部状态,自动同步 游离态Detached:曾经和 Hibernate Seion 发生过关系,有内外部状态,但要手工同步 对象的状态是指属性值的变化。 并发控制:

锁:DB 只有一种

锁使用方式:悲观锁:读的时候加加锁

乐观锁:读的时候不加锁,写的时候加锁一种方式 自动的情况,读时不加锁,写时自动加上锁。

日期: 2010 年12 月24日实习地点:加拿大达内科技有限公司

今天主要学习的Seion实际应用和HQL 语句 原则:一个线程一个 Seion,所以有必要在方法间传递 Seion。在同一个 Seion 中对 DB进行操作数据时,才不会产生数据的错误读取。 一个线程之所以是要一个 Seion,因为:比如一个 Servlet 线程中只有一个 Seion 实例时,就不用手工的去同步,直接用对象锁可解决;如果允许多个 Seion 的话,在多线程Service 方法多次进行 Seion 操作时,无法分辨出是哪个 Seion。

事务要在业务层中做,别在 DAO 层中做。 JDK 中 ThreadLocal,把当前一个对象绑定在当前 Seion 上。ThreadLocal 中有个 Map,value 是个任何类型的对象,它的 Key 是线程对象。

HQL 语句:in查询和分页查询,我们在做在线购书系统时候,其中浏览网页模块中就运用了分页查询开始做时候还没有学这部分知识,是自己上网查找的,现在学习,也进一步加深了理解。 日期: 2010 年12 月25日实习地点:加拿大达内科技有限公司

今天开始将学习Spring部分,同时也将进行毕业设计的开始设计。 Spring引入:

Spring是轻量级的J2EE框架

目标——简化J2EE开发(企业级的开发),处于中间业务层,Struts(前端) -- Spring(服务层--业务) -- Hibernate(后台数据) 。 Spring的优点: 1)提供了许多现成的基础性服务(事务、Hibernate支持、AOP、IOC等),很大程度上方便和简化了软件开发。 2)使软件结构良好:降低了耦合度(IOC)和复杂度(AOP) 3)可以使程序员养成良好的编程习惯——接口编 程(面向接口)

还有Spring使用创建Bean的要,核心API—创建Bean,最后介绍的是基本注入方式等。 日期: 2010 年12 月26日实习地点:加拿大达内科技有限公司

今天主要从几点学习了Spring.1.用util schema来定义集合

2.依赖检查(Dependency Check):dependency-check:全局性检查,即在整个bean范围内;@Required方式,针对于某个属性.3.自动注入(自动装配)——Autowire 4.Component scanning(自动扫描)概念:让Spring在指定的package(及其子包)下扫描带有相关标记(@Component)的类,然后将这些类作为Bean自动装入容器中备用。

5.模板装配(bean定义的继承) 6.工厂方式: 静态工厂方法,实例工厂方法,FactoryBean.7.对象创建方式

通过构造器(Spring调用new)包括两种注入方法 通过工厂对象的方法(Spring调用某个工厂对象的指定方法) 日期: 2010 年12 月27日实习地点:加拿大达内科技有限公司

今天主要讲了两方面内容:

1.AOP--面向切面 Aspect-Oriented Programming 1)解决横切的问题——分散到各个模块中的任务 2)关注点:诸如日志、事务、安全等问题,切面即关注点

2.AOP的实现技术:拦截,实现拦截的方法java的动态代理: 动态代码生成——代理类是由Jdk生成的 CGLib代理模式:代理类UserServiceProx和本类UserServiceImp实现同一接口(UserService),

spring—aop项目Jar文件直接用ioc项目中的即可

日期: 2010 年12 月28日实习地点:加拿大达内科技有限公司 今天主要介绍的是IOC方面的知识和AOP。

IOC:

1.注入:Setter:ref注入定义UserService

ref=\"userDao\"

/>

作用:把分散在各个模块中关于横切关注点的代码集中起来(模块化),然后再运行时再插入到各个模块中。

AOP的几个概念 如:横切关注点(AOP核心),切面(Aspect),织入(wave),代理(Proxy),拦截器(Interceptor),目标(Target),JoinPoint(连接点) ,Advice(通知)等。 Spring AOP编程基础:

代理的定义:Spring提供了一个通用的代理工厂类

ProxyFactoryBean Target Interceptor Interceptor:通过Advice来实现

日期: 2010 年12 月29日实习地点:北京达内科技

今天从以下几点学习了Spring: 1.Spring的常用Advisor NameMatchMethodPointcutAdvisor通过Method的名称(全名)来拦截 RegexMethodPointcutAdvisor通过正则表达式(即可用通配符)来拦截 AspectJ注解方式(Annotation):Aspect(模块),Aspect的类是个POJO(Martin Fowler), 3.AspectJ中Pointcut表达式的语法:

两种级别:方法级别和对象级别。 4.Xml schema的方式

下午时间主要就是对商务学习的练习以及应用。还有前面做的网上在线购书系统在结合这部分的知识又做了些修改。Spring方面的知识比较难懂,所以很多时间我都在练习这部分知识。

日期: 2010 年12 月31日实习地点:加拿大达内科技有限公司

今天主要讲的是Spring的事物还有就是对Spring最后的总结。

Spring对事务的支持(针对于Hibernate事务) 目标:不用改程序即可实现事务。

方法:通过xml方式(即AOP)加入事务特性。 配置要点: 1.用AOP的xml定义方式来定义事务:定义了切入点

2.事务的Advice是由来定义的 3.配置一下事务管理器(TransactionManager)

于WEB的集成要点: 1)在web.xml中加入Spring 2)获取AC:用WebApplicationContextUtils来获取WebApplicationContext而WebApplicationContext即继承了AC 1)通过Listener来加入Spring 2)WebApplicationContextUtils获取AC Struts和Spring集成的目的:Action当中用到的Service要通过Spring注入

整体总结(SSH技术大集成)

SSH技术运用步骤

1、用struts2构建项目

2、把Spring加入到Struts2中

3、把Hibernate加入到Spring 日期: 2011年1 月02日

实习地点:加拿大达内科技有限公司 昨天已经把大部分主要核心知识都已经学习完,今天老师又在基础上加了些新的知识ejb还有将要在以后工作会接触到了3G方面的知识。三大框架的知识我们这几天学习的都是理论知识,能够真正用到项目中才能够真正的掌握,所以接下来几天我们做的网上购书系统(当当网)就是主要针对三大框架的知识进行做的一个相对大的项目。 首先老师把当当网的需求说明书发给我们,我们之后仔细的分析,说明书上的要求以及所做项目的一些流程分析,之后我们自己做了详细的整理,最后总结项目主要由,登录,注册,商品展示,购物车,商品传递几大模块组成,因为我们是团队合作,所以我们把几大模块进行了分工,虽然已经有了大概的流程,但是要是真正的入手还是比较难,我们都自己还查阅了很多的资料,把以前学习的知识又基本重新整理下,然后才开始进入项目搭建。 日期: 2011年1月06日实习地点:加拿大达内科技有限公司 这两天主要都在做当当网的项目,对于各自的模块做的基本上也差不多,今天主要是总体的整合部分,我们从开始这个项目到现在这个期间遇到过很多问题,有些知识因为不够熟悉,还有些新的知识点需要引入等等问题,有些自己可以解决的都尽量自己解决,实在解决不了的和同学还有项目经理讨论,虽然有问题,但是当我们看到一步步接近完成时候,我们都很高兴,毕竟这是我们自己做的一个比较大的项目,最主要的是我们学到了很多,对于我来说,像在登录,时候用seion进行用户登录保存等知识,用到之后才是真正的理解。还有就是让我自己觉得做的比较好的就是在校验和生成订单这里,很多东西是需要我们总结摸索中进行,知识是死的但是我们可以活用,总之在这个项目中我们都收获很多,我们团队成员也把自己做的模块做了详细的介绍,我们互相学习,最后出色的完成了这个项目。

日期: 2011年1 月07日 实习地点:加拿大达内科技有限公司 今天将是我们来到这里学习的最后一天,首先做了一下对前面所学知识的总结,这段时间学习的主要就是三大框架这部分的知识。 Struts2主要从这几方面学习的: Struts2类型转换:

继承DefaultTypeConverter,

覆盖父类的public Object convertValue(Map context, Object value, Cla toType)方法 继承 StrutsTypeConverter, 覆盖父类的public Object convertFromString(Map context, String[] values, Cla toCla) 该方法负责转换从页面传递过来的数据。

覆盖父类的public String convertToString(Map context, Object o) 该方法负责将Action中处理好的数据转换成相应格式的字符串。Struts2数据验证:

使用编码方式进行验证,使用配置xml文件进行验证,struts2进行客户端的验证。Struts2拦截器,还有就是struts2的国际化等知识。接下来就是Hibernate。 Hibernate的主要知识体系:五大接口,POJO,配置文件,映射文件,复杂映射,优化。主要就是从这几点学习的hibernate要真正的掌握对其的学习,主要就是在多联系配置文件以及映射文件的理解。 最后是Spring,它是为属性赋值的一种工具,也是处理系统级服务的一种工具。对于这部分的学习主要重点spring注入的方式:Setter注入和构造器注入。如果采用Setter方法注入,别忘了在类定义的时候加上setter方法,这一点开发者常常会忘掉,导致NullPointerException。还有就是自动装备Spring提供多种自动装配的功能,其中byName是最好用、最常用的。可以大大简化bean的定义。 前面就是主要的对这段时间的知识总结,在这里的学习期间不仅让我的技术有所提高,而且对于即将开始做的毕业设计也有了一定的基础,总是对于我来说收获和努力成正比,自己也觉得充实。

毕业实习日记

毕业实习日记

毕业实习日记

毕业实习日记

毕业实习日记

毕业实习日记

毕业实习日记

毕业实习日记

毕业实习日记

毕业实习日记

林茵毕业实习日记(推荐)
《林茵毕业实习日记(推荐).doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档