Java与JavaEE实习指导书v0.5

更新时间:2023-05-31 10:30:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章 实习目标和与要求

Java程序设计是计算机网络工程专业一门重要的专业必修课。为了进一步巩固课堂上所学到的知识,深刻把握Java技术的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设Java程序设计的课程设计。

课程设计的任务是完成课程设计内容,写出课程设计报告。 要求学生掌握:

1) 掌握Java的语言规范,面向对象的核心概念和特性。

2) 掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等。 3) 掌握Java应用软件的开发环境和开发过程 4) 掌握基于Jsp网站的开发环境和开发过程 5) 掌握面向对象的思想和程序设计方法。

第二章 基于命令行程序开发

2.1. JDK 安装

从/javase/downloads/中找到JDK的下载链接,根据操作系统选择相应的版本。

Windows下可以直接执行安装源文件完成安装。

2.2. 设置环境变量

在桌面上的“我的电脑”上选择右键菜单中的“属性”菜单,在“高级”选项卡中单击“环境变量”。

在弹出的环境变量窗口中,选中“path”变量,然后单击“编辑”按钮。

编辑变量值,增加 对JDK下bin目录的包含。

2.3. 打开命令行

选择 开始菜单->程序->附件->命令提示符.

或者 在运行中输入 cmd 打开命令行,如图所示

2.4. 编写java源代码

使用记事本或者其它文本编辑器编写以下内容,然后保存为Hello.java。 public class Hello {

public static void main(String[] args) { System.out.println("Hello World"); } }

2.5. 编译Java程序

命令行中切换到java 源代码所在目录,然后使用“javac”命令编译上面编写的Hello.java。示例如下: javac Hello.java

编译后会生成 Hello.class文件。

更多使用方式可以直接使用命令行中输入“Javac ”查看相关帮助。

2.6. 运行

2.6.1. 运行命令行程序

在命令行输入以下命令运行上面编译后的Hello.class,执行结果如图所示 Java Hello

Java命令的详细帮助信息可以在命令行中输入以下命令完成,如图所示

Java

2.6.2. 运行可视化程序

Javaw HelloForm

Javaw com.course.HelloForm

2.7. 调试

在命令行输入jdb,进入jdb模式。可以直接输入help查看详细调试方法

2.8. 常见问题

1)不是内部或外部命令,也不是可运行的程序或批处理文件。

请检查是否已经正确安装jre和jdk。且正确的配置了path环境变量 2)Exception in thread "main" ng.NoClassDefFoundError: Test

在命令行当前目录下不存在相就的.class文件,或者大小写拼写错误。

第三章 Eclipse集成开发环境

3.1. Eclipse简介

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。

Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。 2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。 Eclipse的基础是富客户机平台(Rich Client Platform, 即RCP)。RCP包括下列组件: 核心平台(启动Eclipse,运行插件) OSGi(标准集束框架) SWT(可移植构件工具包)

JFace(文件缓冲,文本处理,文本编辑器)

Eclipse工作台(即Workbench ,包含视图(views)、编辑器(editors)、视角(perspectives)、和向导(wizards))

Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。 Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语 言。 已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby,Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到 现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。

Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API (SWT/Jface), Java开发环境插件(JDT ),插件开发环境(PDE)等。

Eclipse由各种不同的计划组成。以下列出了部分计划。

Eclipse计划:本身包括Eclipse平台,Eclipse富客户端平台(RCP)和Java开发工具(JDT)。 Eclipse测试和性能工具平台(TPTP):提供一个允许软件开发者构建诸如测试调试、概况分析、基准评测等测试和性能工具的平台。 Eclipse Web工具平台计划 (WTP):用Java企业版Web应用程序开发工具来扩展Eclipse平台。它由以下部分组成:HTML、JavaScript、CSS、JSP、SQL、XML、DTD、XSD和WSDL的 源代码编辑器;XSD和WSDL的图形界面编辑器;Java企业版的“项目性质”(project nature)、建构器(builder)和模型(model),与一个Java企业版的导航(navigator);一个Web服务(Web service)向导和浏览器,还有一个WS-I测试工具;最后是数据库访问查询的工具与模型。

