/"debug="0"reloadable="true">
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
1.3java概述
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的运行环境是用ANSIC实现的。
8、Java语言是解释型的。
如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。
在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
9、Java是高性能的。
与那些解释型的高级脚本语言相比,Java的确是高性能的。
事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
10、Java语言是多线程的。
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
通常有两种方法来创建线程:
其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。
值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。
线程的活动由一组方法来控制。
Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
11、Java语言是动态的。
Java语言的设计目标之一是适应于动态变化的环境。
Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。
这也有利于软件的升级。
另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。
Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。
Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。
特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库
Oracle是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。
Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。
Oracle的关系数据库是世界第一个支持SQL语言的数据库。
第二章使用Oracle9i创建数据库
2.1Oracle9i数据库概述
Oracle的目标定位于高端工作站以及作为服务器的小型计算机。
Oracle的路线同Sun微系统公司类似,都提出了网络计算机的概念。
Oracle宣称自己是世界上首家百分之百进行基于互联网的企业软件的软件公司。
整个产品线包括:
数据库、服务器、企业商务应用程序以及应用程序开发和决策支持工具。
从Oracle首席执行官Ellison的发言可以看出Oracle对网络计算的信心,他说:
“Oracle公司的成败依赖于互联网是否能够成为将来的主流计算方式,如果答案是‘是’,Oracle就赢了”。
Oracle11g五大特性
与无压缩格式下存储数据相比,新的Oracle数据压缩技术能够确保以较小的开销节省三倍以上的磁盘存储空间。
这一点比仅节省磁盘空间要具有更大的优势,因为它能够使企业节约更多的开支,以便有更多的资金来巩固自己的地位。
自动诊断知识库(AutomaticDiagnosticRepository,ADR)是专门针对严重错误的知识库。
该知识库基本上能够自动完成一些以往需要由数据库管理员来手动完成的操作。
作为ADR的一部分,SQL性能分析器(SQLPerformanceAnalyzer,SPA)是最让人惊喜的特性之一。
SQL性能分析器是一个整体调整工具,管理员可以通过该工具在数据库上定义和重演(replay)一个典型的工作负载,之后管理员可以调节整体参数来使数据库尽快的达到最佳性能——而这一任务同样也是许多年以来由数据库管理员手动完成的。
由于获得了最优的初始参数,数据库管理员就不需要调整数以万计的SQL语句。
管理员需要做的就是给定一个典型的负载,由SPA根据历史记录来决定SQL的最终设置,而不用管理员来检测哪一个SQL设置是最合理的。
多年以来,甲骨文公司一直在努力完成地另一个新特性便是“联机更新”(在不down机的情况下更新软件)。
实际上,很难从软件工程的角度来设计一个运行时能自动升级的软件。
由于真正的应用集群(RealApplicationClusters,RAC)特性,甲骨文公司再一次对其他的数据库供应商造成了更大的压力。
在实际的使用过程中,数据库产品的用户总是希望产品有持续的高可用性,这并不是说只需满足下次补丁更新之前的3年的时间就够了。
自动内存管理特性可以追根溯源至Oracle9i,那时甲骨文公司推出首款自动调节存储池的工具。
AMM工具其实就是一种探测机制。
实际上,Oracle11g有很多随机访问存储池,当存储管理模式(AccessManagementMode,AMM)探测到某个存储池中已满时,它将整个随机存储器(RandomAccessMemory,RAM)从一个区域分配到其他相对合适的区域。
2.2Oracle9i数据库的安装与调试
实际的创建数据库的步骤:
决定数据库结构
Oracle数据库被分成称为表空间的逻辑单元,一个表空间可以包含多个物理数据文件。
一般情况一个Oracel数据库应建立至少以下几个表空间:
APP_DATA(主要的数据表存放)
TEMP(临时数据表存放)
APP_INDX(索引存放)
RBS(回退段存放)
设计文件存放在系统的位置
创建参数文件
参数文件一般是一个init.ora文件,存放在$ORACLE_HOME/dbs/下,Oracle有一个sample例子,你可以拷贝它,然后编辑里面的参数,例子里的参数都有详细说明,其中必须指定的有
DB_NAME
CONTROL_FILE
INIT_SQL_FILES
LOG_ARCHIVE_DEST
LOG_ARCHIVE_FORMAT
USER_DUMP_DEST
BACKGROUND_DUMP_DEST
决定一个唯一的例程名称
使用适当的系统操作命令设置Oracle例程名
Unix下是:
$ORACLE_SID=sidname
启动例程到NOMOUNT状态
调用SQL*DBA,以internal连进Oracle
$sqldbalmode=y
SQLDBA>connectinternal
connected
创建数据库
启动例程并创建数据库
SQLDBA>startupnomount
SQLDBA>createdatabasetest
2>datafile'system.dbs'size10M
3>logfile'/u01/oracle/testdb/log1.rdo'size500K,
4>logfile'/u02/oracle/testdb/logl2.rdo'size500K;
创建数据字典
执行一系列的SQL脚本
SQLDBA>@?
/rdbms/admin/catalog--创建常用的数据字典
SQLDBA>@?
/rdbms/admin/expview.sql--创建用于运行export和import工具所需的试图
还有其他sql脚本....,不一一列举
必要时,增加另外的Redolog文件和control文件
创建表空间
SQLDBA>createtablespaceclassdatafile'/u01/ORACLE/testdb/class01.dbfsize300M;
SQLDBA>createtablespaceclassinxdatafile'/u01/ORACLE/testdb/classinx1.dbfsize200M;
SQLDBA>createtablespacerbsdatafile'/u01/ORACLE/testdb/rbs01.dbfsize100M;
SQLDBA>createtablespacetempdatafile'/u01/ORACLE/testdb/class01.dbfsize100M;
创建回退段
SQLDBA>createrollbacksegmentrbltablespacerbs;
以上的是在Unix下用命令行方式建立数据库的方法,当然,你也可以用SQL*DBA或Servermanager等Oracle提供的界面工具来交互的建立数据库。
在NT下,通常是通过各种工具来建立数据库
在Oracle9i中,提供了多种工具,简化了以上烦琐的步骤
这些工具有:
OracleDatabaseConfigurationAssistant
InstanceManager
ServerManager
OracleAdministrationAssistantforWindowsNT
DataManagementWizards等。
手工创建数据库的全部脚本及说明
系统环境:
1、操作系统:
Windows2000Se