1、个人收集整理 勿做商业用途新疆财经大学计算机科学与工程学院毕业实习报告学号: 2007101435姓名:刘 春 梅班级:计算机071班实习单位:加拿大达内科技重庆分公司实习时间:2010年8月25日2011年1月18日指导教师:张 菊 玲 二一一年二月Java Web实习报告一、实习内容 (介绍实习目的和任务,实习单位情况及自己具体实习内容等)1、实习目的 进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验.学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们
2、动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。2、实习具体内容Mysql数据库1) MySQL数据库管理系统概述MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型.数据库是数据的结构化集合.计算机是处理大量数据的理想工具,因此,数据库
3、管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。MySQL服务器还有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。在我们的基准测试主页上,给出了MySQL服务器和其他数据库管理器的比较结果。MySQL服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境.尽管MySQL始终在不断发展,但目前MySQL服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使的MySQL十分适合于访问Internet上的数据库。2) MySQL稳定性每次发布的MySQL服
4、务器均是可用的。仅当用户尝试源自“灰色区域的代码时才会出现问题。当然,新用户不了解“灰色区域”是什么。因此,在本节中,我们介绍了目前已知的这类区域。本节所作的介绍主要针对MySQL服务器5。0版和更高版本。在最新的版本中,更正了所有已知和通报的缺陷,但“缺陷”一节所列的除外,这类缺陷与设计有关.java与SQL的应用Java语言是编写数据库应用程序的杰出语言之一,它提供了方便访问数据的技术。利用Java语言中的JDBC技术,用户能方便地开发出基于Web网页的数据库访问程序,从而扩充网络应用功能。JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行S
5、QL语句的Java API,可以为多种关系数据库提供统一的访问接口。JDBC由一组用Java语言编写的类与接口组成,通过调用这些类和接口所提供的方法,用户能够以一致的方式连接多种不同的数据库系统(如Access、SQL Server 2000、Oracle、Sybase等),进而可使用标准的SQL语言来存取数据库中的数据,而不必再为每一种数据库系统编写不同的Java程序代码.SQL Server2000是微软公司新一代的数据库产品,它是在SQL Server7。0建立的坚固基础上产生的,并对SQL Server7.0做了大量扩展。SQL Server2000通过高端硬件平台以及最新网络和存储技
6、术的支持,可为最大的Web站点和企业级应用提供可扩展性和高可靠性.Java中的常用设计模式1) 工厂模式客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改.如:如何创建及如何向客户端提供。 3)工厂方法模式核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。控制技术-Servlet技术1) 什么是Servlet?一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服
7、务器上驻留着可以通过“请求响应”编程模型来访问的应用程序.虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类。javax。servlet和javax。servlet.http包为编写servlet提供了接口和类。所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。2) Servlet的生命周期一个servlet的生命周期由部署servlet的容器来控制。当一个请求映射到一个servlet时,该容器执行下列步骤。页面设计-JSP页面1)MVC 模式为
8、了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种“模型视图-控制器Modelviewcontroller 模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页.有几种平台都基于服务于网络层的模视图-控件 模式(比如Struts 和Spring framework)。 2) JSP技术的强势(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持.基本上可以
9、在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 3) JSP技术的弱势(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由
10、于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和。class文件,以及对应的版本文件。 4) JSP内置对象(1)request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。(2)response对象:对客户的请求做出动态的响应,向客户端发送数据。(3)session对象session对象是一个JSP内置对象,它在第一
11、个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。(4)application对象服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的applicati
12、on对象。(5)out对象out对象是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。 (正文:宋体,小四号) 二、实习表现(宋体,加粗,四号)(实习中自己的学习、工作表现、态度怎样,有没有按单位要求做,做得好与否) 1、(宋体,加粗,小四号) (正文:宋体,小四号)2、 (宋体,加粗,小四号)三、实习收获与体会(宋体,加粗,四号、左对齐)实习是为将来打基础的重要阶段,珍惜自己每一个工作的机会,不论什么人,什么学历,从事什么工作,好好的表现、展示自己的能力,不要错过好的机遇.没有一件事情是轻轻松松的,但每一件事都是让人成长的,经历一段过程,喜悦或是艰辛,尽管经历的方式不尽相同,
13、但它的结果是相同的,我们都会因涉事而成长.通过实习,我自身发生了重大的转变.首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,我要坚定自己的信念,在公司好好实习,争取提早转正,我相信我会在JAVA开发这条路上走的更长更远.四、实习总结以企业实际的Java开发技术为主线构建完善的实训项目体系,通过一个月的软件开发知识学习并结合企业项目实训,努力培养参训学员独立分析问题和解决问
14、题的能力,使我们亲身体验软件开发的流程,熟练掌握软件开发必备知识与技能、技巧,适应团队合作的工作模式,提高沟通交流的能力。通过实训,使实训员工在毕业后具有从事软件开发的技术能力,不管是从专业技能还是职业修养方面,都将比没有参训的同学更具有岗位竞争能力,顺利地走上软件开发的工作岗位. 1) 按照项目管理的要求,以项目实战的形式,在实训的过程中使我清楚理解软件开发流程,能独立地按规范撰写软件开发过程中各阶段文档; 2) 通过实训,我们将具有熟练的编码能力,掌握主流的开发技术,具有一定的独立编码工作能力; 在项目编程中,让我注意到了好多细节:Java命令的两种方式运行:一种不用指明路径一种是需要指明
15、路径的.对于前者,需要配置环境变量时注意路径的设置。Java中继承只能是单继承,这点与C+不同;Final被其修饰过的类和方法都不可以被继承;一个类的两个实例对象,用equals()比较的结果相等时,他们的hashcode一定相等。反之不成立;当一个对象存储进HashSet后,就不能修改这个对象参与hash运算的属性。否则就会造成内存泄露。注意Properties与map类似,但是只能保存String类型的;List与Set的区别:List存取顺序一致,可以有重复元素;Set存取顺序不一致,不可以有重复元素。联合主键的时候只能使用表级约束;通过alter添加主键约束,运行报错时能提示其名称。G
16、et与Post方法的区别Get方法:用户数据作为 URL 中的查询字符串传递给服务器,而body中的数据为空Post方法:用户数据在body中传输给服务器Get方法所传输的数据量有限制,Post方法则没有限制Get方法所传输的数据在url中可见,post则不可见网页常见的错误: 404:访问路径找不到 500:指servlet内部代码有问题JSP运行的过程:Hello.jsp(Tomcat转译)hello_jsp。java-(JDK编译)-hello_jsp。class -(JDK运行)输出HTML响应页面3) 通过实训,我们理解并熟悉面向对象的编程方式,具有一定的分析与设计能力,能较熟练地使
17、用一种 Case 建模工具进行软件开发建模(JUDE Community); JUDE 是一款轻巧灵活、快速建模、轻量级的全新UML建模工具,支持UML1。4 规范中定义的所有UML图,并且独创性地集成了思维导图。采用100%纯JAVA构建。JUDE 不仅能够实现分布式建模、项目合并,还能够实现和其他建模工具的交互。JUDE支持将UML图导出为PNG和JPEG两种图片格式,而且还可以导出为HTML文件。JUDE的JAVA 导入导出功能可以很方便地生成UML图和Java代码。4) 通过实训,使我更加深入的掌握 MyEclipse 开发工具以及 VisualSVN Server 的配置和使用方法(服务器端)VisualSVN Server是免费的,而VisualSVN是收费的。VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端,包括Subversion、Apache和用户及权限管理。5) 通过实训,我们能熟悉软件企业工作环境和工作方式,清楚项目中团队成员的角色分工及沟通协作技巧,培养团队协同工作的能力。 6) 通过实训,我们学习了“职业素养”,可以体验从学生到实习员工的转变. 7