Java实习报告范文(通用9篇)
实习类型 教学实习 实习单位 欧美学院 指导教师 丁亚周 所在院(系)信息技术系 班 级 1202 学生姓名于红学 号
一、 实习时间和地点
时间:20xx.3.17-20xx.4.17 地点:欧美学院F311,F310
二、 实习的内容
(1)本组课题及本人任务;
我们小组设计的是图书管理系统,包括图书信息管理,读者信息管理,管理员信息管理,借阅信息管理,还书信息管理,逾期罚款或损坏赔偿信息管理和数据库。我负责的是图书信息管理,包括对图书信息的查阅,删除,修改和增加。可以满足图书馆的一些日常活动
(2)程序功能简介;
这次实践课我们小组设计的图书管理系统包括了图书信息管理,读者信息管理,管理员信息管理,借阅信息管理,还书信息管理,逾期罚款或损坏赔偿信息管理。主要包含对信息的查找,增加,删除和修改。如下图所示:
(3)主体内容(简要说明总体情况,详细介绍本人任务部分):
1.设计分析;
图书管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立前端应用程序的开发两个方面.对于前者要求建立起数据一致性和完整性强、数据安全性好的库.而对于后者则要求应用程序功能完备,易使用等特点.本组结合简单图书馆的要求,设计了数据库结构和应用程序.系统运行结果证明,本文所设计的图书管理系统可以满足图书馆工作人员的需要
2.程序结构(画流程图)
3.各模块的功能及程序说明;
我所负责的模块是图书信息管理,主要包含四个方面,对图书信息的查找,增加,修改,删除。查找:可以满足图书管理者查询数目的要求,在这个模块,可已使用多种方式查找,包括无条件查询和条件查询,无条件查询是将所有的书一起都找出来,条件查询又包括图书编号查询和模糊条件,这个可以满足图书管理者对具体的一本书查询的要求;增加:按照传统的增加方式进行增加,在新买书时,可以方便图书管理者对数据库进行增加;修改:可以修改图书的名称,适合在录入信息错误时使用;删除:当撤销破旧书目时,可以使用,我所做的所有操作都会对数据库产生影响。
4. 源程序;
case 1:
System.out.println(" 图书信息:"); System.out.println("1. 查询图书信息:"); System.out.println("2. 插入图书信息:"); System.out.println("3. 删除图书信息:");
int a1=scanner.nextInt;
switch(a1){
case 1:
System.out.println("1. 查询图书信息:");
String Sql = "SELECT * FROM systembook "; rs= stmt.executeQuery(Sql);
while(rs.next){
String bookID =rs.getString(1); String bookNo =rs.getString(2); String bookName =rs.getString(3); String bookWriter =rs.getString(4); String bookPub =rs.getString(5);
System.out.println(bookID+","+bookNo+","+bookName+","+bookWriter+","+bookPub); }
break;
case 2:
int zz=0; while(zz!=1){
System.out.println("2. 插入图书信息:");
System.out.println("请按顺序插入图书条码号,图书索书号,图书名字,图书作者,
String str=scanner.next; String splitst=str.split(","); String a11=splitst[0]; String a12=splitst[1]; String a13=splitst[2]; String a14=splitst[3]; String a15=splitst[4];
Sql="INSERT
INTO
图书出版社");
String
systembook(bookID,bookNo,bookName,bookWriter,bookPub) VALUES('"+a11+"','"+a12+"','"+a13+"','"+a14+"','"+a15+"')";
int i=stm.executeUpdate(Sql); //返回记录影响的条数
System.out.println("插入成功!"); }
System.out.println("是否继续插入?yes/no no返回主菜单"); String k=scanner.next;
if(i!=0){
if(k.startsWith("yes"))
System.out.println; if(k.startsWith("no")){
zz=1;
System.out.println;
};
}; }
break; case 3: int ll=0; while(ll!=1){
System.out.println(" 3. 删除图书信息: ");System.out.println("请输入要删除的图书编号:");String Str=scanner.next;String Splitst=Str.split(",");String b3=Splitst[0];
String sql1="SELECT * FROM systembook where bookID='"+b3+"'"; rs1= stm.executeQuery(sql1); int kkk=0; while(rs1.next) {
String a22 =rs1.getString(1); String b22 =rs1.getString(2); String c22 =rs1.getString(3); String d22 =rs1.getString(4); String e22 =rs1.getString(5);
System.out.println(a22+","+b22+" ,"+c22+","+d22+","+e22);
kkk++;
} if(kkk==0)
{ else
{
{String deleSql= "DELETE FROM systembook WHERE bookID='"+b3+"'";
System.out.println( "没有这本书,请重新输入"); }
一、实习目的
通过对java语言、JavaWeb、Oracle数据库应用设计及SQL语言的复习和锻炼,并且通过使用MyEclipse 开发平台设计库存管理系统项目,以达到充分熟悉开发平台及其应用设计。同时掌握并实践软件项目设计规范及其开发流程:需求分析、概要设计、详细设计、代码编写、系统测试及软件手册编写,以便提前适应软件公司开发流程、环境和工作要求进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
二、实习主要流程
1、公司管理规则,程序员素质,程序员编码规范;
2、需求开发与管理;
3、面向对象分析与设计,面向对象编程的特性;
4、 javaSE、javaWeb 、页面设计-JSP页面;
5、数据库设计、SQL应用;
6、软件需求分析与设计;
7、项目实战
三、 实习内容
Oracle数据库
数据库是数据的结构化集合。计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。
Oracle服务器还有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。在我们的基准测试主页上,给出了Oracle服务器和其他数据库管理器的比较结果。
java web实习报告java web实习报告
Oracle服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。尽管Oracle始终在不断发展,但目前Oracle服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使的Oracle十分适合于访问Internet上的数据库。
java与SQL的应用
Java语言是编写数据库应用程序的杰出语言之一,它提供了方便访问数据的技术。利用Java语言中的JDBC技术,用户能方便地开发出基于Web网页的数据库访问程序,从而扩充网络应用功能。JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问接口。JDBC由一组用Java语言编写的类与接口组成,通过调用这些类和接口所提供的方法,用户能够以一致的方式连接多种不同的数据库系统(如Access、SQL Server 20xx、Oracle、Sybase等),进而可使用标准的SQL语言来存取数据库中的数据,而不必再为每一种数据库系统编写不同的Java程序代码。
控制技术-Servlet技术
1) 什么是Servlet?
一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类。
javax.servlet和javax.servlet.http包为编写servlet提供了接口和类。所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。
2) Servlet的生命周期
一个servlet的生命周期由部署servlet的容器来控制。当一个请求映射到一个servlet时,该容器执行下列步骤。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)强大的可伸缩性。从只有一个小的Jfrom文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
3) JSP技术的弱势
(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
四、实习总结
通过这一期的实训,虽然实训的时间不长,但是总体上收获挺大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦。
当我们正式准备学习实训java编程技术时,让我倍感兴奋,毕竟java是自己以后想主攻技术,所以自然也就非常的亢奋。刚开始实训的第一天,同学们就推荐我为组长,我感觉肩上责任之重大,那一刻起,我就决心带领我们小组,奋战我们的实训路。当然开始学习后也并非是想象中那样顺利,开始的学习让我异常感到学习任务的艰巨,因为学习中我们遇到了很多以前未曾遇到的难点,有时难免冥思苦想也无济于事,通过我们小组的积极努力协作,同时请教老师和其他同学,我们顺利的化解了一道道的障碍。
这让我不断的对学习技术又有了新的认识:学习中我们必须边总结边学习,开始阶段对老师交代的任何方法和类都不要放过,不管是否简单与否都要乐于地接受,因为老师肯定有他的道理,相信老师走过的路比我们长,那么其经验也就肯定比我们丰富。上课时一定要专心听讲,一个关键的知识点听漏了,可能会使一个人在课下花很多时间去消化,这样也就会花掉做其他事情的大量时间,同时也使得学习不能和老师的讲的课程同步,以至出现以后就跟不上老师讲课的进度而掉队。所以学习中我们宁可先劳其筋骨,苦其心志,恶其体肤,也不能掉队跟不上学习进度。
在这里,我非常感谢实训的指导老师,在老师的帮助和指导下,我克服了Java学习上的一道道难关,课上认真听讲,摘好必要的笔记,并通过自己课后的不断消化学习,现在自己已经基本掌握了java的基础知识,并且能独立的开发出系统。
实训即将结束了,我非常怀念厦门万策在南昌大学的校内实训,在实训的这短短两周的时间里,我每一天过的都市踏实的,充实的;我相信,只要我秉持艰苦奋斗,为理想拼搏的精神,尽管在未来的java路上荆棘丛丛,我一定可以披荆斩刺,度过重重难关,实现自己未来的理想!
实习是为将来打基础的重要阶段,珍惜自己每一个工作的机会,不论什么人,什么学历,从事什么工作,好好的表现、展示自己的能力,不要错过好的机遇。没有一件事情是轻轻松松的,但每一件事都是让人成长的,经历一段过程,喜悦或是艰辛,尽管经历的方式不尽相同,但它的结果是相同的,我们都会因涉事而成长。
通过实习,我自身发生了重大的转变。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,我要坚定自己的信念,在公司好好实习,争取提早转正,我相信我会在JAVA开发这条路上走的更长更远。
实习单位:
教务部制
实习时间:
20xx.6.22--7.5
一、实习目的
通过接触和参加实际工作,充实和扩大自己的知识面,培养自己综合应用的能力,理论联系实践,锻炼自己各方面综合能力,为以后做毕业设计及工作实践打基础。
二、实习单位及岗位介绍
教育介绍:
教育是全球教育管理集团(GEM)在中国的旗舰机构,由原摩托罗拉全球高级副总裁赖炳荣先生创立,地处苏州工业园区独墅湖高等教育区,业务领域涵盖三个方面:
1.教育实训基地
2. 移动互联网项目工场
3. 苏州软件技术学院
我们这次参加实习的部分就是教育实训基地。
android应用开发程序员,勉强概括了,在这半个月中,我们的角色。Android是基于java开发出来的框架,所以我们在成为合格的android应用开发程序员之前,进行了一段时间java的学习,java我们之前在学校是有学过的,而正是这一段重复学习的过程让我们开始认识到教育与大学教育相比,他的独特之处。Android工程师是指从事Android移动应用操作系统、游戏和各种Android平台功能的应用、开发和测试的技术人员。 以手机开发为主要对象,包括但不限于手机操作系统、手机游戏、手机其他多种功能的开发和优化人员。Android工程师是移动应用开发者,希望将自己的应用移植到该平台上或者在该平台上开发应用。简单点,android应用开发,就是基于android的框架,设计并代码实现android应用。
三、实习内容及过程 Day1开班典礼
来到,我就开始把自己当作一个工作人来看待,我从心里期待,能给我们展示作为一个职场人所必须具有的素质与能力,同时,我也希望自己能从这个过程中慢慢学习,去为成为一个职场人而做好前期准备。
开班典礼,名字很容易让我们产生又在经历一次入学,新生。从社会这个大学堂来说,我们现在就是一个新生,新生这个角色我们并不陌生,从初中到高中,再从高中到大学,每一次,我们都是满怀憧憬与期待。这次我们却在期待当中感受到沉甸甸的责任。
开班典礼上,主讲人给我们讲了产生背景和创办企业的背景。赖炳荣先生在自己本该颐养天年的时候,投入财力精力进入到中国it教育中来,而并不以营利为目的。这种精神,我们是该敬重的,为什么没说学习是因为,并不是每个人都有机会达到赖炳荣先生的高度。与其高调着说学习,不如从心里的敬意来得实际些。
创业理念是架起企业与教育的桥梁,当然这与面向学术的当学教育是有很大区别的。老师在介绍完,就开始讲起了职场。
职场,是我们大部分的归宿,那么职场,或者企业到底需要什么样的人呢?要成为职场赢家我们需要注意什么呢?这些问题主讲人都给我们做了解答。
企业需要的是效益,所以他需要的能带来效益的人,与大学教育相比,企业跟多的注重的是结果导向,也就是说只要效益,而不注重结果。这样的造成的结果是,要想在企业当中生成,我们必须注意规范与灵活的统一。规范是因为企业要实现最大效益,我们要想在企业生存,就必须遵守企业的游戏规则,这些规则可能条条框框与我们在大学中养成的自由散漫。
1)实习题目
学生信息管理系统的设计与开发
2)实习目的
《Java程序设计》课程是电子商务专业的一门专业必修课程,特针对此课程进行为期三周的实践教学,旨在提升本专业学生对此课程中的理论知识的综合应用能力、提高学生的逻辑思维能力、软件开发能力。
本次课程实习要求学生用Java技术在Windows平台下开发学生信息管理系统。通过此程序的开发能够切实提高学生的程序设计水平,在实践中掌握面向对象程序设计的开发思想。
3)开发环境
操作系统;Windows XP
编程环境:MyEclipse 6.0
主要技术:Java Swing实现窗体界面
JDBC实现数据库操作
系统架构:三层架构(MVC)+DAO设计模式
数据库:MySQL5.0
二:课设内容;
1)系统功能需求
学生信息管理系统主要对在校学生的个人基本信息以及成绩信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供成绩查询功能。我们的目标就是为该系统提供前台用户界面设计以及后台连接数据库程序设计,系统程序界面采用Java Swing组件实现,数据库操作采用JDBC实现。
学生信息管理系统要面对教师和学生用户。对于教师,需要查询全部学生的基本信息和成绩信息,并且可以对其进行修改。对于学生,不需要查询自己的基本信息,只需要查询成绩。为了保护学生成绩隐私,每位学生登录系统后只能查询自己的成绩,而无法看到别人的成绩。教师方面:教师通过自己的用户名和密码登录后,进入教师主界面,在这个主界面里,可以选择要操作的类别,即查询功能还是修改功能。在查询功能里面,可以选择是查询学生基本信息,还是查询学生成绩信息。在查询学生基本信息时,可以从依据不同字段,即学生信息表的不同属性进行查找。在查找学生成绩信息时,只能依据学生姓名和学号进行查找。在修改功能里面,包括对学生基本信息表和学生成绩表进行增加和删除记录。学生方面:学生通过自己的用户名和密码登录此系统后,可以查询自己本学期的各科成绩信息。
2)数据库需求
依据功能需求,学生信息管理系统主要有三个表:student表、teacher表和score表。
(1)student(学生信息表)
此表有六个属性,分别为:id(主键,自动递增),num(学号),sname(姓名),sex(性别),age(年龄),dept(系别)。
(2)teacher(教师登录表)
此表有三个属性列,分别为:id(主键,自动递增),tname(教师账户),password(登录密码)。
(3)score(教师登录表)
此表有六个属性列:分别为:id(主键,自动递增),num(学号),sname(学生姓名),course(课程名称),score(考试成绩),credit(学分)。
三:设计过程(包括总体设计和详细设计)
1)项目总体设计
需要建立一个三层模块:视图层(界面,提供用户输入)控制层(接受用户输入处理)持久层(连接数据库)。
在登陆界面实现教师、学生的登录,实现学生查看自己所有信息的界面,教师对学生信息、学生成绩信息的增删减查功能的实现。
2)项目详细设计
1、需要有开发环境,安装编程环境:MyEclipse 6.0、数据库:MySQL5.0、安装Navicat for Mysql程序;
2、仔细阅读《Java实习指导书》,详细了解对学生信息管理系统设计与开发的总体设计;
3、首先需要建立四个包,分别为:ui包,dao包,connection包,model包。connection包,主要负责获得与数据库的连接和关闭连接;dao包主要负责对数据库的操作;ui包主要分为登录界面、学生查询界面、教师对学生信息和学生成绩信息进行增删减查操作的界面;
4、ui包是界面,系统运行主界面--学生信息管理登陆界面(根据公共数据库建立自己的数据库,输入登录名、密码可以分别进入教师主页面、学生主页面), 学生详细信息界面(进入后会出现学生自己的成绩等详细的信息,并有退出功能),老师登陆界面(可以对学生信息进行增删减查,对学生成绩信息进行增删检查,并有退出功能);
5、ui包中还有对学生信息进行增加学生、删除学生、查看学生信息、浏览所有学生信息、增加学生成绩信息、删除学生成绩信息、查看学生成绩信息的7个界面,每个功能实现完成后会显示操作成功,并有退出功能;
6、然后在Java编程环境MyEclipse 6.0编写代码;
7、首现建立以dumeilingglxt命名的项目工程,然后建立ui包,然后再建立LoginUI类,代码敲完LoginUI类的所有代码,然后开始根据提示,这个 LoginUI类所需要的dao包,connection包,model包,还有dao包的 ScoreDao类、StudentDao类、 TeacherDao类;connection 包的DBConnection ;model包的Scor类 ,Studente类, 然后在敲ui包中的ScoreAddUI类, ScoreDeleteUI类,ScoreQueryUI类,StudentAddUI类, StudentDeleteUI类, StudentQueryUI类,StudentScoreUI 类,eacherMainUI类;
8、在MyEclipse中导入数据库驱动包mysql-connector-java-5.0.5.jar;
9、 在Navicat for Mysql打开数据库,然后建表:student表、teacher表和score表,进入主界面,实现系统登陆功能;
10、连接公共数据库:Navicat for Mysql
代码为:("jdbc:mysql://192.168.0.1:3306/dumeiling","root","p");
11:然后开始运行,发现错误并解决错误;
12:在所有代码都正确的情况下,所有界面将会出现。
四:调试过程(包括系统测试、出现的问题、解决的方法等)
出现最多的错误就是:
1)代码编写错误,解决方法就是照着代码继续核对,直到可以运行
2)当连接上公共数据库后,运行LoginUI,出现登陆界面,但是输入登录名、密码点击登陆后却出不出现学生信息界面或是老师登陆界面,这时候下面将会出现许多错误提示,点击后开始再次找出错误的代码,这个难度比较大,需要自习阅读每一行代码,在熟知代码的前提下对程序代码进行修改,也是最考验我们耐心的时刻,过了之一阶段,实习的基本要求就达到了,然后就该对程序加入一些自己的设计,以此来不同于别人。
3)在我设计好的代码中,登录学生界面是出现一个Driver success,connection succecc的提示,但是却不显示学生信息,一直不知道是什么原因,最后把数据库的三个表删除,再次建表,结果全部成功了,对我来时这是一个谜啊。
五、小结(在整个课程设计过程中的总结和体会)
将近三周的JAVA实习很快就结束了,虽然仅仅只有三周,但我学到了许多知识,以前只是做些JAVA实验,敲一堆代码,然后出来个简单的结果,还有的是没有在主函数里输入,只是学会掌握属性存取器的使用,super、final、abstract关键字,理解抽象类与抽象方法,理解并掌握接口的定义与使用等等,但这次不一样,是设计与开发个学生信息管理系统,实现教师、学生登录并实现增删价查功能。
在整个学生信息管理系统的设计与开发过程中,感触最深的就是两周的敲代码、核对代码。可以说是一次痛苦的体验,但是在实习的第三周看到自己的成果展示,不得不佩服自己的毅力。
通过对这次学生信息管理系统的设计与开发过程实习,我发现任何一种语言只要你用心投入,你就会发现其实一切都那么简单,就拿这四个包中的类代码,如果你仔细分析的话,你会发现其实一些带麦是差不多的,也就是说只要你会其中一个操作代码,你就会其他的操作,老师给的程序代码教师操作功能只有6个,但是我们可以再添加两个界面。我的自己设计部分是:添加背景颜色、并增加了一个浏览所有学生信息的界面,但是没有连接到正确的界面上,由于自己安排的时间问题,没有及时写出来,还有就是我在添加背景颜色时,还是不太清楚,确切说自己登陆界面添加背景颜色正确,其他的被覆盖这了,总的来说还是不太懂代码。
还有体会最深的一点是:只要你用心去学习,你就回学到一些东西,也许不是那么明显,但是只要付出还是会有收获的。在第三周周二是交作业时,有的同学自己昨天完全正确的程序,今天完全不管用了,我看到了她的急躁,一直埋怨、似乎有点想哭,其实我想说:冷静。然后看看是什么原因,假如是电脑的问题李珂把代码拷走,重新建立工程,说实话,我不知道重新建了多少次,遇事一定要让自己冷静,不要急,事情总会有解决的方法。
【java实习报告2】
1 传统的错误观念
以前以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试.在项目组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?
有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题.但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你.
2 如何调试追踪?
如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没问题.出现问题的时候,不要光看代码,要用实际行动去追踪运行期间的具体值,那是最好途径.eclipse是个很爽的idea,这点做的很好.例如页面内容显示不是自己想要的数据,我们要先从数据库查询语句去下手,设置断点,一步一步step over,让sql字段(存取最终sql语句的字符串)运行到有值,inspect进去看,如果还看不出来,就点击它,copy后在sql客户端去实际运行,看看实际查询出来的表是什么,如果是对的,有可能就是页面调用的错误或者action逻辑的传值问题.
页面错误的调试,基本方法是用右键点击实际网页查看源代码,copy到editplus,就能看到具体错误发生在那几行.通常有几种常见的错误,.例如.缺少对象 这种很多时候是有些被你调用的字段有可能为空的情况出现的,可以加if(=null)语句加保护.追踪的方法基本就是用alert语句,放在有可能出错的地方.毕业实习总结
3 一些习惯
遇到问题先自己思考,无从下手再找高手帮忙看看,注意他帮你看的思路,别在一旁闲着,看多了自己也会了,不然你一辈子都停留在那种水平,从人身上学到的东西远远比书多的多.
解决了一个问题后,要去究根问底去找到问题产生的起因,以防你下次遇到类似的问题再浪费同样的时间.
把代码写的漂亮,注释,空行,规范一样不能少,可读性是放在第一位.曾经看过一个高手写的代码,真的一看就是不同水平的人写的,几乎很完美,读起来很流畅,方便自己也方便别人.
任务完后不要呆着,去要求经理给你更有挑战性的任务,只要你肯去尝试,他们就会对你另言相看,把三天的任务一天加班搞定,效率和忠诚都有了,路也比较好走了.
4 题尾话
如果你有一份思想,我有一份思想,拿出来交换,我们大家拥有就是2分份思想,可惜这种观念,并不能深入每一个团队的每一个人,少一点自私,未必不是好事.职场到处都存在被排挤的隐患,要为自己找片草地实在不容易.但有一点要相信,只要自己不放弃自己,这世上就没有绝望的路,你可以被打趴下,可以被身边的人暗算,可以被深爱的人流放,只要你用自己决心站起来,受过的伤痊愈后就能增强你的抵抗力,一路前进!
一、实训项目
简易记事本
二、实训目的和要求
本次实训是对前面学过的所有面向对象的编程思想以及JAVAWEB编程方法的.一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写采用JSP+Servlet+JavaBean技术框架的应用系统综合实例,以掌握JavaWEB开发技术。具体要求有以下几点:
1.问题的描述与程序将要实现的具体功能。
2.程序功能实现的具体设计思路或框架,并检查流程设计。
3.代码实现。
4.设计小结。
三、实训项目的开发环境和所使用的技术
基于J2SE基础,利用MyEclipse8.5以上版本的集成开发环境完成实训项目,界面友好,代码的可维护性好,有必要的注释和相应的文档。
四、实训地点、日程、分组情况:
实训地点:4栋303
机房日程:
第一阶段:
1.班级分组,选定课题,查阅相关资料半天
2.划分模块、小组成员分工半天
3.利用CASE工具进行系统设计和分析,并编制源程序5天
第二阶段:上机调试,修改、调试、完善系统2天
第三阶段:撰写、上交课程设计报告,上交课程设计作品源程序(每人1份)2天。
通过3天的实训,虽然实训的时间不长,但是总体上收获是很大的,我们的java课程学到的只是java和皮毛,一开始我还没有信心完成。我仔细看了书上的代码之后。对计事本有了一个大体的了解,在初训的实候知道自己应该做一个什么样的计事本了,在实训的过程中也遇到了不少困难,通过查API文档和看书,解决了问题,在写到字符的查找的替换时后,用到了上课时学到的知识,对字体的风格的保存里面的颜色分离和还原方法,是通过查API文档获得的,现在我所写的计事本只实现在一些基本功能。简单的复制粘贴,字体风格的设置,还有就是查找和替换功能以及一些字体风格的保存.对文件的操作基本都用到了。
在实现记事本的功能过程中,也不是很顺利,基本的文件读写和保存文档的复制、粘贴、删除等功能还比较容易实现,但如何改变字体、字体颜色和背景颜色,就比较麻烦了,要实现字体颜色和背景颜色,首先要调用系统的调色板,再进行设置。但如何调用系统调色板 我是通过查阅帮助文档来找到其调用方法的。像自动换行、设置字体等都是通过方法来调用,给相关事件加上监听,在进行响应事件。整个程序中方法才是最关键的,也是最困难的。所以像查找、替换、转到几个功能我都不知道用什么方法,也由于时间有限,没有完成其功能。
总体的感觉是对java有了一个全新的认识,现在感觉用java做小的图形用户程序有些缺陷,但是在其的应用方面。尤其是有网络方面的应用,在整个实训我也尝试过做一个小的`画图软件。但是由于时间关系还有一个是自身的知识的欠缺,最终这个事情被搁浅下来了。最后还是进行计事本的编写。由于在做画图软件时花了不了时间,所以现在的计事本的功能不是很全,如果有更多的时间,我会把这个记事体再完善一下,再把画图软件也做出来。
实训的时间不长,但是我会在课外把它们的功能完善。然后再学习一下java和网络的编程,体验java的前沿技术。在学习的过程中也体会到,遇到问题也要请教。不然的话自己一个人去做的话会花很多的时间,我在做这个记事本的时间,其中也问到过许多问题,通过同学的帮助下解决了,提高了程序的开发进程。其他的同学有问题的话我也是给他们尽量解决。
我认为学习知识的过程当中就应该是相互学习相互进步的。Java是面在的主流技术我会努力将它学好,现在我缺乏的是坚持不懈的精神,我会向他学习。虽然学习java的路还很找,但我会继续走下去。
一、实习时间
20xx.01.08--20xx.05.18
二、实习地点
无锡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遍都不如你敲一遍来得印象深刻。
通过这次实习,我认识到了一个软件开发的完整的过程,为我今后进行实际的工作奠定了坚实的基础。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,在今后的学习中我会严于律己,认真学习有关软件编程的课,为以后的工作打好坚实的基础。
1.实习摘要
本为期三周的实训项目是在电子商务专业的一门专业必修课程《Java语言程序设计》课程上设置的,要求学生用Java技术在Windows平台下开发学生信息管理系统,是巩固学生所学理论知识、培养学生动手能力并使理论与实际相结合的重要实践环节。
1.1实习目的
本次课程实习旨在提升本专业学生对此课程中的理论知识的综合应用能力、提高学生的逻辑思维能力、软件开发能力。是学生通过此程序的开发能够切实提高其的程序设计水平,在实践中掌握面向对象程序设计的开发思想。
1.2开发环境
操作系统;Windows XP
编程环境:MyEclipse 6.0
主要技术:Java Swing实现窗体界面
JDBC实现数据库操作
系统架构:三层架构(MVC)+DAO设计模式
数据库:MySQL5.0
2.课设内容
2.1系统功能需求
学生信息管理系统主要对在校学生的个人基本信息以及成绩信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供成绩查询功能。我们的目标就是为该系统提供前台用户界面设计以及后台连接数据库程序设计,系统程序界面采用Java Swing组件实现,数据库操作采用JDBC实现。
学生信息管理系统要面对教师和学生用户。对于教师,需要查询全部学生的基本信息和成绩信息,并且可以对其进行修改。对于学生,不需要查询自己的基本信息,只需要查询成绩。为了保护学生成绩隐私,每位学生登录系统后只能查询自己的成绩,而无法看到别人的成绩。教师方面:教师通过自己的用户名和密码登录后,进入教师主界面,在这个主界面里,可以选择要操作的类别,即查询功能还是修改功能。在查询功能里面,可以选择是查询学生基本信息,还是查询学生成绩信息。在查询学生基本信息时,可以从依据不同字段,即学生信息表的不同属性进行查找。在查找学生成绩信息时,只能依据学生姓名和学号进行查找。在修改功能里面,包括对学生基本信息表和学生成绩表进行增加和删除记录。学生方面:学生通过自己的用户名和密码登录此系统后, 可以查询自己本学期的各科成绩信息。
2.2数据库需求
依据功能需求,学生信息管理系统主要有三个表:student表、teacher表和score表。student(学生信息表)有六个属性,分别为:id(主键,自动递增),num(学号),sname(姓名),sex(性别),age(年龄),dept(系别)。teacher(教师登录表)有三个属性列,分别为:id(主键,自动递增),tname(教师账户),password(登录密码)。score(教师登录表)有六个属性列:分别为:id(主键,自动递增),num(学号),sname(学生姓名),course(课程名称),score(考试成绩),credit(学分)。
3.设计过程
3.1总体设计
在老师对该程序设计进行讲解分析后,我们便可对该程序系统功能有一定的认识。然后,需要进行上机操作。首先,要把自己的电脑上下载安装必要的软件,先搭建项目编程环境:MyEclipse 6.0,再对数据库进行设计导入。之后,建四个包:Connection,Dao,Model,ui。其中,在每个包中还要再建必要的类。最后,便进行最困难的工作,就是将已有的程序代码敲出来,保证其完全无误,便可实现系统各项功能。
3.2详细设计
3.2.1.数据库设计导入
依据功能需求,学生信息管理系统主要有三个表:student表、teacher表和score表。所以要在数据库里建表这三个表,内容如下。
(1)student(学生信息表)有六个属性,分别为:id(主键,自动递增),num(学号),sname(姓名),sex(性别),age(年龄),dept(系别)。
(2)teacher(教师登录表)有三个属性列,分别为:id(主键,自动递增),tname(教师账户),password(登录密码)。
(3)score(教师登录表)有六个属性列:分别为:id(主键,自动递增),num(学号),sname(学生姓名),course(课程名称),score(考试成绩),credit(学分)。
3.2.2.学生信息管理系统主要功能模块
(1)系统运行主界面
首先,将包connection,Dao,Model里的程序代码敲出来,做好准备工作。然后,再在ui包里建类LoginUI,然后将程序完整无误地敲出来,主界面便可运行出来。学生信息管理系统要面对教师和学生用户。
(2)学生方面
继续在ui包里建类ScoreQueryUI,StudentQueryUI,StudentScoreUI,再将其代码完整无误地敲进去,便可运行。当学生通过自己的用户名和密码登录
此系统后, 可以查询自己本学期的各科成绩信息。
(3)教师方面
继续在ui包里建类 ScoreAddUI, ScoreDeleteUI,StudentAddUI, StudentDeleteUI, TeacherMainUI, 然后还是将其各自的代码完整无误地敲入,便可实现各项功能。
4.调试过程
4.1系统测试
教师方面:通过用户名和密码登录后,进入教师主界面,在这个主界面里,依次进行测试。在查询功能里,依据学生姓名和学号进行查询学生基本信息,再依据不同字段(姓名、学号、年龄、性别、系别)查询学生基本信息。在修改功能里面,包括对学生基本信息表和学生成绩表进行增加和删除记录,一旦运行成功,必会显示增添或删除成功,否则显示增添或删除失败。
学生方面:通过学号和密码登录此系统后, 可以查询自己本学期的各科成绩信息。
4.2出现问题
第一,在我敲完代码后,因为其中有不少细节性的小错误,系统会显示出很多的小差,根本不能运行。
第二,数据库连接有问题,因为总是连接不上,所以当通过用户名和密码登录时,总是会弹出用户密码错误的小框。
第三,当检查完代码完全无误时,有个别功能还是无法实现。
4.3解决方法
第一,对于程序代码的敲打有错误这一问题,我唯一的办法就是对照代码一点一点的来查找,直到把错误找完为止。
第二,刚开始我导入的是自己的数据库,可能是文件数据受损,以至于能连接上,但是无法显示。后来我在192.168.0.1里又新建了个数据库,这个问题就解决了。
第三,程序代码虽看起来无误,但实质还是有问题。只要将个别字符前后加
上需要空格,问题就可解决。
5.设计体会与小结
通过这两个多星期的系统设计与开发,学生信息管理系统开发完成。在系统开发的过程中,以前学习感到很抽象的课程Java变得清晰起来。我感觉到这门理论课程的重要性。我还发现原本比较基础的东西记不牢,运用起来比较麻烦,而且书上讲的东西还较少,所以起初做课设的时候可以说是一头雾水,必须通过其他途径去巩固去加强。需要学习的东西还有很多很多。
但我收获的也不少,我更了解了整个学生信息管理系统的开发流程。从数据库的建立,到开发环境的建立我都很熟悉了。对于Java的一些基础知识我也已经能够了解并掌握,尤其是程序代码,对于我来说已经不是一大串乱码了。总之,我真的在实践中学到的不仅是课本知识的巩固和提高,而且还在实践中学习到解决不少程序设计的细节问题的方法,感谢老师不厌其烦的指导,对此次课设的实习,我感到受益匪浅。
一、实验目的
1、加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。
2、 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。
3、在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。
二、实验要求
1、问题描述准确、规范。
2、程序结构合理,调试数据准确、有代表性、。
3、界面布局整齐,人机交互方便。
4、输出结果正确。
5、正确撰写实验报告。
三、实验内容
编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。
四、实验步骤
1、在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。
2、在第一次上机实验时讨论分工,分工明确之后,分头合作进行。
3、各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。
4、 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。
5、详细的上机实验步骤见任务分工及程序设计进度表。
五、实验结果
经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求――一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。
下面是程序运行效果截图:
日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):
备忘录主界面(实现备忘录的添加,及当前日历的显示):
备忘录主界面(实现备忘录的显示,及对当前备忘录的修改删除等):
时钟主界面(显示当前时间,实现报整点报时功能):
六、实验总结
两周的课程设计结束了,在这其中历尽酸甜苦辣咸各种滋味,不过收获颇丰。从学习C语言、数据库等等计算机编程类课程开始,自己始终有种感觉,那就是太理论化了、缺少实践。而这次的Java程序设计可以说与以往大不相同,先是在课堂上老师讲述了有关的基础理论、基本语法知识,而后再加上这两周的课程设计,可以说是真正能够体会到程序编程的乐趣,也第一次发现自己原来对程序设计是如此的感兴趣。尤其是由于课程时间较紧,课上时间老师只是简单给我们讲述了一下Java Swing的基础知识,并没有去深入,而在此次课程设计中大量用到的监听事件的有关知识需要自己去查标准文档,去网上找相关系料,这无疑对自己是一个挑战。但是两周下来,我做到了,我独立完成了对备忘录程序的编写,累积下来这部分共涉及到包括Action Listener,Mouse Listener,Menu Listener,Document Listener等各种各类监听18个监听,分为6个类,累计完成程序千余行。而给我印象最深刻的便监听了,可以说是整个备忘录的大部分代码都是与监听相关,这也是让我我学会了对程序监听的运用,当然只是学会远远谈不上精通。