Eclipse商业智能和报表工具计划(BIRT):提供Web应用程序(特别是基于Java企业版的)的报表开发工具。

Eclipse可视化界面编辑器计划(VEP):一个Eclipse下创建图形用户界面代码生成器的框架。 Eclipse建模框架(EMF):依据使用XMI描述的建模规格,生成结构化数据模型的工具和其他应用程序的代码。 图形化编辑器框架(GEF):能让开发者采用一个现成的应用程序模型来轻松地创建富图形化编辑器。

UML2:Eclipse平台下的一个UML 2.0元模型的实现,用以支持建模工具的开发。 AspectJ:一种针对Java的面向侧面语言扩展。 Eclipse通讯框架(ECF):专注于在Eclipse平台上创建通讯应用程序的工作。 Eclipse数据工具平台计划(DTP)

Eclipse设备驱动软件开发计划(DSDP) C/C++开发工具计划(CDT):努力为Eclipse平台提供一个全功能C和C++的集成开发环境(IDE),它使用GCC作为编译器。 Eclipse平台COBOL集成开发环境子计划(COBOL):将构建一个Eclipse平台上的全功能COBOL集成开发环境。 并行工具平台(PTP):将开发一个对并行计算机架构下的一组工具进行集成的平行工具平台,而且这个平台是可移植的,可伸缩的并基于标准的。 嵌入式富客户端平台(eRCP):计划将Eclipse富客户端平台扩展到嵌入式设备上。这个平台主要是一个富客户端平台(RCP)组件子集的集合。它能让桌面环境下的应用程序模型能够大致同样地能运用在嵌入式设备上。

3.2. 简单Java项目

启动eclipse,指定Java工作区所在目录。Eclipse以目录为工作区,工作区中可以包含多个项目

新建类

修改 Welcome.java中的Main函数中内容如下: public class Welcome {

public static void main(String[] args) { System.out.println("Welcome to Java!"); } }

在Welcome文件上使用点击鼠标右键,选择Run As 下的 Java Application运行此程序

在console窗口会输出程序运行结果,如下图所示:

3.3. 消除程序编译错误 3.3.1. 语法错误

程序编译错误主要是语法错误。出错编译错误后,会在文件中所在行上显示红色标记,鼠标移动到所在位置,会弹出错误提示,如图所示:

3.3.2. 添加引用

3.3.2.1. 添加库的引用

选择 “Add External JARs”添加外部Jar的引用

3.3.2.2. 添加项目引用

选择 Projects选项卡,然后单击 Add 按钮可以添加对当前工作区中其它项目的引用

3.4. 调试Java应用程序 3.4.1. 增加断点

在源码编辑器的左侧边框上双击,出现蓝色圆点图标,表示此行增加断点成功。当鼠标一点到圆点处,会出现提示,如图所示:

3.4.2. 启动调试

在Project Exploer视图内的Welcome文件上使用点击鼠标右键,选择Debug As 下的 Java Applicationt启动此程序并开始调试。

3.4.3. 调试视图

在Console视图输入数据,到调试状态。Debug视图显示了当前的调用堆栈,源码视图显示了当前执行的语句,并可以直接在源码窗口中查看变量的值,如图所示:

Debug窗口中包含了单步执行的相关按钮,可以有选择的执行相关操作。

3.5. 显示相关窗口

Windows->Show Views->Others

3.6. 安装插件 3.6.1. 在线更新

3.6.2. 手工安装

根据相关软件的说明安装。

第四章 数据库开发

4.1. HSQLDB简介

hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议,如果你是使用Java编程的话,不凡考虑一下使用它,相对其他数据库来说,其体积小,才563kb。仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动, 还有其他用户界面操作等内容。在Java开源世界里,hsql是极为受欢迎的(就Java本身来说),JBoss应用程序服务器默认也提供了这个数据库引 擎。由于其体积小的原因,又是纯Java设计,又支持SQL99,SQL2003大部分的标准,所以也是作为商业应用程序展示的一种选择。

hsql数据库引擎有几种服务器模式:常用的Server模式、WebServer模式、Servlet模式、Standlone模式、Memory-Only数据库。

