时光飞逝,如梭之日,转眼一周又过去了,一周的时间,想必你学习了很多新技巧,这时就需要我们认真地写8篇周记了。但是周记有什么要求呢?下面是小编整理的java实习周记,希望能够帮助到大家。
Java工程师实习周记 篇1
随着社会的快速发展,用人单位对大学生的要求越来越高,对于即将毕业的软件工程专业在校生而言,为了能更好的适应严峻的就业形势,毕业后能够尽快的融入到社会,同时能够为自己步入社会打下坚实的基础,毕业实习是必不可少的阶段。毕业实习能够使我们在实践中了解社会,让我们学到了很多在软件工程专业课堂上根本就学不到的知识,受益匪浅,也打开了视野,增长了见识,使我认识到将所学的知识具体应用到工作中去,为以后进一步走向社会打下坚实的基础,只有在实习期间尽快调整好自己的学习方式,适应社会,才能被这个社会所接纳,进而生存发展。
刚进入实习单位的时候我有些担心,在大学学习软件工程专业知识与实习岗位所需的知识有些脱节,但在经历了几天的适应过程之后,我慢慢调整观念,正确认识了实习单位和个人的岗位以及发展方向。我相信只要我们立足于现实,改变和调整看问题的角度,锐意进取,在成才的道路上不断攀登,有朝一日,那些成才的机遇就会纷至沓来,促使我们成为软件工程专业公认的人才。我坚信“实践是检验真理的唯一标准”,只有把从书本上学到的软件工程专业理论知识应用于实践中,才能真正掌握这门知识。因此,我作为一名软件工程专业的学生,有幸参加了为期近三个月的毕业实习。
一、实习目的及任务
经过了大学四年软件工程专业的理论进修,使我们软件工程专业的基础知识有了根本掌握。我们即将离开大学校园,作为大学毕业生,心中想得更多的是如何去做好自己专业发展、如何更好的去完成以后工作中每一个任务。本次实习的目的及任务要求:
1.1实习目的
①为了将自己所学软件工程专业知识运用在社会实践中,在实践中巩固自己的理论知识,将学习的理论知识运用于实践当中,反过来检验书本上理论的正确性,锻炼自己的动手能力,培养实际工作能力和分析能力,以达到学以致用的目的。通过软件工程的专业实习,深化已经学过的理论知识,提高综合运用所学过的知识,并且培养自己发现问题、解决问题的能力。
②通过软件工程专业岗位实习,更广泛的直接接触社会,了解社会需要,加深对社会的认识,增强自身对社会的适应性,将自己融合到社会中去,培养自己的实践能力,缩短我们从一名大学生到一名工作人员之间的观念与业务距离。为以后进一步走向社会打下坚实的基础;
③通过实习,了解软件工程专业岗位工作流程,从而确立自己在最擅长的.工作岗位。为自己未来的职业生涯规划起到关键的指导作用。通过实习过程,获得更多与自己专业相关的知识,扩宽知识面,增加社会阅历。接触更多的人,在实践中锻炼胆量,提升自己的沟通能力和其他社交能力。培养更好的职业道德,树立好正确的职业道德观。
1.2实习任务要求
①在软件工程岗位实习期间,严格遵守实习单位的规章制度,服从毕业实习专业指导老师的安排,做好实习笔记,注重理论与实践相结合,善于发现问题
②在实习过程,有严格的时间观念,不迟到不早退,虚心向有经验的同事请教,积极主动完成实习单位分配的任务,与单位同事和谐相处;
③每天都认真总结当天的实习工作所遇到的问题和收获体会,做好工作反思,并按照学校毕业实习要求及时撰写毕业实习日记。
二、实习单位及岗位简介
2.1实习单位简介浙江xxxx系统工程有限公司成立于xxxx年,是一家专注于xx产品和xxx产品研究、开发、生产及销售的高科技企业,总部及研发基地设立于xxxx科技创业园,并在全国各地设有分支机构。公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。
浙江xxxx系统工程有限公司自成立以来,始终坚持以人才为本、诚信立业的经营原则,荟萃业界精英,将国外先进的信息技术、管理方法及企业经验与国内企业的具体实际相结合,为企业提供全方位的解决方案,帮助企业提高管理水平和生产能力,使企业在激烈的市场竞争中始终保持竞争力,实现企业快速、稳定地发展。
公司人才结构合理,拥有多名博士作为主要的技术骨干,具有硕士、学士高中级技术职称的员工达800多人。为了开发出真正适合企业需求的xxxx产品,企业特聘请软件工程专业专家(中科院院士)作为咨询顾问,紧密跟踪软件工程行业发展特点,不断优化。
2.2实习岗位简介(概况)
A.参与软件工程岗位的日常工作,参与组织制定单位软件工程岗位发展规划和年度工作计划(包括年度经费使用计划,仪器设备申购计划等),并协助同事组织实施和检查执行情况。
B.协助主管领导科学管理,贯彻、实施有关规章制度。确定自己在软件工程专业岗位的工作职责与任务,定期进修和业务相关的知识,不断提高业务水平和工作能力。
C.在工作过程,跟同事一起通过与客户的洽谈,现场勘察,尽可能多地了解客户从事的职业、喜好、业主要求的使用功能和追求的风格等。努力提高客户建立良好关系能力,给客户量身打造设计方案。
三、实习内容(过程)
3.1举行计算科学与技术专业岗位上岗培训。
我很荣幸进入浙江xxxx系统工程有限公司开展毕业实习。为了更好地适应从学生到一个具备完善职业技能的工作人员,实习单位主管领导首先给我们分发软件工程专业岗位从业相关知识材料进行一些基础知识的自主学习,并安排专门的老同事对岗位所涉及的相关知识进行专项培训。
3.2适应软件工程专业岗位工作。
为期两个多月的毕业实习是我人生的一个重要转折点。校园与职场、学习与工作、学生与员工之间存在着思想观念、做人处事等各方面的巨大差异。从象牙塔走向社会,在这个转换的过程中,人的观点、行为方式、心理等方面都要做适当的调整和适应。我在软件工程专业岗位慢慢的熟悉工作环境和工作同事后,逐渐进入工作状态,每天按照分配的任务按时按量的完成。在逐渐适应岗位工作的过程中,我理解了工作的艰辛与独立自主生活的不易。在工作和同事相处过程中,即使是一件很平常的琐碎小事也不能有丝毫的大意,也让我明白一个道理:细节决定成败。
Java工程师实习周记 篇2
在大学的时光即将结束之际,为了能更好地衔接校园与职场,将所学的理论知识付诸实践,积累宝贵的工作经验,我怀着满心的期待和憧憬,走进了xx公司,开启了为期半年的实习之旅。这是我人生中一段重要的经历,不仅让我更深入地了解了软件行业,也让我对自己的未来有了更清晰的规划。
一、实习目的
1. 实践与理论结合:将在学校中积累的软件工程理论知识,如编程语言、算法、数据结构等,应用到实际的项目开发中,加深对知识的理解和运用能力。
2. 提升技术能力:接触和学习公司所使用的先进技术和工具,拓宽技术视野,提升自己的编程水平和解决复杂技术问题的能力。
3. 培养团队协作:在团队环境中工作,学会与不同性格、背景和技能的同事合作,共同完成项目目标,提升沟通和协作能力。
4. 熟悉工作流程:了解软件公司的项目开发流程,包括需求分析、设计、开发、测试、部署和维护等环节,适应职场的工作节奏和要求。
5. 明确职业方向:通过实习,亲身体验软件工程师的工作内容和职业发展路径,为自己毕业后的职业选择提供参考和依据。
二、实习时间
20xx年x月xx日至xx月xx日
三、实习地点
xx公司
四、实习内容
1. 项目熟悉与技术学习
初入公司,被分配到一个正在进行的项目组。首先,花费了一周左右的时间熟悉项目的背景、需求和现有架构。同时,学习公司内部使用的技术框架和开发工具。
2. 功能模块开发
在对项目有了一定了解后,开始承担一些相对独立的功能模块开发任务。从需求文档的分析,到设计方案的讨论,再到代码的实现和测试,全程参与其中。期间,遇到了不少技术难题,通过查阅大量的技术资料、向同事请教以及不断地调试,最终成功完成了功能模块的开发。
3. 代码优化与性能提升
随着项目的推进,参与了对已有代码的优化工作。通过对代码逻辑的重新梳理、算法的改进以及数据库查询的优化,提高了系统的性能和响应速度。
4. 参与团队协作与沟通
积极参与项目组的每日例会,向团队成员汇报自己的工作进展和遇到的问题。与同事们共同讨论解决方案,分享技术心得和经验。通过与团队的紧密合作,不仅顺利完成了自己的'任务,还协助解决了其他同事遇到的一些问题。
5. 接触项目部署与维护
在项目接近尾声时,参与了系统的部署工作,了解了服务器的配置和环境搭建。同时,也参与了部分线上问题的排查和维护,增强了对整个项目生命周期的理解。
五、总结
这半年的实习经历,对我来说是一次全方位的成长和锻炼。
在技术方面,我不仅掌握了新的技术和工具,还提升了自己解决实际问题的能力。学会了如何在面对复杂的业务需求时,设计出高效、可扩展的解决方案。同时,通过对代码的不断优化和性能提升,培养了自己对代码质量的追求和严谨的编程习惯。
在团队协作方面,我深刻体会到了团队的力量。每个成员都有自己的专长和优势,通过相互学习和支持,能够共同攻克一个又一个的难关。良好的沟通和协作氛围,让工作变得更加高效和愉快。
然而,我也意识到自己存在一些不足之处。例如,在面对一些紧急情况时,有时会显得有些紧张和不知所措,处理问题的效率还有待提高。另外,在技术的深度和广度上,还有很大的提升空间。
实习结束后,我更加明确了自己未来的发展方向。我将继续努力学习和提升自己的技术水平,不断完善自己的综合素质,为成为一名优秀的软件工程师而努力奋斗。同时,我也非常感谢xx公司给予我这次宝贵的实习机会,感谢领导和同事们在实习期间对我的指导和帮助。
Java工程师实习周记 篇3
作为一名即将毕业的大四学生,我深知实践对于巩固和拓展专业知识的重要性。为了更好地将理论与实际相结合,提升自己的专业技能和综合素质,我在xx软件公司进行了为期半年的实习。这段实习经历让我收获颇丰,也为我未来的职业发展打下了坚实的基础。
一、实习目的
1. 深入了解软件开发的实际流程和工作模式,将在学校学到的理论知识应用到实际项目中,提高自己的实践能力。
2. 学习和掌握行业内最新的技术和工具,不断提升自己的技术水平。
3. 培养团队合作精神,学会与不同背景和性格的同事有效地沟通和协作。
4. 积累项目经验,提高解决实际问题的能力,增强自己的职业竞争力。
二、实习时间
20xx年x月xx日至xx月xx日
三、实习地点
xx软件公司
四、实习内容
1. 入职初期培训
刚进入公司,参加了为期两周的入职培训。培训内容包括公司的规章制度、开发流程、技术框架以及团队协作方式等。通过培训,对公司的工作环境和业务有了初步的了解。
2. 参与项目开发
培训结束后,被分配到一个项目组,参与了一款企业管理软件的开发。在项目中,主要负责后端部分的功能实现。根据项目需求,进行数据库设计、接口开发以及业务逻辑的编写。在这个过程中,使用了软件技术,遇到了一些技术难题,如数据并发处理、性能优化等。通过查阅相关资料、请教同事以及不断地调试,最终成功解决了这些问题。
3. 代码审查与优化
定期参与团队的代码审查会议,与同事们一起对彼此的代码进行审查和评价。通过这个过程,学习到了不同的'编程风格和技巧,同时也发现了自己代码中的不足之处,并进行了优化和改进。
4. 与团队协作
在项目开发过程中,与团队成员保持密切的沟通和协作。每天参加早会,汇报自己的工作进展和遇到的问题,共同讨论解决方案。通过与团队成员的合作,不仅提高了工作效率,还增进了彼此之间的信任和友谊。
五、实习总结
通过这半年的实习,我在技术、团队协作和问题解决能力等方面都取得了显著的进步。在技术方面,熟练掌握了计算机软件编程工具,能够独立完成复杂的开发任务。在团队协作方面,学会了倾听他人的意见和建议,有效地表达自己的想法,共同推动项目的进展。在问题解决能力方面,培养了冷静分析问题、查找根源并提出有效解决方案的能力。
然而,我也意识到自己还存在一些不足之处,比如在代码规范和文档撰写方面还有待提高,对一些新技术的掌握还不够深入。在未来的学习和工作中,我将继续努力,不断完善自己,争取成为一名优秀的软件工程师。
Java工程师实习周记 篇4
struts是开源软件。使用struts的目的是为了帮助我们减少在运用mvc设计模型来开发web应用的时间。如果我们想混合使用servlets和jsp的优点来建立可扩展的应用,struts是一个不错的选择。
软件工程师使用struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用mvc设计模型来开发web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用servlets和jsp的优点来建立可扩展的应用。 action,这个类通常由用户提供,该控制器负责接收来自actionservlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给jsp页面显示。
model 部分:由javabean组成,actionform用于封装用户的请求参数,封装成actionform对象,该对象被actionservlet转发给action,action根据actionform里面的请求参数处理用户的请求。javabean则封装了底层的业务逻辑,包括数据库访问等。
view部分:该部分采用jsp实现。struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与model的有效交互,并增加了现实功能。对应上图的jsp部分。
controller 组件:controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的actionservlet。该控制器由 struts框架提供,继承httpservlet类,因此可以配臵成标注的servlet。该控制器负责拦截所有的http请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用
model来完成处理。对应action部分。
总结:学习了才知道struts很强大。
Java工程师实习周记 篇5
转眼间,来到公司接近一个月了,从校园里走到实习岗位,学习环境变了,与周围的人的关系变了,一开始最重要的就是做好角色的转变,融入到环境中。从学校学生到公司员工是一次非常重要的角色转变,同时也是一次人生的跨越。对于大学生来讲,这不是一道不可逾越的障碍,实习的机会也将是我未来职业生涯助力的跳板。在实习的适应阶段,我最重要的转变就是态度的变换,我自己也体会到态度决定着一切。作为一个新人,在加入新的团队中,态度是最应该去注意的。要有学会反思的习惯,回顾这一周的学习情况:
作为一名Java开发工程师,Java虚拟机是必须要了解的,其中的内存划分,工作原理自己要熟悉,所以这一周花了一部分时间阅读了Java虚拟机规范文档,学习了classloader机制,了解并熟悉了虚拟机内存的划分以及其中的各项参数。先说一下什么是classloader机制?
当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的'方法,如果另外一个文件不存在的,则会引发系统异常。而程序在启动的时候,并不会一次性加载程序所要用的所有class文件,而是根据程序的需要,通过Java的类加载机制(ClassLoader)来动态加载某个class文件到内存当中的,从而只有class文件被载入到了内存之后,才能被其它class所引用。所以ClassLoader就是用来动态加载class文件到内存当中用的。
Java虚拟机提供了三层classLoader
Bootstrap classLoader:采用native code实现,是JVM的一部分,主要加载JVM自身工作需要的类,如java.lang.、java.uti.等; 这些类位于$JAVA_HOME/jre/lib/rt.jar。Bootstrap ClassLoader不继承自ClassLoader,因为它不是一个普通的Java类,底层由C++编写,已嵌入到了JVM内核当中,当JVM启动后,Bootstrap ClassLoader也随着启动,负责加载完核心类库后,并构造Extension ClassLoader和App ClassLoader类加载器。
ExtClassLoader:扩展的class loader,加载位于$JAVA_HOME/jre/lib/ext目录下的扩展jar。
AppClassLoader:系统class loader,父类是ExtClassLoader,加载$CLASSPATH下的目录和jar;它负责加载应用程序主函数类。
其实了解了classloader机制,个人觉得比较重要的还是要学会自定义类加载器。为什么要学会自定义类加载器?
JVM提供的类加载器,只能加载指定目录的jar和class,如果我们想加载其他位置的类或jar时,例如加载网络上的一个class文件,默认的ClassLoader就不能满足我们的需求了,所以需要定义自己的类加载器。
Java工程师实习周记 篇6
一、 ajax是什么?在传统的web应用中,用户与应用的每一次交互,都是首先用户通过浏览器向服务器端发送一个请求,服务器解析这个请求,将相应的响应信息返回给浏览器。在服务器端业务逻辑非常复杂或者需要耗时较长的情况下,浏览器等待刷新时,页面经常是一片空白,用户只能被动等待服务器端响应完成,在此期间客户不能在页面上做任何操作,带给用户非常糟糕的体验。它包括:基于xhtml和css标准的表示;使用dom进行动态显示和交互;使用xml和 xslt进行数据交换与处理使用xmlhttprequest与服务器进行异步通信;使用javascript绑定一切。
二、使用ajax 的利弊:使用ajax,可以为开发人员、终端用户带来可见的便捷:减轻服务器的负担。ajax的原则是“按需取数据”,可以最大程度的减少冗余请求和响应对服务器造成的负担。无刷新更新页面,减少用户心理和实际的等待时间。特别是当读取大量数据的时候,ajax使用xmlhttp对象发送请求并获取服务器响应,在不重新载入整个页面的情况下用javascript操作dom最终更新页面。在读取数据的过程中,用户面对的不是白屏,是原来页面的内容,用户可以继续进行其他操作,只有当数据接收完毕之后才更新相应部分内容。带来更好的用户体验。一直以来,b/s程序在用户易操作性、界面友好性上跟c/s相比都有较大的差距,随着ajax的应用,这种情况将得到较大的改观。可以把以前服务器负担的一些工作转嫁到客户端,利用客户端闲臵的能力来处理,减轻服务器的负担。
Java工程师实习周记 篇7
一、实习地点
重庆亚德科技股份有限公司
二、实习内容
我于20xx年6月13日来到公司作为开发工程师实习生至今,在亚德公司实习了一年了,这一年我从一个只能翻阅教程抄写代码看运行结果的学生,成为了能熟练开发各功能模块、搭设框架的合格新员工。我觉得这样的蜕变是源于在参与公司各个项目的开发中不断积累的开发经验及离不开同事与经理的帮助与支持。
在刚进公司实习时,我和另一位实习生同事开始接触到人生第一个商用项目“电大短信平台”,并共同参与开发了其中的联系人模块。使用的技术是struts2+ibatis,第一次接触到不同于学校里学到的简单的serverlet+jdbc和复杂SSH不同的ibatis时,我们都比较紧张,因为我们都想给同事和经理一个好的印象。但同时我又很兴奋,为这种在别人眼里简单的东西感到了一种挑战的兴奋。因为在学校里学习到的知识与实际开发所要求的能力有一定差距,我开始请教同事,开始查找资料,看同事的写的其他模块以及demo。在整个参与开发模块的过程中,我们通过虚心的求教与耐心的查看demo与资料,不仅了解和熟练使用了ibatis,更和同事之间的关系更进一步,让他们接受了我们这些实习生,并悉心帮助我们成长。在此之后我们又用同样的技术参与开发了“UME”项目的WAP网站中的模块、“河套大学数组迎新”部分模块,在这过程中,了解了各项常用框架与技术后,我渐渐能熟练开发WAP网站,并独立开发了“重庆交通大学OA”WAP版、“重庆师范学院学工”WAP版、“内蒙古河套大学OA”WAP版以及参与开发了“废宝网”WAP版本,后又参与学工项目组参加了“重庆师范大学学工系统”前台开发以及出差绵阳对项目“绵阳师范学院OA系统”承包商进行实施监督。在这样宝贵的开发工作中,不断的加强了自己独立开发能力与协调工作能力。
三、实习总结
上面就是我对本此实习所做的工作经历与项目的简单的理解。对于这些知识和做项目的经验,我都认为是弥足珍贵的,将受用一生。同时总结一下,我学到的东西。首先,学会了自主学习。工作之后,不会有人像同事与经理一样给你讲,而是一切要自己主动去学去做。只要你想学习,学习的机会还是很多的,要虚心像别人请教。其次,要端正自己的态度。一定要有一个积极的态度,才能更好的提高自己。像我这样的.新人,更需要通过多做多问来积累经验。然后,要学会为人处事,和与人合作。现在的公司都比较注重这方面,看你的团队合作能力是否强,很好的与人相处也是一种能力。同时,工作后就要面对更为复杂的关系。无论是和领导、同事还是客户接触,都要做到妥善处理,要多沟通,并要设身处地从对方角度换位思考,而不是只是考虑自己的事。
感谢公司给我们这次宝贵的实习经验,同时也要感谢同事与经理对我们的细心指导。本次实习所学到的这些知识很多是我个人在课堂上很少接触的或没有很好理解的,但是在实际的工作中又十分重要、十分基础的知识。通过本次实习我不但积累了许多经验、还使我在实践中得到了锻炼。这段经历使我明白了“纸上得来终觉浅,绝知此事要躬行”的真正含义——从书本上得到的知识终归是浅薄的,未能理解知识的真谛,要真正理解书中的深刻道理,必须亲身去实践。
Java工程师实习周记 篇8
一、实习时间
20xx年x月x日--20xx年x月x日
二、实习地点
无锡NIIT软件服务外包实训基地
三、实习目的
进一步了解Java开发的相关知识,掌握Java开发的基本技术,丰富Java开发的实战经验。学习SQL的基础知识及正确的运用方法,ssh等企业应用框架和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
四、实习内容概要
应用java基础、MySQL数据库、Servlet技术、JSP页面设计、JQuery、ajax、hibernate、struts2、spring、xml等技术完成网站后台的开发。
五、实习内容
5.1 java基础知识
Java的基础知识对于一个java软件工程师来说就好比是人的灵魂,现在的公司在招聘的时候不在乎你会不会流行的技术,如(Struts、Hibernate、Spring、ibatis等)他看重的是你的基础扎不扎实,对于网易、腾讯等大公司来说更是如此,我们在开发过程中运用了大量的java基础知识,如类、对象、方法、成员变量、静态变量、封装、继承、多态、异常、接口、抽象类、IO流等等等等,所以一个系统对于java编程基础的依赖便不言而喻。
5.2MySQL、Oracle数据库的介绍
MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。Oracle则是以稳定性著称,在访问量和数据大量交换的服务器中,Oracle占了大臂的江山,在开发中主要用到了数据库的查询语句、数据库的关系、事物等
5.3 Java中的常用设计模式
5.3.1工厂模式
客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。
5.3.2单例模式
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。
5.4 Servlet & JSP技术的介绍
5.4.1什么是Servlet
一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的servlet类。
javax.servlet和javax.servlet.http包为编写servlet提供了接口和类。所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。
5.4.2 Servlet的生命周期
一个servlet的生命周期由部署servlet的容器来控制。当一个请求映射到一个servlet时,该容器执行下列步骤。
5.4.3 JSP介绍
5.4.4 JSP & Servlet
Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。现在许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器,也可以通过附件的应用服务器和模块来支持Servlet,这得益于Java的跨平台特性。另外,由于Servlet内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Servlet的效率非常高。
5.5 MVC模式
为了把表现层presentation从请求处理request processing和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于网络层的模-视图-控件模式(比如Struts和Spring framework)。
5.6 xml & jquery & ajax
5.6.1 xml
Xml是用于标记电子文件使其具有结构性的标记语言,可以用来标记
数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。主要学习了xml的语法与读取xml。
5.6.2 jquery
query是继prototype之后又一个优秀的Javascript框架,jQuery使用户能更方便地处理HTML documents、events、实现动画效果,jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
5.6.3 ajax
Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet
Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户,AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
5.7三大框架
5.7.1 Struts2
Struts 2是Struts的下一代产品,是在struts 1和WebWork的技术基础上进行了
合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截的机器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
5.7.2 Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量
级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
5.7.3 Spring
spring在英文里有春天、弹簧、跳跃和泉眼的意思。Spring也表示是
一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
六、实习总结及体会
通过这次实习机会,我主要学习了以上这些java编程的技术,同时也明白了身处公司中如何更好地与同事配合,毕竟在软件开发中,你不可能一个人干完一个系统,大家都是通过svn等团队管理工具互相配合完成编程任务。在实习之前,我对软件开发的过程只有一个模糊地印象,以为只要把代码编写完之后就算基本上一个项目开发完毕了。然而通过这次实习,彻底颠覆了我的认知,我当时的认知无疑是非常幼稚和可笑的,完全的软件开发过程不只只是编写代码,在编写代码之前还有好多的事情要做,比如文档的编写、对项目进行需求分析、数据库设计等等。代码编写完成之后还要进行测试,以及人员的培训,这些都是必须做,也是必不可少的项目,甚至比代码的编写还重要。
以前总是觉得自己干不好编程,没有足够的自信,但通过一系列知识的学习,还有人际交往能力的提高,我渐渐地认识到如果个人想要在公司立足,除了要有扎实的知识基础,还必须具备良好的交流沟通能力,虽然现在我在公司基本没出现加班的情况,但做这一行就得做好心里准备,时刻准备战斗,对于我们现在这个阶段来说,实践就是提高的唯一捷径,在这个关键的阶段中,你必须做到肯吃苦,不怕累,让知识和技能来充实你的生活,但你回想这一刻的时候,你并不在乎当初赚的工资是多少,上班的时间是多久,你只在乎的'是你的技能、经验、人际关系的提高,这样会给你带来一种成就感,对于即将毕业的大学生来说,经验与经历是你以后发展的敲门砖,即将面对社会的我们,再也没有校园那一堵堵围墙能给我们安全感并保护着我们,我们需要面对社会,同其他人竞争,如果你现在还在纠结这份工作很辛苦、工资很低,那你就错了,你要纠结的是这份工作能不能学到东西,你的能力跟你的报酬对不对等,如果当你发现你的能力跟你的报酬严重不对等或是没东西学习的时候,那时你可以选择到别的地方发展。
现在的我没事也会去一些java的QQ群跟大家交流一番,在这里你能找到很多程序猿(程序员的网络叫法),大家一起讨论技术,讨论问题,探讨人生,虽然很多时候都是在八卦,但只有他们才能理解这个职业的艰辛,才能与你感同身受。我在开发期间也遇到很多问题,但是我会试着到网络去找答案,如果实在找不到我会试着问问我的上级,或者跟一些朋友讨论一下,如果发现了这个问题的答案我会及时把它记录下来,方便以后遇到问题可以随时翻阅,我相信好记性不如烂笔头这句话,我也相信如果一个程序员写的代码没有错误那只能证明他没写过代码,虽然我比较懒,但我现在有空的时候都会对着电脑敲代码,我相信手感是敲出来的,你看10遍都不如你敲一遍来得印象深刻。
通过这次实习,我认识到了一个软件开发的完整的过程,为我今后进行实际的工作奠定了坚实的基础。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,在今后的学习中我会严于律己,认真学习有关软件编程的课,为以后的工作打好坚实的基础。