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