4.1.1. 使用Server 模式启动

使用命令行模式:

java -cp hsqldb.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 xdb 其中:

mydb是数据存储的物理文件名称,可以使用e:\mydb等全路径模式 xdb 是数据库的名秒钟,用来标识当前数据库,以提供连接的方式

如果正确,会出现类似以下的提示:

[Server@6ca1c]: [Thread[main,5,main]]: checkRunning(false) entered [Server@6ca1c]: [Thread[main,5,main]]: checkRunning(false) exited [Server@6ca1c]: Startup sequence initiated from main() method

[Server@6ca1c]: Loaded properties from [E:\development\java2010\server.properties] [Server@6ca1c]: Initiating startup sequence...

[Server@6ca1c]: Server socket opened successfully in 10 ms.

[Server@6ca1c]: Database [index=0, id=0, db=file:mydb, alias=xdb] opened sucessfully in 730 ms.

[Server@6ca1c]: Startup sequence completed in 750 ms.

[Server@6ca1c]: 2010-07-12 19:30:23.473 HSQLDB server 1.8.1 is online [Server@6ca1c]: To close normally, connect and execute SHUTDOWN SQL [Server@6ca1c]: From command line, use [Ctrl]+[C] to abort abruptly

此数据库可以使用JDBC连接的URL格式如下:

jdbc:hsqldb:hsql://localhost/xdb

4.1.2. 启动客户端工具

javaw -cp

hsqldb.jar org.hsqldb.util.DatabaseManager

可以在可视化界面中输入SQL语句,并执行,查看结果等工作。

4.2. 编写数据库客户端应用程序 4.2.1. 代码如下

import java.sql.*;

public class Test { public static void main(String[] args) { Connection connection; try { Class.forName("org.hsqldb.jdbcDriver"); connection = DriverManager.getConnection( "jdbc:hsqldb:hsql://localhost/xdb", "sa", ""); } catch (Exception e) { e.printStackTrace(); return; } // --- Set up the database --- try { // Create a Statement object to execute the queries on, Statement statement = connection.createStatement(); ResultSet result; System.out.println("-- Creating Tables --"); statement.executeUpdate(" drop TABLE Person "); // Create a Person table, statement.executeUpdate(" CREATE TABLE Person ( " + " name VARCHAR(100) PRIMARY KEY, " + " age INTEGER, " + " lives_in VARCHAR(100) ) "); System.out.println("-- Inserting Data --"); statement.addBatch("INSERT INTO Person ( name, age, lives_in ) VALUES " + " ( 'Robert Bellamy', 24, 'England' ); "); statement.addBatch("INSERT INTO Person ( name, age, lives_in ) VALUES " + " ( 'Grayham Downer', null, 'Africa' );"); statement.addBatch(" INSERT INTO Person ( name, age, lives_in ) VALUES " + " ( 'Timothy French', 24, 'Africa' ); "); statement.addBatch(" INSERT INTO Person ( name, age, lives_in ) VALUES " + " ( 'Butch Fad', 53, 'USA' ); "); statement.addBatch(" INSERT INTO Person ( name, age, lives_in ) VALUES " + " ( 'Judith Brown', 34, 'Africa' ) "); statement.executeBatch(); System.out.println("-- SQL queries --"); // get average age of the people result = statement.executeQuery("SELECT AVG(age) FROM Person"); if (result.next()) {

System.out.println("Av. age: " + result.getDouble(1)); } System.out.println(); // List the names of all the people that live in Africa result = statement.executeQuery("SELECT name FROM Person WHERE lives_in = 'Africa' "); System.out.println("All people that live in Africa:"); while (result.next()) { System.out.println(" " + result.getString(1)); } // Close the statement and the connection. statement.close(); connection.close(); } catch (SQLException e) { System.out.println("An SQLException occurred: " + e.getMessage()); } catch (Exception e) { e.printStackTrace(System.err); } } }

4.2.2. 编译运行

添厍HSQLDB.jar到项目的“Build Path”中,然后运行,测试程序。

本文来源:https://www.bwwdw.com/article/vqu4.html

Top