工作总结总结报告之java开发实习总结总结报告:

  java 开发实习报告 【篇一: javaweb 实习报告】

 javaweb 实习报告

 一、实习目的与任务

 为了锻炼我们的实践动手能力,提高我们分析问题、解决问题的能

 力,培养我们的工作意识和团队合作的意识,了解软件开发的过程

 和基本流程 ,以便于帮助我们能够在大四毕业时可找到一份客观的工作,我们在大四刚开学就开始了生产实习。

  这次实习的主要任务是 java web 软件开发,学习 java 开发中比较典型且经常用到的几个知识,其中包括 jsp 、servlet 、html 、jdbc 等等,另外, java 开发中也必须要用到数据库,因此实习中还加入 了 mysql 数据库的学习。掌握了这些基本知识之后,就开始真正的 项目开发,而且此次我们所要开发的项目是有关博客页面的项目,

 并完成老师指定的功能。

 二、实习地点

 重庆足下科技有限公司

 三、实习内容和要求

 我们这次实习,在校外也就是软帝公司总共是十天,开始几天基本

 上是每天学习一个方面的内容,大概学习了六天其中包括 jsp 、

 servlet 、html 、jdbc 、mysql 等等,剩下几天就是项目时间,做出

 一个博客开发的项目。大致内容如下:

 一、java 语言简介

  java 语言 java 是由 sun 微系统公司所发展出来的程序语言,它是一种面向地向的语言, java 也号称是能跨平台使用的语言,这主要

 是因为 java 本身被编译之后,并不是直接产生可执行的代码,而是

 产生一种中间码叫作 bytecode ,这种代码必需在透过 java 的直译

 器来解读它,才能够真正的被执行,所以只要平台上装有这种 java

 的直译器,就能解读 bytecode 也就能执行 java 编译过的程序,故

 与 java 程序是在那种平台上被编译的,就完全没有干系了。

 java 写出来的程序可分为两类,分别是 java applet 与一般的 application ,而 application 这一类就与一般的程序如 c++ 的作用是比较类似的,是一个独立可执行的应用程序,像 hotjava 是一个 浏览器,且就是使用 java 程序所发展出来的。最常见的 java 程序包

 括应用程序和 applets 。应用程序是单独的程序,诸如 hotjava 浏览

 器软件就是用 java 语言编写的。

  applets 类似于应用程序,但是它们不能单独运行, applets 可以在支持 java 的浏览器中运行。

 applet 主要是内置于 html 网页中, 在浏览时发挥作用。

  java 的目标是为了满足在一个充满各式各样不同种机器,不同操作系统平台的网络环境中开发软件。利用 java 程序语言,可以进行网 页开发,其中包括静态语言开发与动态网页开发,可以在网页中加

 入各式各样的动态效果,可以放上一段动画,加入声音,也可以建

 立交互式网页等。

 二、html 语言

  html 是超文本标记语言,它是一种非严格的标记语言,它是 web开发的基础,也是制作网页的基础,纯 html 的页面是静态的。

 html 它由 head 和 body 两部分组成,所写的内容一般都是放在body 中,其中可以添加 form 表单域,其中属性 action 表示提交的动作,也就是提交到那个页面,可表示为 action= “”;method 属性表示提交的方法,一般为设为 post;在 form 表单域中添加 table 表,table 中的属性只有很多,常用的有 width 、height 、align 、colspan

 等等,当然,有表就会有行和列,其中行用 tr 表示,列用 td 表示,

 行与列的属性值与 table 差不多。

  在行与列中还可以添加一些按钮,链接等等,添加按钮是用 input表示,添加链接则用 a href= 来添加,另外,还有一个比较有用的标

 签 div ,可以画出一个框,里面可以添加所需要的东西。

  运用 html 我们开发了一个 e-mail 邮件发送系统,这个界面主要用到了七个 htm 文件,有主页面 main.html ,其中主页面分为上部、

 左部和右部,分别用 top.html 、left.html 、right.html 文件来表示。

 另外还增加了登录页面( login.html )、注册页面( regist.html )以

 及书写邮件的页面( write.html ),由这些 html 文件共同实现了 e-

 mail 的基本界面。

 首先进入 login 登录界面,输入用户名和密码,而且用户名和密码

 有一定的限制,输入信息符合要求后方可进入主页面,另外,在登

 录界面的用户名后还有一个超链接 “注册 ”,点击 “注册 ”就可以进入

 注册的页面,注册页面上有五行,包括用户名、密码、重复密码以

 及上传头像,另外还有两个按钮 “提交注册 ”和“重置 ”,这样即可完

 成注册。

  登陆界面中还用到了 javascript ,用以给出用户名和密码的限制条件,其中有一个 function 方法,用到的代码如下:

 script type=text/javascript function checkinfo(){

 var name=document.getelementbyid(username).value; var pass=document.getelementbyid(pass).value; if(name==){

 alert( 请输入用户名! ); return false;

 }else{ if(pass==){

 alert( 请输入密码! ); return false;

 }else{ return true;

 } } } /script

 拿走,图标就暗了,

 另外,我们运用 html 还设计了一个 hao123 页面,页面中用到了 text 文本框、超链接、行列的布置,图片的加载等等,做出来之后,整体感觉与 hao123 本来的页面基本差不多。

 三、mysql 数据库

  mysql 是一种小型的数据库,它与 java 的联系十分密切, mysql 是一个小型关系型数据库管理系统 ,由于其体积小、速度快、总体拥有 成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站

 总体拥有成本而选择了 mysql 作为网站数据库 ,因此,网页编写大多

 数都是用 mysql 。

 mysql 是一个关联数据库,它将数据保存在不同的表中,而不是将

 所有数据放在一个大的仓库内。这样就增加了速度并提高了灵活性。

 mysql 的 sql 指得是 “结构化查询语言 ”,sql 是用于访问数据库的最常用标准化语言。同时, mysql 软件也是一种 “开放源码 ”的软件, 意味着任何人都能使用和改变软件。任何人都能从 internet 下载

 mysql 软件,而无需支付任何费用。如果愿意,你可以研究源码并

 进行恰当的更改,以满足你自己的需求。

 mysql 软件采用了 gpl

 (gnu 通用公共许可证),定义了在不同情况下可以用软件作的事

 和不可作的事。数据库服务器具有快速、可靠和易于使用。

  mysql 服务器还有一套实用的特性集合,在基准测试主页上,给出了 mysql 服务器和其他数据库管理器的比较结果。

 mysql 支持多种

 连接,包括 tcp/ip 、odbc 和 jdbc 等多种数据库连接途径 ,而我们

 此次实习用到的是 jdbc 数据库连接方法,这一点在下面会讲到。

 此次实习我们主要学习了如何在 mysql 数据库中建立表格,如何执

 行 sql 语句等等。首先,打开 mysql 编写框,执行语句 show

 databases ,即可查看 mysql 中有哪些数据库,运用 create+ 数据库名语句可建立想要的数据库,运用 use+ 数据库名即可进入对应的数据库。

  进入数据库之后,就可以执行数据库中的增、删、查、改等 sql 语句了,运用 create table + 表名(表中所需要的元素),这样就可以建立一张表了,运用 desc+ 表名就可以查看表,运用 sql 语句

 “select * from + 表名 ”就可以查看表中的所有数据,运用 “insertinto ”语句可以向表中添加数据;运用 “update +表 set where ”可以更改表中指定的某项数据;运用 “delete +表where ”语句可以删除表中的某项数据

 四、jdbc 数据库连接

  java 中的 jdbc ,jdbc 是 java data base connectivity 的缩写,是一种用于执行 sql 语句的 java api ,可以为多种关系数据库提供统一访问,它由一组用 java 语言编写的类和接口组成。

 jdbc 提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

 连接数据库的方法有一个模板,代码如下:

 public class dbmanager {

 private static final string url=jdbc:mysql://localhost:3306/test;private static final string user=root;private static final string password=123;private static connection conn=null;public static connection getconn(){try { if(conn==null){

 //注册驱动

 class.forname(com.mysql.jdbc.driver); conn=drivermanager.getconnection(url,user,password);

 } } catch (classnotfoundexception e) {

 e.printstacktrace();

 } catch (sqlexception e) { e.printstacktrace() ;} return conn;

 }}

 以后运用数据库连接基本上都是用这个模板,方便又有效,而且在

 其他地方连接数据

 库时都可以直接对其进行调用。

 通过 jdbc 我们可以连接到所用的数据库 mysql ,可以从数据库中提

 取数据,也可以将所写数据存入数据库,用 jdbc 连接数据库都是一

 个模式,基本上都是按照一个套路在写,运用 jdbc 以及 myeclipse

 工具,我们也做出了一个小型的系统。

 系统具有添加、查询、删除、修改、退出系统等功能,添加功能可

 以控制台中所写的信息添加到数据库中,查询信息则是根据 id 号从

 数据库中查询信息并将信息显示出来,增加、删除亦是如此,要做

 出这些功能首先都必须先连接到数据库,这就要用到 jdbc 技术,还

 要用到 connection 方法,首先加载 mysql 数据库的驱动,然后在

 创建连接,连接时要提供所用计算机的 ip 地址和端口号,以及

 mysql 数据库数据库的用户名和密码。

 连接好数据库后,再根据所需要的功能编写出对应的方法,不同方

 法对应不同的 sql 语句,例如添加信息( add )中用 insert 语句,删

 除用 delete 语句,修改用 update 语句等等,然后主函数中提供对

 功能的选择,不同的编号对应不同的功能,并且根据所选的功能调

 用的方法。

 五、jsp

  jsp 是 java server pages 的缩写,它是由 sun microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。

 jsp 技术

 有点类似 asp 技术,它是在传统的网页 html 文件(*.htm,*.html) 中

 插入 java 程序段 (javascript) 和 jsp 标记(tag) ,从而形成 jsp 文件

 (*.jsp) 。

  web 服务器在遇到访问 jsp 网页的请求时,首先执行其中的程序段,然后将执行结果连同 jsp 文件中的 html 代码一起返回给客户。插入

 的 java 程序段可以操作数据库、重新定向网页等,以实现建立动态

 网页所需要的功能。

  jsp 页面通常被编译成为 java servlets ,这是一个标准的 java 扩展。页面开发人员能够访问全部的 java 应用环境,以利用 java 技术的扩展性和可移植性。当 jsp 页面第一次被调用时,如果它还不存在,就会被编译成为一个 java servlets 类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应。

  我们所做的学生信息管理系统也需要用到 mysql 数据库和 jdbc 技术,所做的系统同样可以添加、修改、查询和删除学生信息,不过这些功能是运用不同的页面显示,点击不同的按钮即可跳转到所需的页面,而后获得想要的信息。每个功能都建立一个 jsp 页面,其中主页面是 index.jsp ,在这个页面中有两个链接,分别转到增加信息和浏览信息页面,浏览信息页面中还包括了对信息的修改和删除。

 例如,系统中浏览学生信息的页面的代码如下: body

 table align=center tr bgcolor=pink

 td width=100px align=center 学号/tdtd width=100px align=center 姓名/tdtd width=50px align=center 性别/tdtd width=50px align=center 年龄/tdtd width=160px align=center 专业/td td width=180px align=center 操作/td /tr

 c:foreach items=${stus} var=stutr

 td${stu.sno}/td

  td${stu.sname}/tdtd${stu.sex}/td

 td${stu.age}/td td${stu.major}/tdtd align=center

 a href=studentdelete.jsp 删除/a

 a href=studentupdate.jsp 修改/a /td /tr /c:foreach

 /table body

 另外还用到了两个 java 类 studao 和 studto ,这两个类中用到

 jdbc 技术,它们分别用以从数据库中读取数据和将数据存入到数据

 库中。这两个类中有很多方法,通过调用这些方法即可实现学生信息管理系统中的增、查、删、改等功能!

  六、servlet servlet 是一种服务器端的 java 应用程序,具有独立于平台和协议的特性 ,可以生成动态的 web 页面。

 它担当客户请求(web 浏览器或其他 http 客户程序)与服务器响应( http 服务器上的数据库或应用程序)的中间层。

 servlet 是位于 web 服务器内部的服务器端的 java 应用程序,与传统的从命令行启动的 java 应用程序不同, servlet 由 web 服务器进行加载,该 web 服务器必须包含支持 servlet 的 java 虚拟机。

  servlet 生成响应内容并将其传给 server ,响应内容动态生成,通常取决于客户端的请求。

 service() 方法可能激活其它方法以处理请

 求,如 doget() 或 dopost() 或程序员自己开发的新的方法,用的比较普遍的是 dopost() 方法。举例如下:

  public void dopost(httpservletrequest request,httpservletresponse response)

 throws servletexception, ioexception { //1、获取 id

 string sid=request.getparameter(id);int id=integer.parseint(sid);

 //2、根据 id 查询到对应的学生信息 studao sdao=new studao(); studto stu=sdao.querystu(id);

 //3、将 stu 传递到 studentmodify.jsp 页面显示 request.setattribute(stu,stu);

 request.getrequestdispatcher(studentmodify.jsp).forward(request,response);

 我们同样是以学习建立学生信息管理系统为例来学习 servlet 的,

 servlet 与 jsp 差不多,最主要的差别是 jsp 是实现普通静态 html 和

 动态 html 混合编码的技术, servlet 则是 web 页面和服务器之间的连接物,而这基本上没什么区别。

 在编写学生信息管理系统的时候,只不过在昨天编写的基础上,将

 某些 jsp 文件运用 servlet 表示,像那些只做显示用的 jsp 页面不做

 变化,而中间有调用 studao 中的方法的 jsp 页面,它们不做显示用,

 而是要与数据库联系起来,像这些 jsp 页面就可以转换成相应的servlet ,其中的代码与 jsp 中的几乎一样,这样处理之后,减少了

 页面,不过功能没有变化,更加方便了!

 四、实习总结及分析

 这次实习主要是学习 java web 开发方面的相关知识,主要的有 jsp 、

 servlet 、html ,另外还有 jdbc ,mysql 数据库等等。

 首先是 jsp, 它是 java web 开发的基础,需要的页面都是用 jsp 来建

 立的,它是一种

 【篇二: java 实习报告】

 【实习题目】

 java 软件开发 — 豆豆网开发

 【实习目的】

 进一步了解 java 开发的相关知识,掌握 java 开发的基本技术,丰

 富 java 开发的实战经验。学习 sql 的基础知识及正确的运用方法,

 和有用的相关技术,提高自己的工作效率。通过实习,巩固大学所

 学专业的基本知识,提高分析、判断和处理实际问题的能力,锻炼

 自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能

 够更好的工作,打好一定的基础。

 【实习时间】

 2010 年 7 月 10 号—2010 年 7 月 16 号

 【实习地点】

 北京加拿大达内科技有限公司

 【实习计划】

  7 月 10 日:简单地了解公司的基本情况,进一步学习了 java 的基本知识。

 7 月 11 日:学习 java 相关的编程环境和运行环境的材料, 准备好有关的程序和工具。

 7 月 12 日:学习系统运行环境及环境变量设置,并调试。

 7 月 13 日:学习简单的 java 编程,做一个简单的登录系统,

 7 月 14 日:深入地学习 java 的编程技巧和编程思想

 7 月 15 日:对登录界面进行美化,并着手后台的编码工作。进行后

 台和各模块功能编码实现的学习和尝试。并练习简单、常用的测试

 的方法。了解其重要性。

 7 月 16 日:回顾自己学习过程,总结自己的所学和不足,完成实习

 报告。

 【实习单位简介】

 北京加拿大达内科技有限公司长期致力于培养 it 精英,近年来成功

 的培养了无数的人才,公司师资都是工作相当有经验的讲师主讲。

 达内 it 培训集团是中国高端 it 培训行业领导品牌,致力于培养 java 、

 c++ 、

 c#/.net 等方面的中高端软件人才。由美国国际数据集团 idgvc partners 和集富亚洲 jafco asia 投资,是国内首家获得国际风险投资的 it 培训机构, 2006-2008 连续 3 年入选德勤 “高科技高成长中国

 50 强、亚太地区 500 强”。

 达内 it 培训集团是 java 之父 sun 公司在中国境内最大的 java 培训合作伙伴、中关村科技园区管委会指定 的“软件人才培养示范基地 ”,是中国 “先就业后付款 ”it培训模式的创

 始者。

 经过 7 年运营, 达内 it 培训集团在大学生 it 就业培训领域积累了丰

 富的专业经验与就业资源。

 以中关村科技园区为依托,达内在中国

 软件业发达城市 —— 北京、上海、广州、深圳、大连、南京、武汉、

 杭州、西安、苏州、成都、太原等 20 多个城市,建立了近 30 家培

 训中心,拥有 2 万多平米的培训场地,在校生规模达 5000 人。已累

 计为 ibm 、微软、摩托罗拉、华为、中软、用友、 yahoo 、阿里巴巴、

 tom 、新浪、搜狐、百度、联想、神州数码、大唐电信、亚信等知名

 it 企业培养输送 5 万多名中高级软件人才,跨越电信、金融、电子政务(商务)、电力、通讯、搜索、欧美外包及对日外包等十数个行业。

 目前,达内集团拥有 500 多名员工,年产值接近 2 亿元,运营规模

 已远远超出其它同类机构。

 【实习内容】

 本次毕业实习我主要是做一个登录系统,从中学习一下 java 开发和

 sql 的技术运用,因此选择了石家庄志诚软件公司。

 java 和

 sqlserver 作为开发工具都有它们各自的特点,下面是我学习 java

 的一些内容。

 1、java 语言是简单的java 语言的语法与 c 语言和 c++ 语言很接近,使得大多数程序员很

 容易学习和使用 java 。另一方面, java 丢弃了 c++ 中很少使用的、

 很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动

 的强制类型转换。特别地, java 语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

 2、java 语言是一个面向对象的java 语言提供类、接口和继承等原语,为了简单起见,只支持类之

 间的单继承,但支持接口之间的多继承,并支持类与接口之间的实

 现机制(关键字为 implements )。java 语言全面支持动态绑定,而

 c++ 语言只对虚函数使用动态

 绑定。总之, java 语言是一个纯的面向对象程序设计语言。

 3、java 语言是分布式的java 语言支持 internet 应用的开发,在基本的 java 应用编程接口

 中有一个网络应用编程接口( ),它提供了用于网络应用编

 程的类库,包括 url 、urlconnection 、socket 、 serversocket 等。

 java 的 rmi( 远程方法激活 )机制也是开发分布式应用的重要手段。

 4、java 语言是健壮的 java 的强类型机制、异常处理、废料的自动收集等是 java 程序健壮性的重要保证。对指针的丢弃是 java 的明智选择。

 java 的安全检查

 机制使得 java 更具健壮性。

 5、java 语言是安全的 java 通常被用在网络环境中,为此, java 提供了一个安全机制以防恶意代码的攻击。除了 java 语言具有的许多安全特性以外, java 对

 通过网络下载的类具有一个安全防范机制(类 classloader ),如分

 配不同的名字空间以防替代本地的同名类、字节代码检查,并提供

 安全管理机制(类 securitymanager )让 java 应用设置安全哨兵。

 6、java 语言是体系结构中立的 java 程序(后缀为 java 的文件)在 java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件) , 然后可以在实现这个

 java 平台的任何系统中运行。这种途径适合于异构的网络环境和软

 件的分发。

 7、java 语言是可移植的 这种可移植性来源于体系结构中立性,另外, java 还严格规定了各个基本数据类型的长度。

 java 系统本身也具有很强的可移植性,

 java 编译器是用 java 实现的, java 的运行环境是用 ansi c 实现的。

 8、java 是高性能的与那些解释型的高级脚本语言相比, java 的确是高性能的。事实上, java 的运行速度随着 jit(just-in-time) 编译器技术的发展越来越接近于 c++ 。

 9、java 语言是多线程的在 java 语言中,线程是一种特殊的对象,它必须由 thread 类或其

 子(孙)

 类来创建。通常有两种方法来创建线程:其一,使用型构为

 thread(runnable) 的构造子将一个实现了 runnable 接口的对象包装成一个线程,其二,从 thread 类派生出子类并重写 run 方法,使用 该子类创建的对象即为线程。值得注意的是 thread 类已经实现了

 runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方

 法中包含了线程所要运行的代码。线程的活动由一组方法来控制。

 java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized )。

 10、java 语言是动态的java 语言的设计目标之一是适应于动态变化的环境。

 java 程序需要

 的类能够动态地被载入到运行环境,也可以通过网络来载入所需要

 的类。这也有利于软件的升级。另外, java 中的类有一个运行时刻

 的表示,能进行运行时刻的类型检查。

 sql server

  在该系统中,与 web 服务器相连的数据库采用的是大型关系数据库管理系统 ——sql server 2005 。它是基于客户机 /浏览机模式的数据 库管理系统;它支持 odbc 、ado 等技术的应用,可无缝的与

 windows 2005 server 和 iis 集成,提供高效安全的数据访问服务;

 有利于整个系统管理规范化,使数据的完整性、安全性得到保证。

 数据库设计实际上主要是所要处理的数据的表示方法和存储结构的设计。在采用数据库技术之前,这些工作分散在应用程序中进行;

 在采用数据库技术之后,这些工作可以通过数据库设计集中起来系

 统地进行。

 进行数据库设计的首要任务是考虑信息需求,也就是数据库要存入

 什么样的数据。创建数据库并不是仅仅为了存储数据,更主要的目

 的是从中提取有用的信息。除了考虑数据存储什么数据外,还应考

 虑存取方式,也就是处理需求。即要根据用户提出的存取要求来设

 计数据模式和应用程序。

 【实训的收获与体会】

  初次涉及 java 领域,感觉到 java 入门是好像没有 c,c++ 入门快,工具也没有什么 turbo c,visual c++ 好用,什么 java_home,classpath , 虚拟机等概念都是初次基础,旁边的人都很少用 java 的。感觉 java 就是做 applet 的。让我不

 可思议的是 java 2,jdk,j2se,j2ee,j2me 等新名词在自己的脑海里蔓延。

 搭起 java 开发环境后,记得刚开始还是用 ultraedit 编辑并编译的慢

 慢的改用 jcreator 了,要开始干项目了,以前从书上看到的东西,

 在项目中有了很好的机会去温习,开始主要是用 swing, 开发桌面系

 统,放置一个按钮怎么也放不好,后来才知道有一个布局管理器。

 后来开始涉及到数据库访问 ,jdbc 。随后 java 规范了。最开始下载的规范是 jdbc specification ,很多概念一目了然,尤其是 database

 的事务性控制,自己对于她的理解慢慢的有了较为深入的了解。对

 于开发 c/s 结构,比如 ,swing+jdbc, 开发数据库应用系统,让我学会

 开发两层结构的应用系统。

 开发豆豆网时,基于 linux+jsp+javabean+oracl 的系统。不同于

 swing+jdbc 的开发模式,系统之间多了一层;同时,很多开发技术

 和面向左面系统不一样,比如分页技术。

  完成项目后,自己对于 java 的很多方面都比较了解了。开始思考一个问题, j2ee 是什么东西?。我们学习 java 大概有 3 个方向,第一, 桌面系统,包括 c/s 结构;第二, j2me, 面向无限领域,很有潜力的 家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算

 的平台,j2ee 。

 通过实习,我自身发生了重大的转变,我相信我会在 java 开发这条

 路上走的更长更远。

 实习虽然结束了但是给我的感触很大。在信息时代,学习是不断地

 汲取新信息,获得事业进步的动力。作为一名即将毕业的大学生更

 应该把学习作为保持工作积极性的重要途径。

 实习,是开端也是结束。展现在自己面前的是一片任自己驰骋的沃

 土,也分明感受到了沉甸甸的责任。在今后的工作和生活中,我将

 继续学习,深入实践,不断提升自我。

  实习的同时也让我了解到了自己的不足 ,我会继续努力 ,完善自我。对于学校的精心安排和指导老师的用心辅导非常感谢 .

 【篇三: java 实习报告】

 实 习 报 告

  实习性质: java 程序设计 学生姓名:胡桂豪专业班级: 计应 103指导教师: 万青、陈戈、谢先伟 实习时间: 2011-12-31 —2012-1-

 6 实习地点: 4312

 重庆工程职业技术学院

 目录

 1 实习目

 的 4

 2 实习内

 容 4

 2.1 设计文

 档

 4

 2.2 需求分

 析 6

 2.3 设计方

 法 6

 2.3.1 chessframe 主要功

 能 6

 2.3.2 游戏主窗

 体

 7

 2.3.3 主菜

 单 8

 2.3.4 创建待机

 室 9

 2.3.5 服务器

 端

  10

 2.3.6 客户

 端

  12

 3 实习心

 得 14

 1 实习目的根据教学计划的安排,本课程在后半学期将进行一周的课程实习安

 排,完成《 java 小游戏:五子棋》的开发。通过实习,可以使学生

 进一步掌握 java 面向对象设计方法、 jdk 常用类、 java 窗口界面设

 计、数据库访问等方面的知识和技能,将前面学习的基础知识应用

 到实际的软件开发中去,积累应用程序分析、设计、编码、调试的经验

 java 的广泛流行是与它所编写的程序可以在网络上运行且可

 以跨平台。事实上,支持 java 的浏览器内置 java 虚拟机,使得

 java 的小程序能够在网络上完全地传送和运行。这样使得程序人员

 即使不具备有关的网络知识,也能编写出高质量的网络通信程序。

 “网上五子棋游戏 ”便是其最好的例子。

 本程序是一个基于网络协议为 tcp/ip 的网上对弈游戏,采用服务器 -

 客户端的网络架构模式,允许网络上的多台机器 (可能是两台机器 )同

 时运行,一台用作服务器,始终处理网络上要求它进行服务的请求。

 如果有机器请求与它进行连接,用作服务器的机器接受之后就可以

 进行相互之间的通信。

 通过本程序,我们初步熟悉并掌握 java 语言的基本知识,掌握服务

 器-客户端的网络架构模式,为以后学习高级 web 开发课程做准备。

 2 实习内容

 2.1 设计文档

 (1)界面棋盘设计

 在对棋盘界面设计方面要考虑简洁友好,符合游戏者需求。棋子的设计方面系统中设置了两种棋子颜色, white 或者 black, 游戏者可

 自行选择。棋子怎样画出来,怎样使棋子按我们所想的方式来绘制

 出来是设计的主要难题。运行时要求当每次点击鼠标的时候就在点

 击鼠标的地方画一个棋子,所以得定义一个棋子的类使点击鼠标时

 系统把棋子绘制出来。这样主界面里的棋子就确定了,而且也确定

 了几个所需要的类。可以先定义好这些类了。

 有了以上的准备就可以把棋盘绘制出来了,下棋时每次在适当位置

 点击鼠标的时候就在所点击的位置上画出你这个角色的颜色,然后

 计算机会自动的下棋,计算机自动下棋要有一个控制变量来控制能

 不能下棋。人可以随意的下子,可是计算机就要计算在哪

 个位置下子了。这里由计算机下子的算法来确定,人人对战的话就

 不象单机游戏一样,要计算机来判断人下子之后计算机下那一个地

 方了,人人对战只要在双方下子的时候判断赢棋情况,当然还要同

 步的控制两个人下棋的顺序,这样的话就要用到线程了,各自都继

 承或实现线程类或接口,以便各自能随时单独控制接发消息。

 (2)算法设计

 对于五子棋游戏,无论人机对战,还是双人对战,都需要判断棋盘

 上是否存在五子连珠情况,这既是游戏名字的由来,也是游戏结束

 的标志。判断五子连珠的原理是从横,竖,左斜线,右斜线 4 条线

 上判断是否存在 5 个相连的同类棋子。

 对战一方落子后,在该处向 8 个方向检测连续的同类棋子,如果检

 测到直线方向上存在 5 个连续的同类棋子(包含本位置棋子),则

 判断为 “连五 ”并结束检测循环。基于检测结果,可以判断游戏是否

 结束,并根据获胜方的落子代码判断获胜方是谁。

 由于不考虑禁手问题,在实现 “连五 ”过程中,我们可以考虑完成 “双

 四”,“四三 ”,“双三 ”,“冲四 ”,“活三 ”,“活四 ”来实现目的。

 活四:有两个点能形成 “连五 ”的四就是活四;

 冲四:只有一个点能形成 “连五 ”的四叫做 “冲四 ”,或者叫做 “单四 ”;

 活三:己方在落一子就能形成 “活四 ”的三叫做 “活三 ”。“活三 ”分为

 “连活三 ”和 “跳活三 ”。连活三:在棋盘某一条阳线或阴线上有同色

 三子相连,且在此三子两端延长线上有一端至少有一个,另一端至

 少有两个无子的交叉点与此三子紧密相连。跳活三:中间仅间隔一

 个无子交叉点的连三,但两端延长线均至少有一个无子的交叉点与

 此三子相连。

 双三:由于黑方走一着在无子交叉点上同时形成二个或二个以上黑

 方 活 的局面。

 双四:由于黑方走一着在无子交叉点上同时形成二个或二个以上黑

 方 四 的局面。

 四三:指某一方同时具备两个先手,其中一个是 四 ,一个是 活

 三 。在实现上面这些高级算法的时候,我们需要一个基础,就是对

 制定位置周围情况进行检测。在棋盘上面,棋子存在 8 个移动方向,

 检测时需要对每个方向进行检测。为了简单直观,这里将每步棋子

 的移动生成一个新的棋子。

推荐访问:总结报告 工作总结 实习 开发 Java