当前位置:文档之家› java软件工程师顶岗实习报告

java软件工程师顶岗实习报告

实习报告一、实习目的进一步了解Java开发的相关知识,掌握Java开发的基本技术,丰富Java开发的实战经验。

学习SQL的基础知识及正确的运用方法,ssh等企业应用框架和有用的相关技术,提高自己的工作效率。

通过实习,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。

为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。

二、实习单位xxxxxxxxx有限公司三、岗位介绍Java软件工程师,学习基于Java平台的Web应用和设计知识。

主要应用java基础、MySQL数据库、Servlet技术、JSP页面设计、JQuery、ajax、maven、freemarket、hibernate、struts2、spring、xml等技术完成网站与游戏后台的开发四、实习安排第一阶段:linux第二阶段:java基础知识第三阶段:数据库设计(oracle、mysql)第四阶段:Servlet & JSP;第五阶段:xml & jquery & ajax第六阶段:三大框架第七阶段:maven项目管理第八阶段:freemarket模版技术第九阶段:自学lucene与支付宝等网上支付五、实习内容5.1 linux系统介绍Linux是一种自由和开放源码的类Unix的操作系统,公司所用服务器一般部署在linux系统下,linux系统以开源免费和稳定著称,我们主要认识了linux的文件系统、分区系统、常用命令,主要学习了linux的常用命令5.2 java基础知识Java的基础知识对于一个java软件工程师来说就好比是人的灵魂,现在的公司在招聘的时候不在乎你会不会流行的技术,如(Struts、Hibernate、Spring、ibatis等)他看重的是你的基础扎不扎实,对于网易、腾讯等大公司来说更是如此,我们在开发过程中运用了大量的java基础知识,如类、对象、方法、成员变量、静态变量、封装、继承、多态、异常、接口、抽象类、IO流…等等等等,所以一个系统对于java 编程基础的依赖便不言而喻。

5.3 MySQL、Oracle数据库的介绍MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB 公司开发、发布并支持的。

MySQL AB是由多名MySQL开发人创办的一家商业公司。

它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。

Oracle则是以稳定性著称,在访问量和数据大量交换的服务器中,Oracle占了大臂的江山,在开发中主要用到了数据库的查询语句、数据库的关系、事物等5.4 Java中的常用设计模式5.4.1 工厂模式客户类和工厂类分开。

消费者任何时候需要某种产品,只需向工厂请求即可。

消费者无须修改就可以接纳新产品。

缺点是当产品修改时,工厂类也要做相应的修改。

如:如何创建及如何向客户端提供。

5.4.2 单例模式单例模式的意思就是只有一个实例。

单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

这个类称为单例类。

5.5 Servlet & JSP技术的介绍5.5.1 什么是Servlet一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。

虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。

Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类。

javax.servlet和javax.servlet.http包为编写servlet提供了接口和类。

所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。

5.5.2 Servlet的生命周期一个servlet的生命周期由部署servlet的容器来控制。

当一个请求映射到一个servlet时,该容器执行下列步骤。

5.5.3 JSP介绍JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态技术标准。

在传统的网页HTML文件(*.htm,*.html)中加入Java 程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。

所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页5.5.4 JSP & ServletJava Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。

现在许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器,也可以通过附件的应用服务器和模块来支持Servlet,这得益于Java的跨平台特性。

另外,由于Servlet内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Servlet的效率非常高5.6 MVC 模式为了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller 模式。

规范的SERVLET或者分离的JSP文件用于处理请求。

当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。

有几种平台都基于服务于网络层的模-视图-控件模式(比如Struts 和Spring framework)。

5.7 xml & jquery & ajax5.7.1 xmlXml是用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

主要学习了xml的语法与读取xml5.7.2 jqueryquery是继prototype之后又一个优秀的Javascript框架,jQuery使用户能更方便地处理HTML documents、events、实现动画效果,jQuery 还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可5.7.2 ajaxAjax的核心是JavaScript对象XmlHttpRequest。

该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。

简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户,AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。

5.8 三大框架5.8.1 Struts2Struts 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.8.2 HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

5.8.3 Springspring在英文里有春天、弹簧、跳跃和泉眼的意思。

Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。

框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。

然而,Spring的用途不仅限于服务器端的开发。

从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

5.9 mavenMaven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具,Maven 除了以程序构建能力为特色之外,还提供Ant 所缺少的高级项目管理工具。

由于Maven 的缺省构建规则有较高的可重用性,所以常常用两三行Maven 构建脚本就可以构建简单的项目,而使用Ant 则需要十几行。

事实上,由于Maven 的面向项目的方法,许多Apache Jakarta 项目现在使用Maven,而且公司项目采用Maven 的比例在持续增长。

5.10 freemarketFreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。

FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。

它不仅可以用作表现层的实现技术。

FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。

模板用servlet提供的数据动态地生成HTML。

模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。

虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。

5.11 luceneLucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。

Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。

在Java开发环境里Lucene是一个成熟的免费开源工具。

就其本身而言,Lucene是目前以及最近几年最受欢迎的免费Java资讯检索程式库。

相关主题