自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

welcomejzh的专栏

知识庄园

  • 博客(441)
  • 资源 (379)
  • 收藏
  • 关注

转载 各种品牌手机话机解锁秘籍

联想i188的结锁*544*745625# 也可解:天龙i90,cecti889,托普111。 philips630的#20021208 可用于:康佳r768,r769。 海讹z1000 手机解锁大全 三星解话机锁:*2767*2878#/*2767*7377# 三星码片复位:*2767*3855# 三星a388出现“sim卡锁密码”先将码片复位,然后输入*#0737#后调出8位密码,解锁后出现上

2008-12-18 16:39:00 2721

转载 光盘刻录知识

A: 光碟烧录知识1978年,PHILIPS和SONY公司都致力于生产流行的音频CD,当时 PHILIPS已经开发出商用激光盘播放机,而SONY从事数字记录研究也有10年之久。在他们达成一项关于制定单一的音频技术协议之前,两大公司正准备 进行一场商战,各自推出有可能互不兼容的音频激光唱盘格式。1982年,两公司宣布了一个标准,其中包括记录、取样,尤其是现在正使用的4.72/"格式 等规格(之所以选

2008-01-27 09:26:00 6742 1

转载 手机预设指令集

GPRS和彩信的设定:只有移动用户(普通神州行除外)可以使用这些功能。收发彩信和上网前提是要先设置好上网参数和开通GPRS功能 。开通GPRS的话可以有二种办法1、到营业厅,持机主有效证件。2、用手机拨打1860设一个密码,然后根据语音提示开通GPRS。开通GPRS后手机要先关机,然后再开机。可能还要等30分钟以上才能用GPRS上网,然后进行收发彩信。功能表- 娱乐-WAP浏览器-设置:(1)代理

2008-01-11 15:03:00 4580

原创 超短线盘面操作最重要的细节

<br />1、首位的是心态。盘面只可能存在上涨、走平、下跌三种表现,多种趋势;一般大体趋势定了就不可能会改变(除非有非常强大的外力因素),某个时间段的走势却会随着当时的情况和参与因素的众多原因而难以预测(我们能获得的有效信息太有限了,说是预测其实是猜测),判断错误是在再所难免,这是一个事实,你必须首先承认,在冷静面对。把心放平(这很难,特别还存在着自己背负的压力和激动,需要一点一点持久磨练)。<br /> <br />2、随机应变的能力。因为盘面的随机性很大,不确定的因素很多,还存在不可能预测的突发状况,

2010-09-16 08:56:00 1112

转载 ATI/NVIDIA显卡功耗表

ATI Multicard:(多卡交火)HD4870X2 CF_________ 149W-512WHD4870X2 + HD4870 CF_ 150W-409W (HD4870 512MB)HD4870 CF____________ 128W-255WHD4870 + HD4850 CF___96W-221WHD4850 CF____________ 78W-199WHD4670 CF_____

2010-04-14 17:45:00 8416

转载 用Debug汇编语言进行硬盘低级格式化

  低级格式化硬盘能完成销毁硬盘内的数据,所以在操作前一定要谨慎。硬盘低格有许多方法,例如直接在CMOS中对硬盘进行低格,或者使用汇编语言进行硬盘低格,而最常见的莫过于使用一些工具软件来对硬盘进行低格,常见低格工具有lformat、DM及硬盘厂商们推出的各种硬盘工具等。   汇编是比较低级的一种编程语言,它能非常方便地直接操作硬件,而且运行效率很高,如果软件系统中需要直接操作硬件时

2010-03-05 17:02:00 2636

原创 易用的为中国用户定制的中文linux

LinuxDeepinhttp://linux.deepin.org/downloadLinuxDeepin 是 Hiweed Linux 改名后的 一个公开发行版本。虽然改了名字、换了 Logo,但“免除新手痛苦、节约老手时间”的口号没有变,系统也依然“轻量级”。  开拓者ubuntu中文定制版http://www.cdbeta.comhttp://ubuntu:ub

2010-01-06 16:12:00 1115 1

转载 修改安装文件将windows xp 装到U盘

转自:http://www.verycd.com/groups/@g933353/188257.topic 前言:      原版的XP是不能直接安装在移动硬盘上的,主要是安装程序在安装过程中把USB仅作为输入设备,而没有当作存储设备看待,因此在拷贝完文件后就无法再次启动了。本人将安装程序的配置文件和USB驱动进行了一些小修改,这样就可以顺利的安装在移动硬盘上了。安装在移动硬盘上的系统

2009-12-24 16:16:00 8637

转载 U盘 Windows XP SP3制作

转自:http://www.verycd.com/topics/2780556/    对于把XP装进U盘或移动硬盘一直是个让人感兴趣的话题,对于要经常使用几台电脑移动办公的朋友更是意义不言而喻。许多时候,异地办公时资料和软件的不同步,更有甚者,系统的操作界面、主题等与习惯上的不一致,也可能影响你的心情。这样,一个移动版的USB@XP系统就成了大家的梦寐以求。  如果你直接把原装的XP

2009-12-24 08:30:00 10344

原创 U盘不能使用 问题处理

当U盘不能被正常识别时可以采用下面方法修复: 1、在磁盘管理工具中删除U盘分区,然后重新建立。 2、可以尝试用PTDD、PartitionMagic、WINPM、DiskGenius、HPUSBFW等分区格式化工具修复分区表或格式化分区。 3、如果上述工具都不能正确识别U盘的容量时,需要采取下述方案:      3.1、首先用ChipGenius 检查出U盘的芯片厂

2009-12-23 12:57:00 1654

原创 中国传统节日简介、由来、习俗

转自:http://www.artx.cn/artx/jieri/春节,是农历正月初一,又叫阴历年,俗称“过年”。这是我国民间最隆重、最热闹的一个传统节日。春节的历史很悠久,它起源于殷商时期年头岁尾的祭神祭祖活动。按照我国农历,正月初一古称元日、元辰、元正、元朔、元旦等,俗称年初一,到了民国时期,改用公历,公历的一月一日称为元旦,把农历的一月一日叫春节。  春节到了,意味着春天将要来临

2009-12-21 14:32:00 36331 2

原创 BSD HD 声卡驱动安装,ntfs-3g安装

RelaxBSD InstallCD 2.0MD5 (RelaxBSD-InstallCD-2.0.iso) = cc99518480f29dcfcb41ca19f314b14aSHA256 (RelaxBSD-InstallCD-2.0.iso) = 8d5c3889663d2098d402c29a9a370b856a7d028695c0c54f065215d0f993d6b6SIZE (Rel

2009-11-14 12:43:00 1561

转载 AMD Athlon CPU 全系列回忆录

Athlon已不仅是一款处理器名称,而成为AMD公司的灵魂。这是一个沿用了8年而不朽的称谓,它见证了AMD由受人摆布到走向成熟,见证了AMD与Intel 历时8年的性能斗争。Athlon并不是AMD的唯一产品,却成为整个公司风向标,在财务危机、裁员风波等一系列的关键时刻力挽狂澜,顽强地打破了Intel的垄断并巩固市场份额,使AMD逐渐强大。随着AMD决定在2007年第三季度发布Phonom处理器品

2009-11-12 09:30:00 4053

转载 认识处理器(CPU)

典型的处理器的主要任务包括 从内存中获取机器语言指令,译码,执行 根据指令代码管理它自己的寄存器 根据指令或自己的的需要修改内存的内容 响应其他硬件的中断请求 一般说来,处理器拥有对整个系统的所有总线的控制权。对于Intel平台而言,处理器拥有对数据、内存和控制总线的控制权,根据指令控制整个计算机的运行。在以后的章节中,我们还将讨论系统中同时存在

2009-11-12 09:26:00 1260

转载 历代Windows操作系统

1985年Windows 1.0正式推出,相信一些老一辈计算机使用者应该熟悉吧?1987年10月推出Windows 2.0,比 Windows 1.0版有了不少进步,但自身不完善,效果不好。1990年5月Windows 3.0 版推出,期间微软继2.0后还有代号为286、386两款系统,但因其自身原因,一直没有得到人们的注意。直到3.0的出现才改观了这种局面,Windows逐渐

2009-11-12 09:25:00 1623

转载 串口扩展卡的发展史

设备网络化,已经成为一个共识的、必然的趋势。为了获取更高的效率、进而争取竞争优势,联网系统的建立已经成为当务之急。串口卡的应用最早是在计算机上,向外接口采用的是RS-232界面,后来扩展为RS-232和RS-422、RS-485三种界面形式。图1 串口产品工作流程示意图  作为一个串口产品,其核心工作机理如下:数据从产生端(通常是PC机或各种专业机器设备)出来后,通过并行的Data总线

2009-11-12 09:23:00 1212

转载 计算机的发展史

1、世界上第一台“电脑”  说起第一台电脑相信你们都会不假思索的答出::ENIAC这个答案,但是真的是这样么?其实理论上他是对的,但是有并没有全对.我们的第一台电脑雏形,其实并非是电子设备,而是一个机械设备.下面这个就是电脑的雏形,或者说是ENIAC的雏形.这台机械味道十足的东西就是电脑的前身了,名叫做巴贝奇分析机这是一台应战争而生的第一台电脑,这台电脑从技术上讲并没有太明晰的CPU概

2009-11-12 09:20:00 928

转载 INTEL CPU 历史表

INTEL CPU发展史  i8086型号 Processor Type出产日期 DateIntroduced频率 Clock Speed其他 Commentsi3002  2-bit  processor,28-pin DIP

2009-11-12 09:11:00 4366

转载 AMD CPU 历史表

 AMD CPU 的发展史 Am8086型号出产日期频率其他Am2901 19754-bit slice processor,40-pin DIPAm2903  

2009-11-12 09:07:00 8082 1

转载 Intel主板芯片组发展历史

Intel主板芯片组发展历史序  主板是电脑中最为重要的硬件之一。CPU、内存、显卡等都基于其上,硬盘、光驱、电源等都与其连通,显示器、键盘、鼠标、音箱等都同其衔接。主板连接并控制着其它硬件之间的数据传输,是其它硬件的中心枢纽。而主板芯片组则是主板的心脏,决定着主板的功能和特性。世界上存在多家拥有自主设计能力研发生产主板芯片组的公司,分别是Intel(英特尔)、NVIDIA(英伟达)、VI

2009-11-12 08:24:00 20139

转载 Intel CPU 功耗大全

IntelIntel Pentium 4Pentium 4(Willamette)Socket 423CoreVoltageVmaxMax.CoreAmp.ThermalDesignPowerEst. MaxPowerDiss.Max.CoverTemp.P4 1.3G(256KB)1.7V(1.56V~1.7V)2.1V38.1A4

2009-11-11 16:04:00 29762 1

转载 AMD CPU 功耗大全

 AMDAMD Athlon 64Athlon 64(Clawhammer)Socket 754CoreVoltageCoreVoltageUpper LimitMaximumCoreAmperageThermalDesignPowerMax.CaseTemp.Athlon 64(800MHz)1.3V(?V~?V)?V25.2A

2009-11-11 15:58:00 5841

转载 Intel CPU 型号规格大全

产品型号 主频 插槽 核心 前端总线 外频 制程 L2/L3缓存 核数 工作电压 Intel 赛扬II 800 800MHz Socket370 Coppermine   100MHz 0.18微米 128KB/-- 单核 1.70V Intel 赛扬II 850 850MHz Socket370 Coppermine   100MHz 0.18微米 128KB/-- 单核 1.70V Intel

2009-11-11 15:19:00 2698

转载 Intel史上最能超频的10款CPU

转自 http://dragonx.blogchina.com/dragonx/4503513.html 超频,顾名思义,就是通过技术手段让芯片工作在超过额定的频率下。在所有超频活动中,以CPU的超频历史最为悠久,成果最丰富。Intel的处理器历史,某种程度上也是一部主频提升和超频大战并存的历史。每一次制程升级,Intel处理器的极限频率就会大大提升,0.35微米制程的时候极限频率只能达到

2009-11-11 10:58:00 7594

转载 超频软件

 一、CPU超频软件 提高CPU的外频和倍频,超额频率使用,的确会带来性能上的可观提升,不过超频也不是一件简单的事,除了需要监视CPU的温度,风扇的转速等,还需要系统优化工具,以发挥整个计算机系统的能力。单单硬件上面的辅助是不够的,我们还需要软件来帮主自己,下面我向大家介绍几个工具软件,能够辅助你完成超频、监视、优化等工作。 1、Wcpuid:知己知彼 现在的CPU做工是越

2009-11-02 15:00:00 3317

转载 Windows XP systrep工具

 Sysprep是一种专为企业系统管理员、OEM厂商以及其他需要在多台计算机上部署Windows XP操作系统的客户而设计的实用工具。一旦在单台计算机上完成初始安装步骤后,您便可以运行Sysprep以准备对样品计算机进行克隆。 Sysprep将在每台目标计算机首次重新启动时为其分配一个唯一的安全标识码。该工具能够对操作系统进行相应配置,以便使其能够在终端用户首次重新启动计算机时使用Wi

2009-10-31 11:26:00 1029

转载 GPT 分区表

GUID分区表  GUID 分区表 (GPT)  一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录 (MBR) 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,支持高达 18 千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。   与支持最大卷为 2 TB

2009-10-19 15:43:00 1104

转载 Windows XP Embedded SP2 + 简体中文语言包

微软官方下载 Windows XP Embedded SP2 + 简体中文语言包  Windows XP Embedded 的微软官方下载网址. 经过研究微软官方的 XPE 下载器 XPEFFI.exe,发现:1.Windows XP Embedded SP2 英文版: http://download.microsoft.com/download/9/1/C/91C0118B-C683

2009-09-16 10:52:00 9787 1

转载 主板芯片

转自:http://www.yesky.com/zhuanti/235/1859235.shtml 芯片组(Chipset)是主板的核心组成部分,如果说中央处理器(CPU)是整个电脑系统的心脏,那么芯片组将是整个身体的躯干。在电脑界称设计芯片组的厂家为Core Logic,Core的中文意义是核心或中心,光从字面的意义就足以看出其重要性。对于主板而言,芯片组几乎决定了这块主板的功能,进而影

2009-08-19 18:50:00 2129

转载 显卡 型号 后缀

nVidia  Vanta:字面意思不明,按照nVidia的说法,表示相应芯片的简化版本。只在TNT时代出现过几面。所以就不多介绍了。  代表作:TNT2 Vanta  STD:Standard,标准版。一般不用标注。  Pro:字面意思就可以理解,‘加强’的意思,只要有它出现就代表着相应芯片的比较高端的版本。最初在TNT2系列有过,最后一面是出现在Geforce2系列,现在已经几

2009-08-19 18:44:00 983

转载 Intel CPU 型号介绍

 1、CeleronCeleron系列都直接采用频率标注,例如Celeron 2.4GHz等等,频率越高就表示规格越高。只有Northwood核心的1.8GHz产品为了与采用Willamette核心的同频率产品相区别而采用了在频率后面增加字母后缀"A"(标注为Celeron 1.8A GHz)的方式。2、Celeron DCeleron D系列无论是Socket 478接口还是Sock

2009-08-19 18:34:00 4783

转载 内存类型

1.内存条的诞生当CPU在工作时,需要从硬盘等外部存储器上读取数据,但由于硬盘这个“仓库”太大,加上离CPU也很“远”,运输“原料”数据的速度就比较慢,导致CPU的生产效率大打折扣!为了解决这个问题,人们便在CPU与外部存储器之间,建了一个“小仓库”—内存。内存虽然容量不大,一般只有几十MB到几百MB,但中转速度非常快,如此一来,当CPU需要数据时,事先可以将部分数据存放在内存中,以解CPU的燃眉

2009-08-19 18:09:00 835

转载 AMD CPU 型号

转自:http://www.enet.com.cn/article/2004/1229/A20041229377118.shtml        一、Duron: Socket A      1.支持双通道,不过这是由配套芯片组来实现的   2.不支持64位扩展   3.64KB二级缓存   4.最高型号:1.8GHz   5.总共经历了四种核心:Spitfire, M

2009-08-19 18:04:00 934

转载 AMD intel CPU 型号对比

英特尔公司的主要 CPU 系列型号有: Pentium Pentium Pro Pentium II Pentium III Pentium 4 Pentium 4EE Pentium-m Celeron Celeron II Celeron III Celeron IV Celeron D Xeon 等等 而 AMD 公司的主要 CPU 系列型号有: K5 K6 K6-2 Duron Athlo

2009-08-19 17:54:00 5560

转载 Intel芯片 35年 历程

转自http://www.itfind.com.cn/it/200611/318.html 谢谢作者,长知识了 35年前的1971年11月15日,Intel发布了自己的首款微处理器,型号“4004”,这也是首次将一台编程计算机所需的各种元素融合在一颗单独的芯片上。从此,一个崭新的微处理器时代开始了。下边,我们就以看图说话的形式,回顾一下这些年来Intel的一些经典芯片设计,看看芯片

2009-08-19 17:52:00 838

转载 用 vmware 硬盘安装 Linux 发行版

转自:http://www.relaxbsd.org/main/?q=node/20 我按照以下教程安装很成功,很感谢作者 一、免责声明:下面的操作有一定的风险,笔者通过多次实践证明下面的操作有效。尽管如此,我不能保证会有意外情况发生。由此引起直接的、间接的、或由误操作产生的不良后果笔者概不负责。说明:这里利用vmware将RelaxBSD安装至硬盘指的是利用vmware这个工

2009-08-04 15:15:00 1452

转载 js 获取、清空 input type="file"的值

上传控件基础知识说明:上传控件()用于在客户端浏览并上传文件,用户选取的路径可以由value属性获取,但value属性是只读的,不能通过javascript来赋值,这就使得不能通过value=""语句来清空它。很容易理解为什么只读,如果可以随意赋值的话,那么用户只要打开你的网页,你就可以随心所欲的上传他电脑上的文件了。 js 获取的值       function   show

2009-07-15 16:56:00 20817 4

转载 MyEclipse4.0 、4.1、4.9、5.1 注册机代码

有效期至209912310 import java.io.BufferedReader;import java.io.InputStreamReader;public class Main{ private static final String L = "Decompiling this copyrighted software is a violation of both your

2009-07-14 14:33:00 1649

转载 MyEcipse v3 v4 v5 v6 下载地址

对我而言,MyEcipse 最好用的是项目发布功能,但太多的插件使的平台运行很慢,要是安装时能自由选择插件就好了,对于一般的WEB开发还是比较喜欢用MyEcipse 4.1。谁能告诉我MyEcipse的项目发布管理的插件是那些? 以下转载 特别说明: 2008/6/18发布的Myeclipse 6.5GA和Myeclipse Bule、2007年10月中旬发布的6.

2009-07-13 17:14:00 1175

转载 常用验证JS

  1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 function test() {if(document.a.b.value.length>50){alert("不能超过50个字符!");document.a.b.focus();return false;}} 2:js验证邮箱格式

2009-06-25 10:18:00 915

12、网络需求分析和网络规划

为了阅读方便把网络工程师教程2006按章节拆分了

2020-03-21

Mysql 存储过程

Introduction 简介      MySQL 5.0 新特性教程是为需要了解5.0版本新特性的MySQL老用户而写的。简单的来说是介绍了“存储过程、触发器、视图、信息架构视图”,在此感谢译者陈朋奕的努力.      希望这本书能像内行专家那样与您进行对话,用简单的问题、例子让你学到需要的知识。为了达到这样的目的,我会从每一个细节开始慢慢的为大家建立概念,最后会给大家展示较大的实用例,在学习之前也许大家会认为这个用例很难,但是只要跟着课程去学,相信很快就能掌握。      Conventions and Styles 约定和编程风格      每次我想要演示实际代码时,我会对mysql客户端的屏幕就出现的代码进行调整,将字体改成Courier,使他们看起来与普通文本不一样。      在这里举个例子:mysql> DROP FUNCTION f;Query OK, 0 rows affected (0.00 sec)      如果实例比较大,则需要在某些行和段落间加注释,同时我会用将“<--”符号放在页面的右边以表示强调。      例如:      mysql> CREATE PROCEDURE p ()   -> BEGIN   -> /* This procedure does nothing */ <--   -> END;//Query OK, 0 rows affected (0.00 sec)      有时候我会将例子中的"mysql>"和"->"这些系统显示去掉,你可以直接将代码复制到mysql客户端程序中(如果你现在所读的不是电子版的,可以在mysql.com网站下载相关脚本)所以的例子都已经在Suse 9.2 Linux、Mysql 5.0.3公共版上测试通过。      在您阅读本书的时候,Mysql已经有更高的版本,同时能支持更多OS了,包括Windows,Sparc,HP-UX。因此这里的例子将能正常的运行在您的电脑上。但如果运行仍然出现故障,可以咨询你认识的资深Mysql用户,以得到长久的支持和帮助。      A Definition and an Example 定义及实例      定义及实例存储过程是一种存储在书库中的程序(就像正规语言里的子程序一样),准确的来说,MySQL支持的“routines(例程)”有两种:一是我们说的存储过程,二是在其他SQL语句中可以返回值的函数(使用起来和Mysql预装载的函数一样,如pi())。我在本书里面会更经常使用存储过程,因为这是我们过去的习惯,相信大家也会接受。      一个存储过程包括名字,参数列表,以及可以包括很多SQL语句的SQL语句集。      在这里对局部变量,异常处理,循环控制和IF条件句有新的语法定义。      下面是一个包括存储过程的实例声明:(译注:为了方便阅读,此后的程序不添任何中文注释)      CREATE PROCEDURE procedure1 /* name存储过程名*/      (IN parameter1 INTEGER) /* parameters参数*/      BEGIN /* start of block语句块头*/      DECLARE variable1 CHAR(10); /* variables变量声明*/      IF parameter1 = 17 THEN /* start of IF IF条件开始*/      SET variable1 = 'birds'; /* assignment赋值*/      ELSE      SET variable1 = 'beasts'; /* assignment赋值*/      END IF; /* end of IF IF结束*/      INSERT INTO table1 VALUES (variable1);/* statement SQL语句*/      END /* end of block语句块结束*/      下面我将会介绍你可以利用存储过程做的工作的所有细节。同时我们将介绍新的数据库对象―触发器,因为触发器和存储过程的关联是必然的。      Why Stored Procedures 为什么要用存储过程      由于存储过程对于MySQL来说是新的功能,很自然的在使用时你需要更加注意。      毕竟,在此之前没有任何人使用过,也没有很多大量的有经验的用户来带你走他们走过的路。然而你应该开始考虑把现有程序(可能在服务器应用程序中,用户自定义函数(UDF)中,或是脚本中)转移到存储过程中来。这样做不需要原因,你不得不去做。      因为存储过程是已经被认证的技术!虽然在Mysql中它是新的,但是相同功能的函数在其他DBMS中早已存在,而它们的语法往是相同的。因此你可以从其他人那里获得这些概念,也有很多你可以咨询或者雇用的经验用户,还有许多第三方的文档可供你阅读。      存储过程会使系统运行更快!虽然我们暂时不能在Mysql上证明这个优势,用户得到的体验也不一样。我们可以说的就是Mysql服务器在缓存机制上做了改进,就像Preparedstatements(预处理语句)所做的那样。由于没有编译器,因此SQL存储过程不会像外部语言(如C)编写的程序运行起来那么快。但是提升速度的主要方法却在于能否降低网络信息流量。如果你需要处理的是需要检查、循环、多语句但没有用户交互的重复性任务,你就可以使用保存在服务器上的存储过程来完成。这样在执行任务的每一步时服务器和客户端之间就没那么多的信息来往了。      所以存储过程是可复用的组件!想象一下如果你改变了主机的语言,这对存储过程不会产生影响,因为它是数据库逻辑而不是应用程序。存储过程是可以移植的!当你用SQL编写存储过程时,你就知道它可以运行在Mysql支持的任何平台上,不需要你额外添加运行环境包,也不需要为程序在操作系统中执行设置许可,或者为你的不同型号的电脑存储过程将被保存!如果你编写好了一个程序,例如显示银行事物处理中的支票撤消,那想要了解支票的人就可以找到你的程序。      它会以源代码的形式保存在数据库中。这将使数据和处理数据的进程有意义的关联这可能跟你在课上听到的规划论中说的一样。存储过程可以迁移!      Mysql完全支持SQL 2003标准。某些数据库(如DB2、Mimer)同样支持。但也有部分不支持的,如Oracle、SQL Server不支持。我们将会给予足够帮助和工具,使为其他DBMS编写的代码能更容易转移到Mysql上。      Setting up with MySQL 5.0 设置并开始MySQL 5.0服务      通过   mysql_fix_privilege_tables      或者   ~/mysql-5.0/scripts/mysql_install_db      来开始MySQL服务      作为我们练习的准备工作的一部分,我假定MySQL 5.0已经安装。如果没有数据库管理员为你安装好数据库以及其他软件,你就需要自己去安装了。不过你很容易忘掉一件事,那就是你需要有一个名为mysql.proc的表。      在安装了最新版本后,你必须运行      mysql_fix_privilege_tables      或者   mysql_install_db      (只需要运行其中一个就够了)――不然存储过程将不能工作。我同时启用在root身份后运行一个非正式的SQL脚本,如下:   mysql>source/home/pgulutzan/mysql-5.0/scripts/mysql_prepare_privilege_tables_for_5.sql      Starting the MySQL Client 启动MySQL客户端      这是我启动mysql客户端的方式。你也许会使用其他方式,如果你使用的是二进制版本或者是Windows系统的电脑,你可能会在其他子目录下运行以下程序:   easy@phpv:~> /usr/local/mysql/bin/mysql --user=root   Welc 您正在看的MySQL教程是:MySQL5.0新特性教程存储过程:第一讲。ome to the MySQL monitor. Commands end with ; or \g.   Your MySQL connection id is 1 to server version: 5.0.3-alpha-debug   Type 'help;' or '\h' for help. Type '\c' to clear the buffer.      在演示中,我将会展示以root身份登陆后的mysql客户端返回的结果,这样意味着我有极大的特权。      Check for the Correct Version 核对版本      为了确认使用的MySQL的版本是正确的,我们要查询版本。我有两种方法确认我使用的是5.0版本:   SHOW VARIABLES LIKE 'version';      or   SELECT VERSION();      例如:   mysql> SHOW VARIABLES LIKE 'version';   +---------------+-------------------+   | Variable_name | Value |   +---------------+-------------------+   | version | 5.0.3-alpha-debug |   +---------------+-------------------+   1 row in set (0.00 sec)   mysql> SELECT VERSION();   +-------------------+   | VERSION() |   +-------------------+   | 5.0.3-alpha-debug |   +-------------------+   1 row in set (0.00 sec)      当看见数字'5.0.x' 后就可以确认存储过程能够在这个客户端上正常工作。      The Sample "Database" 示例数据库      现在要做的第一件事是创建一个新的数据库然后设定为默认数据库实现这个步骤的SQL语句如下:   CREATE DATABASE db5;   USE db5;      例如:   mysql> CREATE DATABASE db5;   Query OK, 1 row affected (0.00 sec)   mysql> USE db5;   Database changed      在这里要避免使用有重要数据的实际的数据库然后我们创建一个简单的工作表。      实现这个步骤的SQL语句如下:   mysql> CREATE DATABASE db5;   Query OK, 1 row affected (0.01 sec)   mysql> USE db5;   Database changed   mysql> CREATE TABLE t (s1 INT);   Query OK, 0 rows affected (0.01 sec)   mysql> INSERT INTO t VALUES (5);   Query OK, 1 row affected (0.00 sec)      你会发现我只在表中插入了一列。这样做的原因是我要保持表的简单,因为在这里并不需要展示查询数据的技巧,而是教授存储过程,不需要使用大的数据表,因为它本身已经够复杂了。

2009-03-20

MySQL 入门学习 ——基础教程

MySQL入门学习(1)。   MySQL入门学习(1) · 安装篇 PHP+MySQL+Linux目前已逐渐成为小型web服务器的一种经典组合。在indows环境下构筑和调试MySQL数据库是许多网站开发者的一种首选。本人在Windows98环境下初学MySQL,现将学习过程与经验总结出来供大家参考。 1、下载mysql-3.23.35-win.zip并解压; 2、运行setup.exe;选择d:\mysql,"tyical install" 3、启动mysql,有如下方法: · 方法一:使用winmysqladmin 1)、进入d::\mysql\bin目录,运行winmysqladmin.exe,在屏幕右下角的任务栏内会有一个带红色的图符 2)、鼠标左键点击该图符,选择“show me”,出现“WinMySQLAdmin”操作界面;首次运行时会中间会出现一个对话框要求输入并设置你的用户名和口令 3)、选择“My.INI setup” 4)、在“mysqld file”中选择“mysqld-opt”(win9x)或“mysqld-nt”(winNT) 5)、选择“Pick-up or Edit my.ini values”可以在右边窗口内对你的my.ini文件进行编辑 6)、选择“Save Modification”保存你的my.ini文件 7)、如果你想快速使用winmysqladmin(开机时自动运行),选择“Create ShortCut on Start Menu” 8)、测试: 进入DOS界面; 在d:\mysql\bin目录下运行mysql,进入mysql交互操作界面 输入show databases并回车,屏幕显示出当前已有的两个数据库mysql和test · 方法二:不使用winmysqladmin 1)、在DOS窗口下,进入d:/mysql/bin目录 2)、win9X下)运行: mysqld 在NT下运行: mysqld-nt --standalone 3)、此后,mysql在后台运行 4)、测试mysql:(在d:/mysql/bin目录下) a)、mysqlshow 正常时显示已有的两个数据库mysql和test b)、mysqlshow -u root mysql 正常时显示数据库mysql里的五个表: columns_priv db host tables_priv user c)、mysqladmin version status proc 显示版本号、状态、进程信息等 d)、mysql test 进入mysql操作界面,当前数据库为test 5)、mysql关闭方法: mysqladmin -u root shutdown 4、至此,MySQL已成功安装,接着可以熟悉MySQL的常用命令并创建自己的数据库了。 上篇讲了如何安装并测试MySQL,环境建好后就可以继续我们的学习了。本篇主要熟悉一写常用命令。 · 1、启动MySQL服务器 实际上上篇已讲到如何启动MySQL。两种方法: 一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。 二是在DOS方式下运行 d:mysqlbinmysqld · 2、进入mysql交互操作界面 在DOS方式下,运行: d:mysqlbinmysql 出现: mysql 的提示符,此时已进入mysql的交互操作方式。 如果出现 "ERROR 2003: Can´t connect to MySQL server on ´localhost´ (10061)“, 说明你的MySQL还没有启动。 · 3、退出MySQL操作界面 在mysql>提示符下输入quit可以随时退出交互操作界面: mysql> quit Bye 你也可以用control-D退出。 · 4、第一条命令 mysql> select version(),current_date(); +----------------+-----------------+ | version() | current_date() | +----------------+-----------------+ | 3.23.25a-debug | 2001-05-17 | +----------------+-----------------+ 1 row in set (0.01 sec) mysql> 此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作上述命令,看结果如何。 结果说明mysql命令的大

2009-03-20

跟我学 SQL ——基本结构化查询语言

SQL数据库是怎么回事? SQL(结构化查询语言)就是负责与ANSI维护的数据库交互的标准。最新的版本是SQL-99,还有一个新标准SQL-200n尚处于制定过程中。大多数的数据库都至少遵守ANSI-92标准的部分子集。不过,目前对最新标准的有效性还存在一些争论。专有数据库制造商根据这些标准开发自己的产品,同时制定出自己特有的数据库存储操作新概念。几乎各种不同的数据库都包含了自己特有的语法集合,只是通常很类似ANSI标准。在大多数情况下,尽管有一些数据库实例基于特定的扩展语法会因数据库的不同而产生不同的结果,但总的说来,这些新加的语法不过是对原有标准的扩充。如果数据库操作并没有得到你希望的结果,那么你不妨事先读一读数据库制造商提供的产品说明。 假如到目前为止你头回遭遇SQL语言,那么你怎么也得先理解一些基本的SQL概念。我尽量把这些基本知识阐述得简明扼要,如果你对那些数据库术语还能忍受,你尽可跳到下一节,此外你还可以把自己的问题提交给以下的讨论区。 笼统地说,“SQL数据库”其实就是关系型数据库管理系统(RDMS)通俗的叫法。对某些系统来说,“数据库”也指一组数据表、数据以及相互区分但结构类似的配置信息。在这种情况下,每一SQL数据库的安装都可能由若干数据库组成。在有些系统上,这种数据库则指的是表空间。 数据表是一种包含多行数据的数据库构造,这种数据库构造由命名的列组成。通常数据表构造为包含关系信息,同一数据库或表空间以内可以创建若干数据表。 表内的列保存某一种类型的数据而且应根据其保存数据的内容得以命名。例如,被称为“LastName”的列就应该在每一行包含姓氏条目。正是这一前提的存在才能让关系数据库查询返回一致的结果。 字段(field)指的是某一行某一列对应的数据(或保存数据的地方)。另外,数据集合(data set)则指的是多行多列的数据,而且数据集合通常说明你的数据库或数据表内的全部数据。结果集合(result set)就是从数据库查询返回的数据;它能够描述从单一字段到数据库内全部数据这一范围内的全部信息。 数据库查询就是发送给数据库的SQL指令,这些指令向数据库请求某种施加在数据集合或数据库上的功能。 现在我们就来看看基本的数据库查询,这些查询主要涉及到对数据库内数据的操作。在本文中,所有的例子都采用了标准SQL语言,而且这些基本功能可以转换为应用在几乎各种环境下。 数据查询类型

2009-03-20

MySQL 5.1参考手册

目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. MaxDB的历史 1.5.3. MaxDB的特性 1.5.4. 许可和支持 1.5.5. MaxDB和MySQL之间的特性差异 1.5.6. MaxDB和MySQL之间的协同性 1.5.7. 与MaxDB有关的链接 1.6. MySQL发展大事记 1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. 选择SQL模式 1.8.3. 在ANSI模式下运行MySQL 1.8.4. MySQL对标准SQL的扩展 1.8.5. MySQL与标准SQL的差别 1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 2.3.11. 从Windows命令行启动MySQL 2.3.12. 以Windows服务方式启动MySQL 2.3.13. 测试MySQL安装 2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix注意事项 2.12.6. OS/2注意事项 2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用选项 4.3.2. 使用选项文件 4.3.3. 用环境变量指定选项 4.3.4. 使用选项设置程序变量 5. 数据库管理 5.1. MySQL服务器和服务器启动脚本 5.1.1. 服务器端脚本和实用工具概述 5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:MySQL服务器 5.3.1. mysqld命令行选项 5.3.2. SQL服务器模式 5.3.3. 服务器系统变量 5.3.4. 服务器状态变量 5.4. mysql_fix_privilege_tables:升级MySQL系统表 5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的作用 5.7.2. 权限系统工作原理 5.7.3. MySQL提供的权限 5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. 备份与恢复 5.9.1. 数据库备份 5.9.2. 示例用备份与恢复策略 5.9.3. 自动恢复 5.9.4. 表维护和崩溃恢复 5.9.5. myisamchk:MyISAM表维护实用工具 5.9.6. 建立表维护计划 5.9.7. 获取关于表的信息 5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同一台机器上运行多个MySQL服务器 5.12.1. 在Windows下运行多个服务器 5.12.2. 在Unix中运行多个服务器 5.12.3. 在多服务器环境中使用客户端程序 5.13. MySQL查询高速缓冲 5.13.1. 查询高速缓冲如何工作 5.13.2. 查询高速缓冲SELECT选项 5.13.3. 查询高速缓冲配置 5.13.4. 查询高速缓冲状态和维护 6. MySQL中的复制 6.1. 复制介绍 6.2. 复制实施概述 6.3. 复制实施细节 6.3.1. 复制主线程状态 6.3.2. 复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器复制中的Auto-Increment 7. 优化 7.1. 优化概述 7.1.1. MySQL设计局限与折衷 7.1.2. 为可移植性设计应用程序 7.1.3. 我们已将MySQL用在何处? 7.1.4. MySQL基准套件 7.1.5. 使用自己的基准 7.2. 优化SELECT语句和其它查询 7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化DISTINCT 7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN 7.2.10. MySQL如何优化嵌套Join 7.2.11. MySQL如何简化外部联合 7.2.12. MySQL如何优化ORDER BY 7.2.13. MySQL如何优化GROUP BY 7.2.14. MySQL如何优化LIMIT 7.2.15. 如何避免表扫描 7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它优化技巧 7.3. 锁定事宜 7.3.1. 锁定方法 7.3.2. 表锁定事宜 7.4. 优化数据库结构 7.4.1. 设计选择 7.4.2. 使你的数据尽可能小 7.4.3. 列索引 7.4.4. 多列索引 7.4.5. MySQL如何使用索引 7.4.6. MyISAM键高速缓冲 7.4.7. MyISAM索引统计集合 7.4.8. MySQL如何计算打开的表 7.4.9. MySQL如何打开和关闭表 7.4.10. 在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 7.5.6. MySQL如何使用DNS 7.6. 磁盘事宜 7.6.1. 使用符号链接 8. 客户端和实用工具程序 8.1. 客户端脚本和实用工具概述 8.2. myisampack:生成压缩、只读MyISAM表 8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM日志文件内容 8.13. perror:解释错误代码 8.14. replace:字符串替换实用工具 8.15. mysql_zap:杀死符合某一模式的进程 9. 语言结构 9.1. 文字值 9.1.1. 字符串 9.1.2. 数值 9.1.3. 十六进制值 9.1.4. 布尔值 9.1.5. 位字段值 9.1.6. NULL值 9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. 常规字符集和校对 10.2. MySQL中的字符集和校对 10.3. 确定默认字符集和校对 10.3.1. 服务器字符集和校对 10.3.2. 数据库字符集和校对 10.3.3. 表字符集和校对 10.3.4. 列字符集和校对 10.3.5. 字符集和校对分配示例 10.3.6. 连接字符集和校对 10.3.7. 字符串文字字符集和校对 10.3.8. 在SQL语句中使用COLLATE 10.3.9. COLLATE子句优先 10.3.10. BINARY操作符 10.3.11. 校对确定较为复杂的一些特殊情况 10.3.12. 校对必须适合字符集 10.3.13. 校对效果的示例 10.4. 字符集支持影响到的操作 10.4.1. 结果字符串 10.4.2. CONVERT() 10.4.3. CAST() 10.4.4. SHOW语句 10.5. Unicode支持 10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 中欧字符集 10.10.4. 南欧与中东字符集 10.10.5. 波罗的海字符集 10.10.6. 西里尔字符集 10.10.7. 亚洲字符集 11. 列类型 11.1. 列类型概述 11.1.1. 数值类型概述 11.1.2. 日期和时间类型概述 11.1.3. 字符串类型概述 11.2. 数值类型 11.3. 日期和时间类型 11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列类型存储需求 11.6. 选择正确的列类型 11.7. 使用来自其他数据库引擎的列类型 12. 函数和操作符 12.1. 操作符 12.1.1. 操作符优先级 12.1.2. 圆括号 12.1.3. 比较函数和操作符 12.1.4. 逻辑操作符 12.2. 控制流程函数 12.3. 字符串函数 12.3.1. 字符串比较函数 12.4. 数值函数 12.4.1. 算术操作符 12.4.2. 数学函数 12.5. 日期和时间函数 12.6. MySQL使用什么日历? 12.7. 全文搜索功能 12.7.1. 布尔全文搜索 12.7.2. 全文搜索带查询扩展 12.7.3. 全文停止字 12.7.4. 全文限定条件 12.7.5. 微调MySQL全文搜索 12.8. Cast函数和操作符 12.9. 其他函数 12.9.1. 位函数 12.9.2. 加密函数 12.9.3. 信息函数 12.9.4. 其他函数 12.10. 与GROUP BY子句同时使用的函数和修改程序 12.10.1. GROUP BY(聚合)函数 12.10.2. GROUP BY修改程序 12.10.3. 具有隐含字段的GROUP BY 13. SQL语句语法 13.1. 数据定义语句 13.1.1. ALTER DATABASE语法 13.1.2. ALTER TABLE语法 13.1.3. CREATE DATABASE语法 13.1.4. CREATE INDEX语法 13.1.5. CREATE TABLE语法 13.1.6. DROP DATABASE语法 13.1.7. DROP INDEX语法 13.1.8. DROP TABLE语法 13.1.9. RENAME TABLE语法 13.2. 数据操作语句 13.2.1. DELETE语法 13.2.2. DO语法 13.2.3. HANDLER语法 13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取有关列的信息) 13.3.2. USE语法 13.4. MySQL事务处理和锁定语句 13.4.1. START TRANSACTION, COMMIT和ROLLBACK语法 13.4.2. 不能回滚的语句 13.4.3. 会造成隐式提交的语句 13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET语法 13.5.4. SHOW语法 13.5.5. 其它管理语句 13.6. 复制语句 13.6.1. 用于控制主服务器的SQL语句 13.6.2. 用于控制从服务器的SQL语句 13.7. 用于预处理语句的SQL语法 14. 插件式存储引擎体系结构 14.1. 前言 14.2. 概述 14.3. 公共MySQL数据库服务器层 14.4. 选择存储引擎 14.5. 将存储引擎指定给表 14.6. 存储引擎和事务 14.7. 插入存储引擎 14.8. 拔出存储引擎 14.9. 插件式存储器的安全含义 15. 存储引擎和表类型 15.1. MyISAM存储引擎 15.1.1. MyISAM启动选项 15.1.2. 键所需的空间 15.1.3. MyISAM表的存储格式 15.1.4. MyISAM表方面的问题 15.2. InnoDB存储引擎 15.2.1. InnoDB概述 15.2.2. InnoDB联系信息 15.2.3. InnoDB配置 15.2.4. InnoDB启动选项 15.2.5. 创建InnoDB表空间 15.2.6. 创建InnoDB表 15.2.7. 添加和删除InnoDB数据和日志文件 15.2.8. InnoDB数据库的备份和恢复 15.2.9. 将InnoDB数据库移到另一台机器上 15.2.10. InnoDB事务模型和锁定 15.2.11. InnoDB性能调节提示 15.2.12. 多版本的实施 15.2.13. 表和索引结构 15.2.14. 文件空间管理和磁盘I/O 15.2.15. InnoDB错误处理 15.2.16. 对InnoDB表的限制 15.2.17. InnoDB故障诊断与排除 15.3. MERGE存储引擎 15.3.1. MERGE表方面的问题 15.4. MEMORY (HEAP)存储引擎 15.5. BDB (BerkeleyDB)存储引擎 15.5.1. BDB支持的操作系统 15.5.2. 安装BDB 15.5.3. BDB启动选项 15.5.4. BDB表的特性 15.5.5. 修改BDB所需的事宜 15.5.6. 对BDB表的限制 15.5.7. 使用BDB表时可能出现的错误 15.6. EXAMPLE存储引擎 15.7. FEDERATED存储引擎 15.7.1. 安装FEDERATED存储引擎 15.7.2. FEDERATED存储引擎介绍 15.7.3. 如何使用FEDERATED表 15.7.4. FEDERATED存储引擎的局限性 15.8. ARCHIVE存储引擎 15.9. CSV存储引擎 15.10. BLACKHOLE存储引擎 16. 编写自定义存储引擎 16.1. 前言 16.2. 概述 16.3. 创建存储引擎源文件 16.4. 创建handlerton 16.5. 对处理程序进行实例化处理 16.6. 定义表扩展 16.7. 创建表 16.8. 打开表 16.9. 实施基本的表扫描功能 16.9.1. 实施store_lock()函数 16.9.2. 实施external_lock()函数 16.9.3. 实施rnd_init()函数 16.9.4. 实施info()函数 16.9.5. 实施extra()函数 16.9.6. 实施rnd_next()函数 16.10. 关闭表 16.11. 为存储引擎添加对INSERT的支持 16.12. 为存储引擎添加对UPDATE的支持 16.13. 为存储引擎添加对DELETE的支持 16.14. API引用 16.14.1. bas_ext 16.14.2. close 16.14.3. create 16.14.4. delete_row 16.14.5. delete_table 16.14.6. external_lock 16.14.7. extra 16.14.8. info 16.14.9. open 16.14.10. rnd_init 16.14.11. rnd_next 16.14.12. store_lock 16.14.13. update_row 16.14.14. write_row 17. MySQL簇 17.1. MySQL簇概述 17.2. MySQL簇的基本概念 17.3. 多计算机的简单基础知识 17.3.1. 硬件、软件和联网 17.3.2. 安装 17.3.3. 配置 17.3.4. 首次启动 17.3.5. 加载示例数据并执行查询 17.3.6. 安全关闭和重启 17.4. MySQL簇的配置 17.4.1. 从源码创建MySQL簇 17.4.2. 安装软件 17.4.3. MySQL簇的快速测试设置 17.4.4. 配置文件 17.5. MySQL簇中的进程管理 17.5.1. 用于MySQL簇的MySQL服务器进程使用 17.5.2. ndbd,存储引擎节点进程 17.5.3. ndb_mgmd,“管理服务器”进程 17.5.4. ndb_mgm,“管理客户端”进程 17.5.5. 用于MySQL簇进程的命令选项 17.6. MySQL簇的管理 17.6.1. MySQL簇的启动阶段 17.6.2. “管理客户端”中的命令 17.6.3. MySQL簇中生成的事件报告 17.6.4. 单用户模式 17.6.5. MySQL簇的联机备份 17.7. 使用与MySQL簇的高速互连 17.7.1. 配置MySQL簇以使用SCI套接字 17.7.2. 理解簇互连的影响 17.8. MySQL簇的已知限制 17.9. MySQL簇发展的重要历程 17.9.1. MySQL 5.0中的MySQL簇变化 17.9.2. 关于MySQL簇的MySQL 5.1发展历程 17.10. MySQL簇常见问题解答 17.11. MySQL簇术语表 18. 分区 18.1. MySQL中的分区概述 18.2. 分区类型 18.2.1. RANGE分区 18.2.2. LIST分区 18.2.3. HASH分区 18.2.4. KEY分区 18.2.5. 子分区 18.2.6. MySQL分区处理NULL值的方式 18.3. 分区管理 18.3.1. RANGE和LIST分区的管理 18.3.2. HASH和KEY分区的管理 18.3.3. 分区维护 18.3.4. 获取关于分区的信息 19. MySQL中的空间扩展 19.1. 前言 19.2. OpenGIS几何模型 19.2.1. Geometry类的层次 19.2.2. 类Geometry 19.2.3. 类Point 19.2.4. 类Curve 19.2.5. 类LineString 19.2.6. 类Surface 19.2.7. 类Polygon 19.2.8. 类GeometryCollection 19.2.9. 类MultiPoint 19.2.10. 类MultiCurve 19.2.11. 类MultiLineString 19.2.12. 类MultiSurface 19.2.13. 类MultiPolygon 19.3. 支持的空间数据格式 19.3.1. 著名的文本(WKT)格式 19.3.2. 著名的二进制(WKB)格式 19.4. 创建具备空间功能的MySQL数据库 19.4.1. MySQL空间数据类型 19.4.2. 创建空间值 19.4.3. 创建空间列 19.4.4. 填充空间列 19.4.5. 获取空间数据 19.5. 分析空间信息 19.5.1. Geometry格式转换函数 19.5.2. Geometry函数 19.5.3. 从已有Geometry创建新Geometry的函数 19.5.4. 测试几何对象间空间关系的函数 19.5.5. 关于几何最小边界矩形(MBR)的关系 19.5.6. 测试几何类之间空间关系的函数 19.6. 优化空间分析 19.6.1. 创建空间索引 19.6.2. 使用空间索引 19.7. MySQL的一致性和兼容性 19.7.1. 尚未实施的GIS特性 20. 存储程序和函数 20.1. 存储程序和授权表 20.2. 存储程序的语法 20.2.1. CREATE PROCEDURE和CREATE FUNCTION 20.2.2. ALTER PROCEDURE和ALTER FUNCTION 20.2.3. DROP PROCEDURE和DROP FUNCTION 20.2.4. SHOW CREATE PROCEDURE和SHOW CREATE FUNCTION 20.2.5. SHOW PROCEDURE STATUS和SHOW FUNCTION STATUS 20.2.6. CALL语句 20.2.7. BEGIN ... END复合语句 20.2.8. DECLARE语句 20.2.9. 存储程序中的变量 20.2.10. 条件和处理程序 20.2.11. 光标 20.2.12. 流程控制构造 20.3. 存储程序、函数、触发程序和复制:常见问题 20.4. 存储子程序和触发程序的二进制日志功能 21. 触发程序 21.1. CREATE TRIGGER语法 21.2. DROP TRIGGER语法 21.3. 使用触发程序 22. 视图 22.1. ALTER VIEW语法 22.2. CREATE VIEW语法 22.3. DROP VIEW语法 22.4. SHOW CREATE VIEW语法 23. INFORMATION_SCHEMA信息数据库 23.1. INFORMATION_SCHEMA表 23.1.1. INFORMATION_SCHEMA SCHEMATA表 23.1.2. INFORMATION_SCHEMA TABLES表 23.1.3. INFORMATION_SCHEMA COLUMNS表 23.1.4. INFORMATION_SCHEMA STATISTICS表 23.1.5. INFORMATION_SCHEMA USER_PRIVILEGES表 23.1.6. INFORMATION_SCHEMA SCHEMA_PRIVILEGES表 23.1.7. INFORMATION_SCHEMA TABLE_PRIVILEGES表 23.1.8. INFORMATION_SCHEMA COLUMN_PRIVILEGES表 23.1.9. INFORMATION_SCHEMA CHARACTER_SETS表 23.1.10. INFORMATION_SCHEMA COLLATIONS表 23.1.11. INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY表 23.1.12. INFORMATION_SCHEMA TABLE_CONSTRAINTS表 23.1.13. INFORMATION_SCHEMA KEY_COLUMN_USAGE表 23.1.14. INFORMATION_SCHEMA ROUTINES表 23.1.15. INFORMATION_SCHEMA VIEWS表 23.1.16. INFORMATION_SCHEMA TRIGGERS表 23.1.17. 其他INFORMATION_SCHEMA表 23.2. SHOW语句的扩展 24. 精度数学 24.1. 数值的类型 24.2. DECIMAL数据类型更改 24.3. 表达式处理 24.4. 四舍五入 24.5. 精度数学示例 25. API和库 25.1. libmysqld,嵌入式MySQL服务器库 25.1.1. 嵌入式MySQL服务器库概述 25.1.2. 使用libmysqld编译程序 25.1.3. 使用嵌入式MySQL服务器时的限制 25.1.4. 与嵌入式服务器一起使用的选项 25.1.5. 嵌入式服务器中尚需完成的事项(TODO) 25.1.6. 嵌入式服务器示例 25.1.7. 嵌入式服务器的许可 25.2. MySQL C API 25.2.1. C API数据类型 25.2.2. C API函数概述 25.2.3. C API函数描述 25.2.4. C API预处理语句 25.2.5. C API预处理语句的数据类型 25.2.6. C API预处理语句函数概述 25.2.7. C API预处理语句函数描述 25.2.8. C API预处理语句方面的问题 25.2.9. 多查询执行的C API处理 25.2.10. 日期和时间值的C API处理 25.2.11. C API线程函数介绍 25.2.12. C API嵌入式服务器函数介绍 25.2.13. 使用C API时的常见问题 25.2.14. 创建客户端程序 25.2.15. 如何生成线程式客户端 25.3. MySQL PHP API 25.3.1. 使用MySQL和PHP的常见问题 25.4. MySQL Perl API 25.5. MySQL C++ API 25.5.1. Borland C++ 25.6. MySQL Python API 25.7. MySQL Tcl API 25.8. MySQL Eiffel Wrapper 25.9. MySQL程序开发实用工具 25.9.1. msql2mysql:转换mSQL程序以用于MySQL 25.9.2. mysql_config:获取编译客户端的编译选项 26. 连接器 26.1. MySQL Connector/ODBC 26.1.1. MyODBC介绍 26.1.2. 关于ODBC和MyODBC的一般信息 26.1.3. 如何安装MyODBC 26.1.4. 在Windows平台上从二进制版本安装MyODBC 26.1.5. I在Unix平台上从二进制版本安装MyODBC 26.1.6. 在Windows平台上从源码版本安装MyODBC 26.1.7. 在Unix平台上从源码版本安装MyODBC 26.1.8. 从BitKeeper开发源码树安装MyODBC 26.1.9. MyODBC配置 26.1.10. 与MyODBC连接相关的事宜 26.1.11. MyODBC和Microsoft Access 26.1.12. MyODBC和Microsoft VBA及ASP 26.1.13. MyODBC和第三方ODBC工具 26.1.14. MyODBC通用功能 26.1.15. 基本的MyODBC应用步骤 26.1.16. MyODBC API引用 26.1.17. MyODBC数据类型 26.1.18. MyODBC错误代码 26.1.19. MyODBC与VB:ADO、DAO和RDO 26.1.20. MyODBC与Microsoft.NET 26.1.21. 感谢 26.2. MySQL Connector/NET 26.2.1. 前言 26.2.2. 下载并安装MySQL Connector/NET 26.2.3. Connector/NET体系结构 26.2.4. 使用MySQL Connector/NET 26.2.5. MySQL Connector/NET变更史 26.3. MySQL Connector/J 26.3.1. 基本的JDBC概念 26.3.2. 安装 Connector/J 26.3.3. JDBC引用 26.3.4. 与J2EE和其他Java框架一起使用 Connector/J 26.3.5. 诊断 Connector/J方面的问题 26.3.6. Changelog 26.4. MySQL Connector/MXJ 26.4.1. 前言 26.4.2. 支持平台: 26.4.3. Junit测试要求 26.4.4. 运行Junit测试 26.4.5. 作为JDBC驱动程序的一部分运行 26.4.6. 在Java对象中运行 26.4.7. MysqldResource API 26.4.8. 在JMX代理(custom)中运行 26.4.9. 部署在标准的JMX代理环境下 (JBoss) 26.4.10. 安装 27. 扩展MySQL 27.1. MySQL内部控件 27.1.1. MySQL线程 27.1.2. MySQL测试套件 27.2. 为MySQL添加新函数 27.2.1. 自定义函数接口的特性 27.2.2. CREATE FUNCTION/DROP FUNCTION语法 27.2.3. 添加新的自定义函数 27.2.4. 添加新的固有函数 27.3. 为MySQL添加新步骤 27.3.1. 步骤分析 27.3.2. 编写步骤 A. 问题和常见错误 A.1. 如何确定导致问题的原因 A.2. 使用MySQL程序时的常见错误 A.2.1. 拒绝访问 A.2.2. 无法连接到[local] MySQL服务器 A.2.3. 客户端不支持鉴定协议 A.2.4. 输入密码时出现密码错误 A.2.5. 主机的host_name被屏蔽 A.2.6. 连接数过多 A.2.7. 内存溢出 A.2.8. MySQL服务器不可用 A.2.9. 信息包过大 A.2.10. 通信错误和失效连接 A.2.11. 表已满 A.2.12. 无法创建文件/写入文件 A.2.13. 命令不同步 A.2.14. 忽略用户 A.2.15. 表tbl_name不存在 A.2.16. 无法初始化字符集 A.2.17. 文件未找到 A.3. 与安装有关的事宜 A.3.1. 与MySQL客户端库的链接问题 A.3.2. 如何以普通用户身份运行MySQL A.3.3. 与文件许可有关的问题 A.4. 与管理有关的事宜 A.4.1. 如何复位根用户密码 A.4.2. 如果MySQL依然崩溃,应作些什么 A.4.3. MySQL处理磁盘满的方式 A.4.4. MySQL将临时文件储存在哪里 A.4.5. 如何保护或更改MySQL套接字文件/tmp/mysql.sock A.4.6. 时区问题 A.5. 与查询有关的事宜 A.5.1. 搜索中的大小写敏感性 A.5.2. 使用DATE列方面的问题 A.5.3. 与NULL值有关的问题 A.5.4. 与列别名有关的问题 A.5.5. 非事务表回滚失败 A.5.6. 从相关表删除行 A.5.7. 解决与不匹配行有关的问题 A.5.8. 与浮点比较有关的问题 A.6. 与优化器有关的事宜 A.7. 与表定义有关的事宜 A.7.1. 与ALTER TABLE有关的问题 A.7.2. 如何更改表中的列顺序 A.7.3. TEMPORARY TABLE问题 A.8. MySQL中的已知事宜 A.8.1. MySQL中的打开事宜 B. 错误代码和消息 B.1. 服务器错误代码和消息 B.2. 客户端错误代码和消息 C. 感谢 C.1. MySQL AB处的开发人 C.2. MySQL贡献人 C.3. 资料员和译员 C.4. MySQL使用和包含的库 C.5. 支持MySQL的软件包 C.6. 用于创建MySQL的工具 C.7. MySQL支持人员 D. MySQL变更史 D.1. 5.1.x版中的变更情况(开发) D.1.1. 5.1.2版中的变更情况(尚未发布) D.1.2. 5.1.1版中的变更情况(尚未发布) D.2. MyODBC的变更情况 D.2.1. MyODBC 3.51.12的变更情况 D.2.2. MyODBC 3.51.11的变更情况 E. 移植到其他系统 E.1. 调试MySQL服务器 E.1.1. 针对调试编译MySQL E.1.2. 创建跟踪文件 E.1.3. 在gdb环境下调试mysqld E.1.4. 使用堆栈跟踪 E.1.5. 使用日志文件找出mysqld中的错误原因 E.1.6. 如果出现表崩溃,请生成测试案例 E.2. 调试MySQL客户端 E.3. DBUG软件包 E.4. 关于RTS线程的注释 E.5. 线程软件包之间的差异 F. 环境变量 G. MySQL正则表达式 H. MySQL中的限制 H.1. 联合的限制 I. 特性限制 I.1. 对存储子程序和触发程序的限制 I.2. 对服务器端光标的限制 I.3. 对子查询的限制 I.4. 对视图的限制 I.5. 对XA事务的限制 J. GNU通用公共许可 K. MySQL FLOSS许可例外 索引 图形清单 14.1. MySQL插件式存储引擎的体系结构 14.2. 存储引擎比较 16.1. MySQL体系结构 表格清单 26.1. 连接属性 26.2. 转换表 26.3. 用于ResultSet.getObject()的MySQL类型和Java类型 26.4. MySQL对Java编码名称的翻译 示例清单 26.1. 从DriverManager获得连接 26.2. 使用java.sql.Statement执行SELECT查询 26.3. 存储程序示例 26.4. 使用Connection.prepareCall() 26.5. 注册输出参数 26.6. 设置CallableStatement输入参数 26.7. 检索结果和输出参数值 26.8. 使用Statement.getGeneratedKeys()检索AUTO_INCREMENT列的值 26.9. 使用SELECT LAST_INSERT_ID()检索AUTO_INCREMENT列的值 26.10. 在可更新的ResultSets中检索AUTO_INCREMENT列的值 26.11. 设置Unix环境下的CLASSPATH 26.12. 与J2EE应用服务器一起使用连接池 26.13. 重试逻辑的事务示例

2009-03-20

CSDN 论坛 2005

上传下载 在JSP中如何使用SmartUpload下载? 怎样用程序限制用户只能用浏览器来下载东西 请教使用ENCTYPE='multipart/form-data'后取得其中文件名和路径的办法? 求救,jspsmartupload上传大文件为什么老是不行出错? 用servlet下载文件时,总是将文件直接显示到浏览器内,而不弹出对话框? 如何用jsp实现上传文件的功能?(菜鸟散300分) 一个上传的bin 困扰好久了还是没有解决!!下载头信息的设置!!!!一定加分 我现在正编写一个上传程序,当多用户(〉=2)同时上传数据(数据量较大)时就会发生.. 上传图片到数据库的问题 如何将一个文件夹里所有的内容拷贝? 软件下载问题,高手请进! 如何实现文件上载功能? 关于jsp保存文件到服务器 java,jsp,javascript中如何实现将统计表格保存成excel文件? SmartUpload程序下载及如何利用SmartUpload实现网站中文件上传.下载的功能??? 两页面传值request.getParameter()为null值 - 把ENCTYPE="multipart/form-data"去掉 用jspsmart上传图片到oracle,图片大小受限 Tomcat4(Tom) 请进:我想if ((myFile.getSubTypeMIME=="gif") 数据库操作 有关jsp远程调用sqlserver2000数据库的问题。 JBX+WEBLOGIC8.1+MSSQL整合问题 如何得到表中一列值的最后一个: jsp中如何与数据库sql server2000连接? MS SQL Server JDBC错误,error establishing socket?SQL Server的认证配置问题,请用混合认... JDK+TOMCAT+MYSQL问题--------------高分求助!进行JDBC连接 jsp中如何操作Access数据库? 如何将数据库表中每个字段的字段描述在JSP文件中显示出来?(SQL Server) 数据库备份与恢复问题?? jsp怎么通过jdbc连接db2数据库? JSP连接Oracle小程序。 jsp中如何连接sql server数据库? 定制的表单,提交后填写的内容怎样才能保存到数据库 全部的分数了!就为了问着个题目啊 关于jsp页面中检索数据库,返回查询结果的问题! insert into问题!在线等! 到指定时间,程序能自动运行 JSP写入数据库的中文乱码问题 环境: Windows 2000 Sever 中文版 sp3 JDK... 请教关于下拉列表的动态对应问题 数据库连接问题 我想把execl中的数据插入到mssql数据的某个表中,急用 55555…………我到底错在哪里???天哪!!! 求助:关于jdbc写入数据的问题 mysql 连接的问题,急~~~~~~ 请教:下载的mysql数据库驱动程序mm.mysql-2.0.4-bin.jar应该放在哪个目录下?如何定位? 请问如何不用ODBC直接连接ORACLE81? JSP网站中,如何将图像插入数据库,又如何查询图像?(求救) 请高手指点一下(在线等待) 不配置ODBC数据源,用JDBC-ODBC桥连接Access数据库 如何查询两个时间值之间的数据 tomcat 下的DataSource 问题 java.sql.SQLException: ORA-00600: 内部错误代码,参数: [ttcgcshnd-1], 如何连接SQL server2000? 在jsp中,DataSet在哪个包和类中? jsp+javabean关于多条SQL语句合并的问题 牛人们:从连接池中得到的数据库对象,可以复用么? mysql中的日期转换问题,请帮忙(在线) Apache和tomcat整合问题:LoadModule takes two arguments, a module name and the name of... MySQL中的DateTime型字段,怎么取出,取出后一般怎样转换成java的日期对象? JSP通过Bean访问Access的.mdb文件失败,不知何故。 连接池的使用问题!!紧急! 能不能教我怎么用JSP连接MySQL? 新手,请教一个java在数据库中编程的问题 怎样实现对weblogic7.0提供的connection pool的调用?哪位大大进来指点一二?有实例最好! 100分求,如何在网页里显示大对象数据 select max(ID)的一个奇怪问题 关于用jdbc-odbc操纵access2000数据库,String sql="create table btm(xwbt char(50),xwcn ... 很菜的问题,恳求帮助! 大家帮我找错啊(关于:No ResultSet was produced错误)(附源码) javaBeanz中与数据库建立连接报这个错误。什么原因呢?在线等待! Jsp文件中引入*.java文件时的问题,请帮忙,急! 在jsp环境下,如何将一个word文档从客户端存入SQLSERVER数据库的一个字段中! 用JDBC连接Sql Server失败,请帮我解决,急! [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'lucker' 无效 刚接触JSP,求一段代码,请帮我解难,谢谢! 报错:sqlserver 2000,无效的游标状态 请教jsp、sqlserver200的问题,急! JSP连ACCESS用不用当什么驱动? 数据查询显示的问题。 请问这是什么错误??? 请问能不能使用jsp在mysql数据库中创建一个新的数据库? 请教如何设置各种身份的人的不同权限 急,JSP和MySQL连接问题,分可以多给!!!!! 如何写javabean程序连接oracle sql语句的写法 又是一个有关数据库的问题,请大家帮忙:) 我对数据库的更改怎么没反映呀?大家帮我看看~ tomcat+sql问题--从页面提交两个值插入数据库出错。刚学别笑。 jsp中如何写事务??谢谢 再次请教JDBC的有关问题??????紧急!!!!!!!!!!!!11 请教各位高手,数据库连接到底能有多大的资源消耗? 1.如果我每次使用数据库都重新连接一次... 有关Oracle数据库的JDBC测试程序 什么情况下需要用连接池?那位大虾给将一下??最好举个例子!! 请问现在用的最多的JDBC驱动程序是什么啊(支持ORACLE数据库,WINDOWS,LINUX平台) 导表程序(100分) 关于在javabean中执行sqlserver创建临时表的存储过程的问题?没有人遇到过吗? 这个问题,困扰我很长时间了 用户登录程序中编译错误!在线等待!!! 执行ResultSet的 executeQuery 方法时出的错! 我的session check好像有问题。可以直接进入main.htm。--在线等 我使用直接update修改的话,还是会报错(急死我了) 急急急-关于数据库纪录的修改 在线等待:tomcat4。1+db2配置 如何向oracle库中字段类型是date的添加数据 结果集嵌套问题? 从mysql数据库中取得的数据排序问题~ 关于jsp和数据库sql的连接? 再讨论:连接池的问题 Microsoft JDBC连接问题 jdbc的问题: 怎样把jpg或者gif格式的图片保存到sql server 2000中啊? 数据库中字段id递增问题?---在线等待 循环显示的记录在不同的行显示出来,怎么实现??请帮我看看!!!!在线等待!! if(!rs.next())表示数据库中无此纪录,还是没有下一条纪录 门外汉!怎样取数据集中的第n条纪录?有没有相应的函数?谢谢! 高手教我-关于数据库数据的删除(在线等待) 向数据库写blob类型的数据,出现找不到文件的错误 怎么用jsp向oracle8提交长字符(15000字左右)? JSP插入access问题--这是为什么? 关于 时间处理问题,在线等待。 如何返回查询结果ResultSet中int类型的数据 请问如何在Java中执行SQL的块语句? 如何用weblogic自带的jdbc驱动(不通过jdbc-odbc桥)连接sql7.0 讨论如何高效实现分页。 请问:jdbc与mysql如何连接? 连接池出错:Can not read the properties file; Make sure db.properties is in the Class... (高分)求解关于getString() insert into 求解! 请给小妹妹一段完整的连接access数据库jsp代码(准确无误的),谢谢! JSP如何写和读大字段 如何判断一条sql(update,delete)语句是否执行成功 如何用jsp读取数据库中的二进制图象 tomcat4.1下用jndi连接sql server2000出现问题!!!在线等待 应用服务器使用 现在在公司遇到一个解决不了的页面缓存问题,在线等到下班,谁解决谁100分 localhost无法识别 关于weblogic中servelet的问题(大虾帮忙!) 请问如何使用weblogic中的连接池? 让resin不列目录 TOMCAT4.X配置说明 jsp后缀名大小写问题(急,在线等!) 请问:如何让tomcat在win2000启动的时候自动启动 关于tomcat配置文件 tomcat 3.3 + iis 下如何配置虚拟主机(host) 关于TOMCAT配置问题,哪位能指点一下!! 菜鸟问题,见笑了! jakarta-tomcat.zip 与 JDK1.3.1.exe解压后需要安装吗? 急!!tomcat启动时错误:java.net.BindException: Address in use: JVM_Bind? jsp环境配置 tomcat 根目录泻露如何防止? 一个jsp很奇怪的问题 怎么提高主页显示的速度 apache1.3无法连接mysql,在线等待! 请教各位:只安装TOMCAT而不搭配apache一起使用,在性能上有什么差别 jdk1.3+tomcat4.0.3+win2000 server family下的问题?100分快来拿 导入bean出问题 2000下安装resin。在线等侯!! IIS5.1和TomCat4.1.12完美结合(英文文章) Tomcat和iis配合使用动态联结文件 关于javaBean的问题,高分请教~~ 请问在tomcat4.12下如何设置虚拟目录! 如何将resin从win2000的服务中删除 在Apache+Tomcat+jdk中找不到类,如何添加JAR文件? 请教,怎样实现IIS和resin 整合? tomcat4中怎么样将一个war发布到"/"下面 怎样在tomcat里建虚拟主机,高分相送 欢迎讨论:JSP+SQL Server+Apache建立一个Web服务器有什么值得注意的问题?(之二) 如何发布基于tomcat4的加密ssl协议http://的网站 页面长时间等待的结果及问题 我刚学java,对包和类路径搞不清楚,请各位高手帮忙解答小弟的一些问题,多谢了 类似邮箱中,一次删除多个选中邮件的jsp代码该如何写,指点一下,谢谢 如何知道Java调用的文件的相对路径是什么? 关于搭建jsp服务器的问题 我的Servlet运行了两次吗? 超级菜鸟问题,不要打我!一定要打的话,不要打脸!谢谢!-->如何在Tomcat中设置虚拟目录... Tomcat3(or4)的一个安全问题 server.xml和web.xml的配置问题 Tomcat4.18站点配置问题种种 为什么我的SERVLET在FORM中提交可以找到,而在URL中找不到? 散分求解tomcat首页问题 怎样让Servlet或JSP在服务器启动时、指定时间、启动后一直运行!隔一段时间自动运行!!!!... 将resin作为win2000的一个服务 哪儿可以下载resin 如何在Win2K中配置IIS+Resin? resin如何禁止目录访问啊 配置Tomcat虚拟路径中拒绝目录列表的问题? 如何去掉tomcat服务器运行时的IE地址里面的:8080?直接输入IP地址即可以访问? 那个兄弟知道在哪能WEBSPHERE APPLICATION SERVER 4。0(WIN) 哪里有Weblogic中文帮助文件?? JBuilder5 + Weblogic 6.0 安装配置全攻略 tomcat+apache怎样配合? tomcat5中如何把根目录配置到别的路径?帮定有分~ 调试servlet时,每次做改动都要编译后重启jboss,有什么方法可以不用重启jboss?-把你的web.... tomcat中关于更新类后重启服务的问题? [apache+resin] http:\\localhost\test.jsp 不能运行 ---肯定送分 网上发布的许多配置都... 如何读取cgi变量 讨论:调试jsp程序的经验! Tomcat显示路径下全部文件的问题 tomcat3.22下,我在一个JSP页面中include了一个文件,为什么include文件的汉字都成了乱码?... 怎样让IIS支持JSP技术? 请问apache如何设虚拟目录,象tomcat的Context? jdk1.3+tomcat3.2+IIS5.0如何配置在IIS中运行jsp 请教能能用一个tomcat起两个服务, 请问如何让jbuilder与weblogic联合编程? resin+iis整合后bean应该放在哪里? 乱码问题 为什么我插到表中的中文显示出来是乱码? 为什么不正确显示汉字? 中文显示不出来 jsp中向英文版的sql中写中文数据,出来是乱码,有解决方法吗? 为什么在weblogic5.0上jsp程序中写中文运行后出现乱码? 为什么中文汉字有乱码的现象(Jrun) 该死的中文显示问题,帮帮忙,数据库内容显示乱码 N怪的问题:在Struts中,通过*.properties文件取得的中文内容是乱码?-native2ascii name.p... stmt.executeUpdate(s);插入的是乱码 linux下 tomcat 乱码问题(急,在线等待) eclipse不显示中文????? 如何判断字符串中有中文! tomcat4.X 中的html显示为乱码!为什么? JBuilder编辑JSP问题 有关SQLServer2000的乱码问题,再次请教各位?? jsp中文乱码问题。 乱码!!!!tomcat4.1下的乱乱乱乱乱乱乱乱乱吗!!!! 乱码问题(在线等) 变量传递与获得 如何在JSP页面中的Java代码和JavaScript代码中通信? 有关http文件头,立即结帐,谢谢! jsp中怎样实现两个页面间的数据传递??? jsp提交参数的时候,如果参数值里面有?和=怎么办 请教高手:Jsp在页面间如何传递“数组”? 怎样不允许两人用同一用户同时登陆?? 一个连接的问题 不能显示中文文件夹的文件,请大侠指教!!!!!!! 请教jsp中传输中文参数问题 ----------------------------------------------------------... 请求急救:我的jsp程序用户登录不安全。 response.setHeader()方法设置http文件头的值,请问http文件头有些什么值? 问在JSP中截取字符串的方法? 很急的问题.如有简单的方法,立即送分.up有分~~快来看看 怎样实现下面的效果:在页面a中点击一个钮后弹出另外一个页面b,在b上也有一个按钮,点击那... session.getAttribute取道得值对于不同的浏览器(连接)是一样的吗? 请问,最近看到有些站点是这样传递参数的article.html?id=116 ,这是怎么实现的啊? session.getAttribute("id")对象怎么变成String类型? 数组的传递问题 JSP如何返回上页URL session中可以保存何种对象?-任何对象,不能把bean放在jsp的包下面,编译通过了也找不到包... UTF8编码的网页,里面的<a href="edit?sn=11&name=sss /> &号被认为是两个位,不能分解... 如何在jsp页面中传递数组 向数据库中插入一个时间记录,要求从年精确到秒,什么格式? 参数带加号! 在Java中如何得到本地IP和服务器的机器名??? 如何在form中添加隐藏变量? 语法与技巧 怎样得到给定任意一周是从哪天开始,哪天结束的? 新手请大家帮忙100分!!!!急急!!! 100分紧急求救!在线等待一个小时!!如何在页面隐藏菜单工具条。。。 为什么我的bean找不到?(都有分) jsp中如何调用应用程序?(*.exe) 怎样才能让文字数量大于一定数的时候显示……(省略号)? jsp刷新的问题,急救!! 请问高手,怎样可以获得图片的长和宽? 挑战高手!!!!答题者均有分 如何做到不刷新整个页面更新表格 如何判断剪贴板是否为空,从而来决定paste菜单是否能用? jsp页面上有对一个表的几个字段进行维护的功能,具体有,新增,修改,删除,这几个功能都是... 如何在jsp中动态包含一个jsp文件? 请教关于javabean中package的几个不明之处? 关于关闭窗口的问题。 在线给分:在jsp页面内部能不能定义字函数或者类来调用 请大家看一看呀~~我这是哪里错了呢??---必须要手动刷新jsp才看见作了删除? jsp的文本文件的虚拟路径,加分... JSP最新难题?? ○●关于textarea中换行的问题。●○ 如何保护你jsp代码? 选时间的控件 java文件复制 如何在页面中的文本筐中检查键盘事件? 一个小问题?请教 使用POI读取excel的问题 刚学JAVA,需要帮助!!!!!!!! 怎样才能取得服务器端的环境变量信息! 执行存储过程是这样的吗?conn.prepareCall("{call procedure_name(?,?)}"); 请教:怎样获取文件的修改时间? 关于replaceAll()的使用? JSP页面中如何显示javascript中的变量? 请教一个JSP中关于跳转页面的问题 字符串截取问题 (初学)表单参数传递给servlet,及表单的ACTION=""参数问题及web.xml里面的<servlet>与... 在jsp中如何将字符型转换成整型? JSP中request.getParameter()和session.getAttribute()有何区别 关于异常在Web工程里面怎么设计的问题。 非常简单的数据类型转化问题??在线等待!!! 一个关于Cookie的问题,请大家帮忙 怎样替换回车符为<br> 有个小问题。关于参数的 jsp里的两个下拉框联动的问题!(100分在线等待) jsp 格式化数字 compareToIgnoreCase的返回值的问题 问一个截取字符串的问题 ?100分求jsp树原代码 最好是从数据库中动态生成的。急 有关利用param指令传值的讨论 如何在JSP页面上执行一个EXE文件 如何结束jsp页面的输出。 怎样在超连接(或图片)上实现FORM的功能? jsp与tomcat合作 请教,下拉列表框的问题 如何防止一个ID在不同的机器上同进登录? 如何将word调到页面上,tomcat里如何配置,急!!!!!! 关于JSP转向的问题? 一个连接SQLServer数据库的问题!急!!!! 如果限制float小数点后面的位数? 怎样只去掉一段字符串末尾的空格? 如何利用一个1-12之间的数字来得到该月份的天数?立等!多谢! 关于在jsp中用javascript!help!! string相等的问题 明天就要交活了,还差一个功能没有实现,高手们帮忙呀!!!!!!! 高分请教两个问题 如何得到一个字符的ASCII码值?在线等侯!!! 关于out.flush();的问题 请问高手:web中如何把多选的select表单中的数据提交到servlet中?(在线等) 如何获得提交页面的url? JSP中怎样实现ASCII的操作 计数器的问题! 一个简单的问题!答对者马上给分 关于java.util.Date()的输出 写的一个类,在JSP中引入时总是说找不到,什么原因? jsp页面中重复点击的问题 怎样动态配置网站的用户界面 根据application能取servlet中的所有session吗? 请教:在Jsp怎样获得当前日期的:Year ,Month ,Day 论坛设计中,关于防止用户发含有HTML贴子破坏论坛结构的方法的讨论!!! 有没有让页面失效的方法 500分!!请教jsp页面打印的问题! 鼠标经过表格时,表格的记录颜色变化,如何每条记录定义onclick事件? 关于登陆密码--高首赐教 在线等待 在if中使用mystr==""(一个整形变量如果是空的话),应如何表达-- jspinit到底是什么用的 include 的问题 有人知道该怎样解决吗??(在线) 如何让数字每隔3位显是一个逗号? 江湖救急:在jsp下怎么实现把查询出来的数据导入Excel表格中?解决了送100分,谢谢 WEB页面的数据校验问题,如何控制输入特定字符,如整数~~~急 对用户点击某个链接进行计数,如何实现? 两应用服务器的数据传递 jsp中一些特殊字符怎么处理?比如说单引号和换行符等等。 关于radio、复选框与数据库的问题,急急急!!!!!!!!!!!!!!! 急,在线等,立即结分 request.getRemoteAddr()和request.getRemoteHost()的区别是什么? 有谁知道csdn上的短消息是怎么做的!急!!!小女子在此先谢了 刷新机制求助,jsp怎样刷新? JSP 中有没有等同于 ASP 里面的 response.end 的命令 树型论坛的数据库设计和快速算法(对左轻侯的快速算法的一点小改进)(前20名回复给分) 取表单名的问题(在线等)<代码如下(jsp程序) 如何能够只打印页面上的表格,页面上的上一页,下一页(是链接)和按钮不打印 多行 文本框 怎样产生 换行 (在线 等待) 这条sql语句怎么写 在线人数统计怎么做? 请问如何保存住下拉框的选项的结果值,比如时间的选择或者任意选项的选择 请教高手:在java中如何禁止屏幕考屏及在jsp中禁止copy操作? 哪位朋友可以讲解一下getParameterNames()怎么使用阿?为什么我就是使用不了呢? 求救!关于forward,小弟实在无法找出原因。一定给分 要用bean吗?请教高手! 再问:在一个excel里面,怎么取得行列消息呢?(跟者给分) 关于在一个FORM中如何实现多个ACTION动作????????? 问一下,用ASP做的聊天室是怎样知道聊天室的某一个用户离开或者关闭窗口,即怎样检测已进入... 请教二次登陆的问题 字符串的比较 怎样将库中取出的记录分页显示。可用上一页,下一页翻页显示 关于form中的回车键。 浏览器中如何让后退按钮失效 如何计算点击一个页面数值加一! 请高手帮忙解决---页面记录连续插入的问题 请教如何通过sessionId得到session对象,并使之失效。 请问如何通过Session对象判断这个session是否已经不合法? 调试jsp的时如何实现像asp中的response.end的效果 关于cookie和调用同一页面得问题! 其他 请问在一个servlet里取得一个用singleton模式实现的类实例,那么这个类实例的生命周期是怎样... 500相送,求解客户端下载的邮件的存储功能设计??? 急,怎么找回删除了的文件?在线等 高手请进!讨论一个问题。 为什么 out.println()不会换行?谢谢 linux下如何设置jre环境 在IE中如何让用户按“后退”键后“向前”键失效????? 赠送100分!!!!!!!!!!!! jsp访问新闻组 请问开通一个网站需要什么手续?在线等待 一个jsp的高手要达到什么程序,然后进军J2EE? 复选框的问题 Jbulider 8 的致命问题!怎末解决? 高分求LDAP例子,要求能够完成读写功能 关于apache和tomcat在linux下的整合 怎样将一个字符串变成一个数字啊? 关于流量统计代码,请找错误,百思不得其解 ★★★★求一实现split的方法,急★★★★ 我想用一个文本文件mycount.txt做一个计数器,请给源码! 关于多进程的问题??救急 jsp页面下 不能正确显示?????? <bean:write……输出html问题 昨晚还能访问,今天为啥就不行了?狂躁啊!!java.lang.StackOverflowError的问题??!! eclipse3.0中加入lomboz插件时报错,我用的时lomboz.3,因该不是版本问题吧 Socket连接服务器问题? - URLConnection、Socket、ServerSocket的程序范例解析 Java操作Excel,处理"合并单元格","画线(粗细线,虚线)",还有指定单元格输出 怎样将int 99999转为byte[]? jsp里面使用xml的技术(讨论) 如何理解ResourceBundle和Locale?和应用的场合?谢谢 比较好的JSP论坛有哪些?请推荐! 在win2000下安装iis和resin后,在虚拟目录interflow中放置index.jsp.用http://127.0.0.1/int... 有关JSP页面刷新问题 ★★★急问怎么才能知道一个webpage发送的request到底是POST型的还是GET型的?★★★ Servlet 求助:linux下,通过servlet画图,非得在xwindow下打开tomcat吗?内容:请教各位是怎么做的... Java里有没有类似Asp里HtmlEncoding这样的函数呀? 江湖救急!高分相送! write和print方法有什么不同 关于servlet在Jsp中的使用问题 谁能给解释一下session的问题?它的值是放在客户端?还是服务器端?请看我的情况... 如何在servlet里面使用response对象? 调用servlet(servlet的映射) 一个简单session问题,回答有帮助的送分!! 如何访问WEB-INF下的jsp文件? 无法在Servlet中import 自定义的类,急! 为什么点击刷新按钮总是重复执行插入数据库的操作呢! 请教高手,PrintWriter和ServletOutputStream的区别,及<%=name%>和"+name+" 奇怪的问题,servlet无法调用同一个包下的类 servlet不存在?!怎么回事?! WEB页面上的内容转到Excel档中 自定义标签Tomcat和J2ee正常,在WebLogic中却报错!cannot resolve symbol:variable EVAL_BOD... 刚装了 Tomcat 4.1.18,原先4.0.4能运行的Servlet现在不能运行了,何故? 整合APACHE和TOMCAT后居然不能执行SERVLET! tomcat下的servlet怎么运行? 救命!!!各位老大,servlet中把查出来的数据(报表)用excel显示,点击一个button(html),... 请教一下关于SESSION的问题!! session可以保存一些数据.定义static的变量也可以,有什么不同? Servlet如何返回一个对象给JSP(No Session)? 各位大侠,Category是干什么的?他的debug()方法能干什么呀? servlet类的放置路径问题 Servlet的deploy问题,请高手指点 applet如何用socket和servlet进行通讯?(最好有项细代码) Servlet程序应该放在TOMCAT的哪个目录下? 关于servlet异常处理 急问!!:如何用一个servlet接受请求后,改变请求的参数值后调用另一个servlet Tomcat如何运行servlet啊?帮帮小妹... Random 谁会呀 Applet/Applet与Servlet通信 请问PageContext和ServletContext有什么区别? java程序运行怎么那么难啊? 有jsp~javabean的关于如何接收email的代码吗?利用他人的邮件服务器(smtp:163.com)收发邮件 用JSP操作Cookie 有什么书介绍applet与servlet通信比较详细的? Servlet入门者的问题,来者有分? 新手求助:如何在applet内部实现刷新? 关于Servlet的并发问题。 在IE中运行applet时出现无法载入class的问题,请问如何设置codebase SERVLET中的doGet与doPost两个方法之间的区别 Applet的调试信息如何输出? 如果让HTML显示在Applet里并打印出来? 当多个请求同一个servlet时,servlet的生命周期是怎样的? 如何在weblogic中配置类路径,我要连接sql server2000数据库。 JSP里有谁用过Apache FOP 来生成PDF文件. javabean打包等问题? 怎样才能使applet访问 本地的动态库呢? 有关JSplitPane的用法,有点想不通,怎么回事? 请给小弟一个applet连接数据库的例子,谢谢 [100分,两日内结]怎样在jsp中得到我的数据 Applet连数据库 在线高分求助: JAVA Applet 如何实现"保存文件对话框"??? !!Servlet里如何提交表单? 高难问题:关于客户端的实现?(在线等候,10000分) 讨论JSP和Servlet的关系问题: 在线等:如何在applet 中得到自己所在的URL 高分求救:请问能不能实现servlet同另外一个服务器程序的通信,在局域网内 奇怪的.java.policy.請幫忙看看 为什么我的applet在IE中可以看到,但在netscape中就成白板了呢?? 请问:怎样实现一个能实时响应请求的Servlet? 高分求助..如何使JSP和Servlet在我的机器上运行起来? JavaBean 求助 javabean的最简单调用,分现解!!!在线等 我的JavaBean为何无法运行? 服务器用的IAS,从cmd下执行class文件出现Exception in thread "main" java.lang.NoClassDe... 急:javabean调用的问题,中高手救救俺! 请问一个初级问题 急需jsp分页,拜拜托了,大呼救命呀 高分求如何写一个BEAN 初级问题,请问jakarta-taglibs中中文怎么解决? 菜鸟,在线等待,谢谢! 我在一个bean里写了一个字符串转码的方法,可是出错了,不知道为什么? 500分求解,一个bean调动另一个bean! 一个关于 javax.servlet.http.* 的简单问题 超级困惑,关于javabean和applet的问题!!(高分!!不设上限!!!急!!!!) javabean如何从数据库获得五个不同的数值,并依次return给jsp页面?有代码如下!!请大虾指... 最简单javabean运行出错!是何原因? 为什么我从javabean中取得的数组返回值为null呢??急切盼望大虾指教!!! bean的scope的应用问题! 我也奇怪!!我奇怪的javabean~~!!进来看一下!! 关于JAVA Bean 关于javaBean原理性的两个问题 请教:日期运算 请教大家两个数据库编程问题: javabean开发oracle,如何将分页显示的内容传出来好? 请教各位高手,有关JSP和EJB的问题 怎样编写打开任何类型的文件,然后将该文件读取写到新建的文件里的Java类? 我今天终于迈出了模式转变的第一步!!! 请教:java bean在实例在各个页面共享??? 一个关于jsp中调用javabean的问题。 请问如何把application对象传到javabean中? 中文编码 JSP中的繁体中文显示方法,紧急求助! SEVLET中文问题,望大家多多帮忙,紧急!!,解决了多多加分!!!!!!!! 数据库和app之间的编码方式 急死了,又是中文问题,java,jsp 高手请进,高分送!!!!!!!!!!!能指个方向的也给分! 关于数据显示 中文 乱码的害我许久的疑难杂症,各位JAVA高手近来看看!! 如何解决超链中不能传递中文参数的问题 我在做一个论坛,怎样解决在发表文章框内写入HTML语句的问题。很详细,在线等。谢了。 非高手出马:数据与中文转换的问题! 中文问题 痛苦啊,按照书上的方法,在将数据存入数据库前,将数据转为“iso-8859-1”字符集的字符,为... response.sendRedirct() 的中文参数传递问题 jsp下载文件时文件名到客户端时乱码?就是保存的时候,望高手指点! xiaofenguser(风雨) 乱码???????问题请进啊!! iText的中文问题,FAQ上的帖子没有了,麻烦…… 如何用file.rename()方法变更中文名 一个奇怪的字“堃”,不能正确显示!!! 在jsp中如何判断传来的字符串是8859-1编码还是gb2312编码方式 jsp向sqlserver 提交汉字信息时乱码问题 有没有什么类或者什么方法将中文转换成UNICODE码 例如"我们",UNICODE码是"\u6211\u4EEC" 字符串变量的显示问题 在Cookie中存取中文的问题: 如何同时显示繁体和简体中文 请教添加一table后的中文乱码的问题(在线等待) 还是乱码的问题 中文问题response.sendRedirect("err.jsp?msg=乱码")?? jsp中文老问题,回答详细者给高分!! sevelet往jsp传参数的时候,怎么中文我总是得不到啊?一直关注 一个奇怪的中文乱码问题(使用smartupload时单数个中文字最后一个中文字乱码) 这不是一个简单的中文问题 JSP插入MySQL数据库的中文稿问题 简单的登陆问题用JavaBean 请问如何设置Cookie中的value是中文字符 经典算法 如何得到一个字符串中某个特定的字符出现了多少次?? 【注意】得分的机会来了!如何将一维数组转为字符串! 数据库异常!!!我用加密算法之后出现的错误!!! 急!JSP高手请进!!! 如何对用户名和密码加密??用post传递数值。 请高手讨论:关于数据库ResultSet 与 二维数组,进来有分 如何将各种时间统一格式化为“YYYY-MM-DD hh:mm:ss”? 如何控制float的格式? [求助]循环与表单---问题阐明得很清楚,请帮助! 关于回调页面得问题 如何将一个时间字符出,格式化为Date型? 如何在java里得到from里的键盘动作? 标签库的问题 图形处理 [100分求救]在Canvas或Applet上画的图应该怎样输出为jpg图象呢? 谁能告诉我怎么将数据库中的图片(blob数据类型),在jsp页面显示出来?? 100相赠!!! 在java的Applet中的关于图象在界面中任意拖拉、图象之间的走向的连线的程序(高分、在线等待... 如何根据读取的数据画直线?(数据指直线的高度。) JSP小秘籍 在jsp中如何<font size="20">ddd</font>屏蔽掉 out对象的问题 关于显示jsp代码的问题? 如何实现页面的自动刷新? 请教!本人欲在一JSP页面中实现对声音文件的试听功能,不知如何来做?请各位大哥不吝赐教…... 点击一个链接,触发判断事件,'是'则跳转,反之不跳转? 换行的问题,大家帮忙啊! 关于Cookie 请问jsp与sql server 2000的连接语句是怎么写的? if request.getAttribute("gn")==“所有功能” select 语句在jsp中怎么写? 修改的时候如何去掉下文中的<br>,并保持原页面显示格式不变?急! 求教,在JSP里能调用其它的应用程序吗,比如说C写的程序,如果能,被调用的程序怎么返回结果... 请教字符串比较问题? 访问存储过程与直接访问表有什么区别! 怎样知道某年某月的1号是星期几? 如何在JSP中直接显示excel表格,而不是提出字段? 请问怎样来做web权限设计比较好? 我在输入框中按回车键,为什么我的表单提交有错误,怪问题,高手请进!!! 回复有分!!!请问在jsp中如何获得mac地址?? 问:我配好了Tomcat就行了,apache不配也行,apache是干什么用的? 可以直接在Bean里向页面上进行输出吗?可以的话如何做? 求助!有没有快速的方法对日期进行正确的计算? 急!!!! 谁有JSP字符串处理的函数???谢谢!!! 请问如何手工用 jspc 编译 jsp 文件? 请教<jsp:include 问题 问题多多,有jsp经验的请进来。 这段jsp代码有误么?帮忙看一下!这么传参数可以否? jsp调用bean时,bean中怎么获得当前bean所在的硬盘物理路径? jsp中,怎么获得当前jsp程序的webApp物理路径? 弹出一个模式窗口,用onclick="window.close()"怎么不能关闭呢? 关于模式窗口点击提交按钮,为何不能在当前窗口完成,而是显示另外一窗口完成,该如何解决? JSP如何得到服务器端的系统时间!!谢谢 如何限制上传空间的大小? 我是用SmartUpload上传文件的,如何实现限制上传空间的大小?... 如何配置tomcat才能使用SSL认证?谢谢 求助!哪位高手知道如何判断某文件夹中是否有指定文件的代码? 请教使用JAVA生成一个随机字符串的方法 请教各位大侠,怎样在用java语言判断在磁盘中的一个目录下是否有文件,并且把所有的文件名都... 存储过程中,得不到返回值提示The requested data is not available.代码见内 JSP页面中如何用程序得到当前使用者的IP/机器名? 为什么我在Jbuilder7下JSP不能加载applet? 关于jspsmart的文件上传中的中文问题. 请问:关于deeptree的问题? jar||zip ??? 用jspsmartupload上传文件,在表单中还有其他几个文本框,用一Servlet处理,上传文件正常,但其... 我在服务器上放了.rm文件怎么在客户端播放? 在线高分求助:jsp中如何隐藏下拉列表??? 我用JSP做了个聊天室, 怎么屏蔽掉IE上的工具栏? 请教:我要传的URL参数中有“+”号,结果接收后成了空格,如何处理? 高分在线求助:如何将以下网页上的内容(Shipper = DAIMLERCHRYSLER CORP)通过点击"SAVE"按钮... 有关单独用TOMCAT做服务器的问题 一个简单的计数器 高分在线求助!!!如何将网页上的内容通过点击网页上的"SAVE"按钮打开保存对话框并存为Excel文... 高分在线求助!!!:如何将网页上的部分内容通过点击网页上的"SAVE"按钮打开保存对话框并存为E... single_line类型的text field,如何能在输入时不显示历史值 关于获得html地表单数据问题 如何在“errorPage”页面中处理错误 请问各位大虾!!!通常所说的破解未加密的用户名与密码是怎么回事??请指教!!! 请教大家,请大家帮忙,很想知道(在线,立刻给分)。 在页面上显示rtf文档 怎么去做这样的搜索 关于JSP的几个简单的问题: 各位大虾来拣分,简单问题,在线等待 一个控扰我很长时间的字符串截取问题 再次讨论在JSP中有关参数传递的问题 我的表格中的字是动态的,当字很多时,表格就会被撑得好长!!如何控制表格,是表格里面的字... jsp页面从bean获得一个返回值为Hashtable,怎么把hashtable的值取出? 关于判断时段? 服务端如何读取客户端的文件? jsp中如何调用可执行程序 我已经用vb的打包工具把activex打成*.cab文件了,为什么在其它机器不会下载? 面试jsp问题全接触 从数据库中怎样保存形成一个自由删除、添加的树状的数据结构最后在网页上动态显示出其树状结... getContextPath()只能用在tomcat么? 如何使用JSP读取SQLServer中的ntext字段?当数据库的字段的数据显示为<Long Text>时,就... 如何做在线用户名单? 下载的问题,如何让浏览器不能识别我要下载的文件名后缀? jsp在线人数统计?? 如何在jsp调用windows下的程序执行.就是IE当shell.(有点像黑客:) 不是用来干坏事 怎么实现jsp中的页面跳转 如何使用jar命令将一个目录打包为同名jar文件? 请教高手:在java中如何禁止屏幕考屏及在jsp中禁止copy操作? 各位,如何在jsp+servlet中使用https 初学者的几个最简单的问题~? 请大家一定帮忙~! 一定给分! 为什么当我在一个 Pop-up的窗口里面 取SESSION值得到的却是 为空,帮忙解答一下!! 请求用递归创建菜单树(急用) 用porte编写基于struts架构的jsp时遇到一个问题 关于同一日期格式问题 在jsp页里怎么实现选下拉菜单后会连接过去。 在servlet中如何实现多线程或同步的问题!!!(java高手请进) 我是菜鸟,我请教!(100分赠送!!) 聊天室中先登陆的人如何得到别人的登陆消息? 大虾救命!!! 在JSP 中如何取得Client端的(已知路径)下的某文件的创建时间及其他相关文件属... disk(谁说东北人都是活雷锋?瞎掰!) ,所有有做打印经验的高手请进来. 如何让提交按钮提交出的网页全屏 怎样才能让applet访问本地文件呢? 关于创建字体的问题 如何在Jsp页面中打印输出一颗树 JSP中怎么读取环境变量? 请问一个关于撤消和恢复撤消的问题:在线等待 关于网页代码包含的简单问题!!请大虾看一下!! 关于request 怎么样判断所输入的日期值 用sevrlet打开一个PDF文件时出现的问题? 为什么???JAVASCRIPT!!紧急!!!!!!谢谢各位!!!!!!!!!!!!!!!! 各位大虾,兄弟有个问题,请大家不吝赐教。我在做JSP ,Servlet程序时,我想在关闭窗口... jsp中如何获取自身网页的名称? 用HttpSessionListener如何显示在线用户列表 一个文件的操作问题?急!! 我如何删除带有文件的文件夹? jsp存储过程的问题 如何把JavaScript的文件插入到*.htm文件中? 一个关于字符串在页面上显示约束的问题,急等~!!! 初学jsp,关于new操作符的简单问题!!! 请这里的高手过来,急!!!!!!!!!!!!!!!!! 在页面中,怎样得到页面中其他字段的当前值? 数据分行显示问题 在jsp中如何获得提交请求页面的URL! jsp新手问题 怎样:点击jsp中的链接为下载,而不是打开这个链接 关于JSP中的内置session对象中属性的疑惑??? 有没有简单的获取当前服务器地址的方法啊? 在那里查看关于jsp数据库中ResultSet等接口的各种方法的应用 jsp -> taglib -> SKIP_BODY等 中几个静态值的具体意义 JSP中怎么解决链接中的特殊字符传输问题 getstring是不是会自动取掉空格和回车啊? 如何在servlet里得到jsp页面里设置的session值? csdn的jsp高手过来看看!!!!!!!!!!!!!!!!!!!!! response.sendRedirect的问题! 比较的问题? JSP里直接调用WEBLOGIC里配置的连接池代码示例 怎么判断时间格式 JSP和SQL Server中文的问题? 如何删除已安装的tomact jsp向oracle中追加中文为什么是乱码? 求教:web.xml配置(tomcat+eclipse+插件)resourse not available。急!! 怎样取得提交的form表单中的复选框数据——在线等待 请问如何把从Servlet中取得的数据显示在jsp面 字符串的处理,在线等 有下面的链接 <a href = "action?para=123#456"> 提交之后在得参数的时候只能得到1... 请问如何写入DOS命令?[在线等!] jspSmartUpload 上传图片的一个问题! 乱码问题,在线等待。。送分100 我是一个新手,页面不知为什么出错,请大家指点。 请教:IIS支不支持weblogic,如果支持,安装安weblogic后我应该怎么做? 多了一个“'”怎么办? 我的jbulider80为什么保存不了jsp文件? 为什么ResultSet会出错? Tomcat4.0.4中如何建立虚拟目录 SERLVET或JSP中如何防止客户重复点击 JavaBeans的程序怎样编译和运行 一个简单问题,可是我不知道! 痛苦啊! 使用jspSmartUpload组件上传文件是不是有大小限制? 怎么定义一个vector或arraylist? 散分问题-随机数的生成-在线等 关于JSP的输入输出流的问题 jsp连接oracle (高分悬赏)JSP对文件的操作到底需要那些东东??? <%@ include file="path"%>的使用问题 jsp/servlet中的一些问题(大家随便发言,讨论讨论) 如何解决从表单写到数据库只要是中文就是乱码的问题! 为什么在JSP中弹不出对话框!!! 初学JSP,可为什么照书上的例子做,却会出错 这些引号怎么写? JSP中的action 能不能把一个form里的内容提交到两个不同的页面! 哪里错了? 2000里的CLASSPATH中可不可以这样写:D:\ApacheGroup\Tomcat4.1\common\lib\ 有什么函数可以知道对象的类型? 送分问题 初学者问题 怎么判断下拉列表中选择的结果(中文字串)与JSP中的一字符串相等? 一个很简单的地址转换问题?奉送100分 javaScrip 在 JSP 文件中的位置,放在文件末尾可以不? 刚学JSP,有一个问题请教大家 紧急:我在配置tomcat时,不能进入管理界面!? 菜鸟问题:怎样取出ResultSet里的记录数啊? 数据库读取数据出现乱码应如何 关于类似out.close();终止打印内容-<%if(true) return;%> 求无刷新聊天室中的控制滚屏代码! 关于两个页面之间传值,和打开新的页面的问题。急用!解决问题马上给分!!! 高分诚征解决方法和思路 j2dk+tomcat+Microsoft SQL Server 2000 Driver for JDBC数据库连接问题注意你的sql serv... 哪个有关于JSP生成静态页面的帮助文档及说明的电子书,秀出来,谢谢了 如何去掉<marquee>标签开始和结尾的空白? jsp能动态删除文件吗? jsp复选框的问题(新手提问) javascript 日期相减 公司是用struct结构来做JSP的,我这个不太熟悉。请高手可否帮我介绍下这样的结构模式,谢谢 在Servlet与JSP中取得当前文件所在的相对路径与绝对路径 关于用jxl向excel模本写入数据时候出现的问题 运行环境 Jacob 实例 为什么eclipse3的windows-perfermence下没有tomcat阿? 小弟初学JSP,TOMCAT总是提示404错误,请帮忙 Tomcat已经提供了Web功能,为什么还要装apache? Jdk1.4.0版本问题!!! resin上开发的程序,转到tomcat4.1.24上,问题怎样解决? 我用的是TOMCAT 4.0,为什么我用JSP数据错误,用CALL连接不错呢?帮我看看源代码? 为何“package javax.servlet does not exist”? 我在eclipse中,对JSP生成的JAVA文件加不上断点? 关于SERVLET配制的菜问题??大家帮帮我。谢谢! 我的jdk装好后,能用java,但是不能用javac,大家帮忙看看? tomcat 怎么像iis一样设置主机头,让多个域名指向一个ip而又互不干扰 各位大虾好!问一个关于jsp使用.jar包的问题!在线等!特郁闷!200求答案! E:\Xinox Software\JCreator Pro\MyProjects\SimplePrint\SimplePrint.java:2: package jav... 请教:webapps\ROOT下有一目录test 刚学JSP,感觉jsp页面反应速度不如ASP快,大家以为如何? 碰到一件奇怪的事情,不知怎么会事,真让人着急 一个jsp的起步问题,高手请帮忙 tomcat4.1的路径问题,在线等待,急 关于tomcat4中web.xml的问题 请教:一个初学者的问题 极度郁闷中~!各位大虾,请帮帮忙!!我把我的ie5升级到了ie6,并上微软网站升级了一下系统... 关于bean 在tomcat中放到哪个目录下面 哪里可以下载 javax.servlet.http 和 javax.servlet包 无法找到servlet包,无法在webapps下建立新环境,看看我的配置到底出了什么问题。 关于JBuilder8的, 设置tomcat4.1数据源的问题~~ tomcat如何修改404之类的页面 环境变量问题? 如何在虚拟目录下运成servlet生成的class文件 当你输入 HTTP://LOCALHOST:8080 时就会出现指定的网页?如何配置tomcat 关于servlet运行的问题,急死我了, 请教:如何更改tomcat服务的端口号 win98下配置TOMCAT问题 又是可恶的乱码问题 在Tomcat下运行JSP老是出现sun/tools/javac/Main错误,请问怎么回事? 《怎样配置环境变量》《怎样运行Servlet》 如何把tomcat的服务添加为win2000的服务 关于java服务器,jswdk.配置问题 正在使用中的tomcat突然不能用了,请教如何解决!! eclipse问题! 进行Java开发的环境需要哪些? 谁能告诉我在Red Hat Linux下配置Tomcat+JSP+Apache服务器的步骤! 如何改变apach tomcat服务器的ip地址? 我装好了tomcat,那么默认的用户名和密码是什么?? 请问一个tomcat的错误页设置问题? jsp+servlet+ejb的思考,有兴趣的请进,有分相送 哪位大侠在jsp中用过基于form验证模式 使用JDBC连接数据库时Class.forName()语句的使用疑问 Tomcat4.01全攻略 再谈Apache2.0.42和Tomcat4.0.4的整合 崩溃的边缘,送了100分了还是不行!!jsp虚拟目录 介绍一下最好用的JSP开发环境,收到给分! 请问如何使用jar命令,在线 如何让IIS支持JSP? "Weblogic 连接池 + Oracle + Servlet" 的无状态SessionBean 全攻略 web.xml的书写要求及注意事项 如何让Tomcat一启动就调用Servlet的Init方法? 怎样显示其他盘中的内容和建立虚拟目录??? 如何将jsp/servlet/javabean做的项目打包成*.war? 请教JDK1.4.1与TOMCAT4.1怎么配,(在线等) 100分询问visualAge for java 大虾过来看看 大家接分拉:一个关于web应用程序的发布问题!请进来看看吧,答者有分! 请问 tomcat 中配置文件的问题 IBM WS AdminServer 4.0 服务不能启动? html 与Shtml 有甚麽不同? [原创] 最新Apache2.0.43 + Tomcat4.1.12 + mod_jk-2.0.42.dll整合! 那位大哥有turbine的学习资料(中文的),100分奉上? Tomcat web-app 参数设置错误? 为什么我装的Tomcat4.1一启动startup显标了几行字就自动退出,为什么?应怎样修改呀? 在tomcat下,写的jsp文件应该放在哪个目录下? 如何创建jsp的运行环境啊? 运行tomcat的start.bat的错误信息 为什么一开启tomcat就有错误?? BEAN的配置问题!请高手指点!! jsp頁面正在執行中,我又執行另外一個頁面,會很慢,怎麼辦? jsp+javabean,tomcat的配置问题 一个新问题,关于Tomcat server.xml连结池与Apache整合的实现 通过IE浏览放在weblogic6.1里的网页出现找不到类的错误怎么解决 jsp开发时为何刷新没有任何效果呢? 1、我运行\bea\weblogic700\server\bin\目录下的startWLS.bat文件来启动weblogic7,为什么... [求助]到那下载JDBC对mysql的驱动mm.mysql-2.0.14-bin.jar 呀?急急。。 关于eclipse+tomcat调试jsp的问题 ~~~~~JSP连接SQL2000出错,请大侠们帮忙解决~~~~ 为什么老是出现NullPointerException错误 tomcat中我的JAVABEAN为什么不能用???? TOMCAT的问题 关于JSP环境构建的问题! jsp页面为何出现"该页无法显示"? 关于resin的配置问题 我用jsp调用SERVLET,很怪!就是不让用,各位英雄看看如何?请进! eclipse 中怎么加入tomcat. 安装的是j2ee,写的javaBean放在什么地方? servlet怎么才能通过编译? 在RESIN中,我把欢迎页面去掉了。但为社么会出来Resin? Default Home Page页面呢? 为什么javabean中的class会出现被系统自动删除的情况,江湖救急,在线等待..........: 在JBUILDER8 中需要配置TOMCAT 吗!又如何调试JSP!菜鸟问题!来者有份! 还是TOMCAT的问题 难题?进入给分. 想搞清楚几个问题: JSP和PHP哪个好?? tomcat4.1.24如何设置虚拟目录?已搜索过相关主题了 闹心!在线等!关于bean的存放目录 如何安装JDBC驱动包,如何获得!? 数据库Java应用 初次提问,在线等待,resultset结果不对问题。 请介绍一下名字服务 JSP+ORACLE 后台联接池的问题 Error establishing socket.请问大家这个异常一般属于什么情况,为什么会发生啊?? 关于jsp内置对象的问题? 如何用jsp实现树形菜单? 十万火急,Help Me! sql server 2000的数据库连接问题 jsp访问ACCESS的中文问题 有关类型转换 如何取得数据库中时间字段底hh,mi和ss?(在线等待!!) 关于JSP连接SYBASE的问题. jsp中的中文处理问题 请问如何取得存储过程返回的多结果集中的最后一个结果集??? 在jsp中如何能得到一个控制器的名字. 求救tomcat问题? 怎样用java 做DLL文件 怎么样把BLOB从数据库中取出?(马上给分) (急得要命!)oracle数据库表中某一LONG字段内容是word类型的文档(ole形式嵌入),如何取出该字... 为什么安装了SQL Server 2000 Driver for JDBC后仍然不能访问数据库? 求最新的JDBC for SQL Server 2000的驱动。 关于结果集错误 求救数据库连接池问题! 发布留言怎样实现跟贴? 真奇怪,一个程序分成两个就出错,大侠帮忙! 请教关于数据库表的设计 怎样建立连接池 一个图形存取的问题,请大家帮忙,万分感谢 linux下mysql的jdbc权限问题 添加数据的通用bean怎么写?在线等待 数据库问题!! sun.jdbc.odbc.JdbcOdbcDriver 关于jsp问题 求助:jsp连接Oracle找不到类 提取记录时出现如下错误:java.sql.SQLException: [Microsoft][SQLServer JDBC Driver] No ... Linux下,jdbc怎么连接Sybase数据库啊? jsp连接oracle问题 tomcat 4.1.10与sql server2000的数据库连接问题 struts中如何用server.xml,web.xml连接数库 关于ResultSet的Cursor移动的问题 一个connection pool的问题,急 为什么在一个网页中写JSP代码,不能对同一张数据表进行两次查询 关于jsp+mysql? 最后30分,用jsp中连接过informix的jsp高手请进来看看这个问题,好么?55555 高分求购:对数据库(oracel)的连接、添加、编辑、等操作的javaBean源程序 兄弟姐妹们帮帮忙,如何将一个字符数据写入数据库,急急急急急急急 在线等待 各位大侠帮帮我,怎么样记录所有用户对数据库的操作~~~在线等! *.htm文件中的JavaScript的脚本文件为什么没有效果! 怎样提高数据库的性能 jdbc怎么安装啊? 100分问关于jsp连接数据库的问题!为什么会报错呢??? JAVA(JSP)开发困惑-为什么我对jsp看不到希望 用JTree类生成树的问题 如何将从数据库中取出的ResultSet对象转化为vector类型?? 一个简单的数据库调用不成功? 请教一个javaapplet和数据库连接的问题! 请教:"java:/comp/env/jdbc/jilin"这是句子怎么解释?100大元 SQL查询错误,请您帮忙提个意见(在线)! 请问java.sql.SQLException: Before start of result set什么意思? jsp+mysql的中文显示问题 数据传输问题(在线!!!) 大家过来帮忙看看,急~ 请教在weblogic7配置Struts和运行Struts_Example的方法(在线) jsp中用到JavaBean时的目录设计问题 请问我在jb8中要加入oracle9i的数据库驱动,应该加哪个jar文件? createStatement()的问题 高手请进 为什么? 数据库连接问题 新手关于applet应用的问题 请问怎么把数据库里面的BLOB提出转换成String显示在页面上?谢谢了 ResultSet查询后多行数据集怎么取存?在线等待! javabean操作数据库的代码和错误,再线等待! 操作数据库时发生奇怪的错误,高手指点! 建网站的数据库用哪种开发语言比较好? 如何在jsp中使用 事务??? java图片插入oralce的blob对象方法 MS SQL2000 (Error establishing socket)错误的解决办法-SQL请选用混和安装模式 紧急求助!tomcat4.06服务mssql2000数据库取image字段会这么慢?-,原来是微软sqlserver2000jd... oracle中字段如何inert进去一些特殊字符,例如#'"?%_等? MSSQL操作中的一个问题,怎么和青春豆一样令人恼火呢? JavaMail JavaMail应用时少了Activation.jar包!可在这里下载http://java.sun.com/products/javabean... 无法发送邮件,请问是什么问题,源码如下 [求助]在jdk+tomcat环境下如何添加Java Mail API的问题? 那位老兄有java(jsp、servlet)发邮件的源代码? 为什么 sendTo 的电子邮件址址用自己本机的地址就行也可以发送到本机,但如果用一般的电子邮... 邮件应用系统 发送Mail时如何通过服务器的身份验证?(非JavaMail方式) jsp兼exchange高手请进 Struts 用jbuilder8.0开发struts(1.0.2),jsp不能保存:com.borland.primetime.util.AssertionExcept... Struts中<html:form>--原来html中form的name属性现在变成什么了?答着有分! struts标签使用场合讨论! struts之ActionServlet深入探讨 请描述一下struts的jsp页面获取action检索多条数据库记录的处理过程及其中tag的使用 Struts1.02 Framework中action.xml与struts-config.xml有什么区别,内容好象差不多? 做出html静态代码后,如果采用struts的话? Struts中的struts-config.xml文件中,action-mapping中的一段: <action path="/logo... 问一个截取时间字符串的问题 JSP的Tag问题,在线等 Struts中struts-config.xml中<blobal-forwards></blobal-forwards>有什么作用,... 如何在使用Struts的jsp页面写动态的标签??(在线等待,送100分!!) Struts中我没有FormBean,Struts-config.xml文件怎么配呀?>> 哪位大虾有tiles的中文资料,100分答谢!! 用Struts开发你的网站(一) 谁有taglib的例子呀?一个什么条件都能涉及到的一个例子,高分! 关于Struts的几个入门问题 谁能给我解释一下Struts中的struts-config.xml文件中的form-bean和action-bean中要填的各项... 如何让所有的Action只共享一个actionFrom Struts中输入表单从多个表取数据的问题,怎么解决? 请问如何在Struts中让用户只能用26个英文字母大小写或“_”来注册? AcrionForm的数组属性在显示层的用法 Struts:如何动态的使用tag? struts问题求助! 高分请教有关taglib的详细例子. tomcat+struts中文问题怎么解决? help?!#@%¥##struct1.0 中的中文出现乱码问题 (jbuilder8下自带的struct1.0) 安装STRUCTS出现问题,请大家看看,帮帮忙。 在struts-1.1中读ApplicationResources.properties文件时出错,为什么? 在JBuilder8中,为什么不能把Struts1.0升级到Struts1.1??? struts中,如果我想在<html:text ... value=""/>的value中用脚本怎么办? 请教如何在两个form中传递参数,是struts的action/form,详情见内。。。 JBuilder8 + struts1.02 开发时出现的问题,急!! 关于Action中使用Request.setAttribute和session的区别.. Struts的URL问题,分不多了,请大家见谅! 一个非常经典,易懂的MCV设计模式例子,希望大家讨论为主,拿分为辅,我也有几个问题要解决... 为什么要使用structs框架实现mvc模型? 谁看了struct1.1中struts-example.war里面的内容?请教几个问题~ 怎样控制struts去读哪个ApplicationResource文件啊? 如何在Form提交到Action之后把Form里面的值清空?因为我action之后还是回到input那个页面。 如何在javascript中判断表单中的radio是否被选中 struts中,关于向bean传送查询参数的问题。。。。 请教:对于struts下自定义的<html:submit>标签,如何使用style和sytlsclass属性?? 请问谁知道有现成的基于struts结构的网站地址 高分求助:struts1.1下怎么在struts-config.xml里配置datasource啊 struts问题 高手请进=========action中如何对相应的DynaActionForm付值。 struts中html:checkbox和html:multibox标签竟然这样!!! @@@@ bluesky35请进来接分,还有一点问题想问问你!! struts使用过程中的问题 @@@@@ Struts中的ActionForm中的属性是否可以设置成一个集合! struts-config.xml中部分字段含义的解析 出现了这样的错误 Cannot find bean org.apache.struts.taglib.html.BEAN in any scope 今天下午不解决我就被炒鱿鱼!!JBUILDERX自带TOMCAT4。1。27连接池配置! 初学struts的一个问题 scope问题 关于struts的小问题,但我解决不了,请帮帮忙?!◎#¥# 请问如何将ActionForm Bean中int类型的属性显示在Jsp页面的文本框中是个空白,而不是在文本... struts高手,现身吧。 XML 如何把jsp文件生成的xml文件保存到服务器端?急!散分求救!! &的XML的转义字符是什么? 为什么用getNodeValue()不能返回该Node的值 站点发布如何手动设置? 谁能给我讲讲JSP的标签库 如何输出org.jdom.Document实例到JSP页面上? SmartUpload 怎么改变smartupload的默认上传目录??? 使用smartupload上传后,下载出现问题。 怎么在action页面判断上传文件时,<file type=file name="df">为不为空??? 请问jspSmartUpload报错为“java.lang.IllegalStateException ”是什么意思? jspsmartupload?文件上传的问题 急急,关于文件上传的问题? 如何在上传文件的时候,同时把这个文件自动命名。 jspsmart使用问题 form中带enctype="multipart/form-data"不能通过require取得值 jbuilder的应用问题 怎么样能够把文件上传到服务器的任意目录下?? 送分,关于jspsmartload组件的一些讨论? jspsmart upload的一个问题! smartupload升级处理?? 编译??jspSmartUpload 反编译之后的SmartUpload.java不能编译,... 请教如何在jbuilder中导入jspSmartUpload(急!!!!) 如何获得上传文件的名?? JSPSmart中如何获得已经上传到服务器的文件数目?-if(!m_files.getFile(k).isMissing()){//... 图形处理 用JFreeChart生成曲线图,设置时间轴的问题 经过努力,解决了上传图片打水印的问题-结合在jspsmart.upload下使用的,这个是imgbean的代... 用Servlet合成gif格式图片技术专帖 ●●(在线等待)为什么我删除图片时,图片上的连线不能完全自动删除,总有那么一两条还存在... 急问:如何用JSP在excel中画图表??? 怎么样读取数据库中的图形? 哪位大虾能够解决smartupload上传图片到数据库的问题,愿送出200分!!!有代码如下,只是不... 如何能够在网页中调用AutoCAD应用程序?

2009-03-20

载自金山WPS office、以及永中office 各类办公文档模板

下载自金山WPS office、以及永中office的各类 文档、电子报表、电子简报模板

2009-03-16

软件项目 各类文档模板

从http://www.evermoresw.com.cn/ 永中科技网下载收集 包含: 可行性研究报告、 软件需求说明书、 概要设计说明、 数据要求说明书、 数据库设计说明书、 详细设计说明书、 测试分析报告、 测试计划、 开发进度月报、 模块开发卷宗、 项目开发计划、 项目开发总结报告、 操作手册、 用户手册。

2009-03-16

跟姐姐学JSP —— JSP系统清晰的初级教程

转载《跟姐姐学JSP》网页 转自 http://www.family168.com/tutorial/jsp/html/jsp-ch-01.html B/S结构,既浏览器(Browser)/服务器(结构),用浏览器查看jsp写的页面就算非常简单的B/S结构了。 先看看在我们访问http://localhost:8080/test.jsp的时候究竟发生了什么: 1.首先,浏览器解析我们输入的网址,查找服务器的位置。 咱们这里使用了http://localhost:8080/,浏览器就会以http协议,去访问localhost的8080端口,localhost是本机的别名,8080是tomcat的默认端口,即使现在不太理解也没有关系,只要知道http://localhost:8080/是你这台机器上运行的tomcat就可以了。 2.找到了服务器的位置,浏览器会向服务器发送一个请求(request),这个请求包含着http协议规定格式的数据,现在咱们不需要去计较细节,先把注意力集中在流程上。 3.接下来,服务器接收请求,分析请求中包含的数据。这个分析过程也是定义在http协议中的,像我们这里请求的是/test.jsp这个jsp页面,服务器就会去webapp/ROOT目录下去查找这个test.jsp,然后对它进行解析,运行。 4.在服务器的操作结束后,会生成一个响应(response),并把这个响应发送回客户机器的浏览器。 5.现在浏览器接收了响应,开始进行解析与运行,最后把结果显示给用户,这就成为我们最后看到的结果。 这就是http协议的基本流程了,像我们看到的一样,浏览器与服务器之间完全是依靠请求和响应联系起来的。这就像是在打乒乓球,浏览器发过一个球来,服务器接到球,反手再打回去。双方队员之间不会有其他接触,所有的交流就是那颗小球。 这也暗示了http中另一个重要的特性:短连接,无状态。 短连接是指:请求响应一次,服务器就关闭与浏览器之间的网络连接。 无状态是指,任意两次请求响应之间,没有直接的联系。 浏览器发出一个请求,服务器才能返回一个响应。一个请求对应一个响应,每个过程都是完全独立的。并且服务器端是被动的,只能接收请求,然后向请求的原发地发送响应,如果没有请求,服务器没办法凭空发一个响应出去,因为它不知道客户的机器在什么地方。浏览器和服务器之间也不会拉一根电话线,随时保证畅通,每次请求处理完之后,服务器就会立刻忘掉上次请求的信息。这样做的好处是处理简单,连接用完就断,不会浪费资源,坏处是在进行复杂操作的时候,因为没法保证用户当前的状态,只好把表示状态的信息不断的在浏览器和服务器之前传来传去,造成了操作的复杂。 一个请求一个响应,构筑了http协议的基础,jsp则是专门管辖服务器的部分,这样我们就可以把jsp的功能锁定在第二步和第三步了。处理请求,返回响应,这便是jsp的所有工作。 再重复一遍,jsp只负责服务器的操作,浏览器上的任何东西都与其无关,显示图片,显示文字,点击按钮,弹出窗口,这些都是浏览器的工作职能。并且,因为http的无状态性,jsp一旦返回了响应,就再不管其他的了。它绝对不会也不能直接对浏览器造成什么影响,它所能做是把响应这颗球打出去,剩下的就全看浏览器了。浏览器会发生什么事情,jsp也无从得知,如果想让jsp做些什么事情,唯一的办法就是发送一个请求。 重复第三遍,浏览器和服务器基本就是两个孤岛,两地居民的交流只能通过飞鸽传书来实现。在一封信到达之前,本地人是没办法得知对面的消息的,每当浏览器这边岛上的居民想要什么东西,他们就把需要的东西写到信里,用信鸽传递给服务器那边的岛上,服务器收到信鸽的消息,会按照上边所写的准备好,再放飞回去,等浏览器等到他们要的信鸽,就可以把东西放下来随便用了。两地居民直接接触的只有信鸽,他们从信鸽上那到他们想要的东西,对面的人长什么样子,是人是鬼他们全不在意,只要大家都会用信鸽就好了,http就是这样一只大家都会用的信鸽了。 希望现在大家已经对http有了清晰的认识,如果不了解它的运行原理,带着一脑子糨糊学jsp,那可是太可怕了,最怕的就是把jsp和浏览器混为一谈,认为是浏览器在运行jsp。实际上jsp是完全不知道浏览器的存在,它只是根据http形式的请求,发送http形式的响应,如果对面的浏览器能解析http形式的响应,就能显示出页面来,幸运的是目前市面上的浏览器都能解析http形式的响应,所以我们只要制造符合标准的数据,当作响应发送出去就行了。 其实一切都是这么简单,只要能了解它的运行原理,我们就可以在自己的舞台上大施拳脚,不用为涉及不到的领域胡乱苦恼了。

2009-03-06

Spring 2.0 开发参考手册

目录 前言 1. 简介 1.1. 概览 1.2. 使用场景 2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 2.7.1. 一些变化 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. 控制反转容器 3.1. 简介 3.2. 容器和bean的基本原理 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入依赖 3.3.2. 构造器参数的解析 3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. 其他作用域 3.4.4. 自定义作用域 3.5. 定制bean特性 3.5.1. Lifecycle接口 3.5.2. 了解自己 3.6. bean定义的继承 3.7. 容器扩展点 3.7.1. 用BeanPostProcessor定制bean 3.7.2. 用BeanFactoryPostProcessor定制配置元数据 3.7.3. 使用FactoryBean定制实例化逻辑 3.8. ApplicationContext 3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.9.1. 使用Singleton-helper类 4. 资源 4.1. 简介 4.2. Resource 接口 4.3. 内置 Resource 实现 4.3.1. UrlResource 4.3.2. ClassPathResource 4.3.3. FileSystemResource 4.3.4. ServletContextResource 4.3.5. InputStreamResource 4.3.6. ByteArrayResource 4.4. ResourceLoader 4.5. ResourceLoaderAware 接口 4.6. 把Resource作为属性来配置 4.7. Application context 和Resource 路径 4.7.1. 构造application context 4.7.2. Application context构造器中资源路径的通配符 4.7.3. FileSystemResource 提示 5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. Spring的AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 6.2.2. 声明一个切面 6.2.3. 声明一个切入点(pointcut) 6.2.4. 声明通知 6.2.5. 引入(Introductions) 6.2.6. 切面实例化模型 6

2009-03-06

Hibernate_3.2.0_符合Java习惯的关系数据库持久化

HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 1.3.5. 双向关联 1.3.6. 使双向连起来 1.4. 第三部分 - EventManager web应用程序 1.4.1. 编写基本的servlet 1.4.2. 处理与渲染 1.4.3. 部署与测试 1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得SessionFactory 3.3. JDBC连接 3.4. 可选的配置属性 3.4.1. SQL方言 3.4.2. 外连接抓取(Outer Join Fetching) 3.4.3. 二进制流 (Binary Streams) 3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的SessionFactory 3.8.3. 在JTA环境下使用Current Session context (当前session上下文)管理 3.8.4. JMX部署 4. 持久化类(Persistent Classes) 4.1. 一个简单的POJO例子 4.1.1. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.2. 提供一个标识属性(identifier property)(可选) 4.1.3. 使用非final的类 (可选) 4.1.4. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators)(可选) 4.2. 实现继承(Inheritance) 4.3. 实现equals()和hashCode() 4.4. 动态模型(Dynamic models) 4.5. 元组片断映射(Tuplizers) 5. 对象/关系数据库映射基础(Basic O/R Mapping) 5.1. 映射定义(Mapping declaration) 5.1.1. Doctype 5.1.2. hibernate-mapping 5.1.3. class 5.1.4. id 5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 自然ID(natural-id) 5.1.13. 组件(component), 动态组件(dynamic-component) 5.1.14. properties 5.1.15. 子类(subclass) 5.1.16. 连接的子类(joined-subclass) 5.1.17. 联合子类(union-subclass) 5.1.18. 连接(join) 5.1.19. 键(key) 5.1.20. 字段和规则元素(column and formula elements) 5.1.21. 引用(import) 5.1.22. any 5.2. Hibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5

2009-01-14

深入体验JAVA Web开发内幕—核心基础.part7

深入体验JAVA Web开发内幕—核心基础.part7

2008-12-12

深入体验JAVA Web开发内幕—核心基础.part6

深入体验JAVA Web开发内幕—核心基础.part6

2008-12-12

深入体验JAVA Web开发内幕—核心基础.part5

深入体验JAVA Web开发内幕—核心基础.part5

2008-12-12

深入体验JAVA Web开发内幕—核心基础.part4

深入体验JAVA Web开发内幕—核心基础.part4

2008-12-12

深入体验JAVA Web开发内幕—核心基础.part3

声明: 如果引用或借鉴本书稿中的图例、解说和讲解技巧,请标明出处,以示对我的辛勤劳动的尊重!这些东西虽然谈不上创造发明,但确实也是花费了我很多时间和精力去总结、归纳出来的。如果有人等我总结、消化后再“巧妙借鉴”,精华和核心全部拿走,然后在随便从书上找到别的知识作补充,以示区别的行为将会极大挫伤我的积极性,希望网友们从道义上对这种行为进行谴责!因涉及商业机密和出版合同,本书中的一些最富有技巧的知识和讲解手法没有提供出来,敬请谅解! ————张孝祥

2008-12-12

深入体验JAVA Web开发内幕—核心基础.part2

声明: 如果引用或借鉴本书稿中的图例、解说和讲解技巧,请标明出处,以示对我的辛勤劳动的尊重!这些东西虽然谈不上创造发明,但确实也是花费了我很多时间和精力去总结、归纳出来的。如果有人等我总结、消化后再“巧妙借鉴”,精华和核心全部拿走,然后在随便从书上找到别的知识作补充,以示区别的行为将会极大挫伤我的积极性,希望网友们从道义上对这种行为进行谴责!因涉及商业机密和出版合同,本书中的一些最富有技巧的知识和讲解手法没有提供出来,敬请谅解! ————张孝祥

2008-12-12

企业级应用软件架构开发过程与实践4

企业级应用软件架构开发过程与实践4 顺乎自然的软件开发途径

2008-11-20

企业级应用软件架构开发过程与实践3

企业级应用软件架构开发过程与实践3 解决文件问题的微观方法

2008-11-20

企业级应用软件架构开发过程与实践2

企业级应用软件架构开发过程与实践2 软件工程基本原理

2008-11-20

操作系统设计与实现 基于Minix系统的中文译本

操作系统设计与实现 基于Minix系统的中文译本

2009-10-31

winxp embedded development

在网络上经常有朋友对开发EMBEDDED感到困难,我感觉第一是大家对英文识别有一定难度,第二没有象样的开发手册,随开发光盘提供的也只是一个很不详细的步骤,下面我想对本人在开发中的一些简单步骤写出来给大家一个范例,能让大家更加容易的开发出一个好用的嵌入式系统吧!

2009-09-15

初级java程序员练习项目3——收入、储蓄、支出管理系统 补充设计

个人的java web练习项目,不推荐他人下载

2009-08-12

MyEclipse v3.8.4 for Eclipse v3.0

MyEclipse v3.8.4 for Eclipse v3.0.tar.7z

2009-07-24

java初级程序员练习项目4——足球网

为自己准备的参考项目资料,不推荐他人下载

2009-07-24

TL-R410+路由器使用手册

TL-R410+路由器使用手册 路由的设置安装说明书,对于一般的路由器通用

2009-07-21

GoF 23种设计模式解析

GoF+23种设计模式解析附C++实现源码 相当不错的设计模式参考资料,推荐阅读

2009-07-21

初级java程序员练习项目3——收入、储蓄、支出管理系统

为自己准备的java初级练习项目,不推荐他人下载

2009-07-21

初级java程序员练习项目2——问卷调查

为自己准备的参考项目资料,不推荐他人下载

2009-07-21

开源世界旅行手册——主要开源技术的发展介绍

开源世界旅行手册——主要开源技术的发展介绍

2009-07-21

初级java练习项目练习 源代码1.3版

还有待完善,数据库是SQLSERVER2000, 可以用Eclipse或NetBeans发布

2009-07-21

Unix/linux 命令参考

Unix/linux 系统中最常用的命令参考

2009-07-21

Arch Linux 安装向导

Arch Linux 安装向导 一个详细的安装教程,推荐新手阅读

2009-07-21

软件开发过程中的各类文档模版

从立项、到规划、管理、需求、设计、测试、验收、培训、维护各类文档模版皆有

2009-06-24

网页报表指南(Crystal Reports) 压缩后重发

抱歉,之前发的是chm文件,这种文件经常会出现下载后打不开, 现在压缩后重发。 向您介绍世界领先的桌面及 Web 报表工具 - Crystal Reports Crystal Reports 用于处理数据库,帮助用户分析和解释重要信息。使用 Crystal Reports 可以方便地创建简单报表,同时它也提供了创建复杂或专用的报表所需的整套工具。 创建所能想象的任何报表 Crystal Reports 几乎可以从任何数据源生成您需要的报表。内置报表专家在您生成报表和完成一般的报表任务过程中,会一步一步地指导您进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉的重要关系。如果文字和数字确实不够充分,则用地理地图和图形进行形象的信息交流。 将报表扩展到 Web Crystal Reports 的灵活性并未停留在创建报表这一功能上 ?您可以用各种各样的格式发布报表,包括用 Microsoft 的 Word 和 Excel 发布、通过电子邮件甚至 Web 发布。高级的 Web 报表功能允许工作组中的其他成员在他们自己的 Web 浏览器中查看或更新共享报表。 将报表并入应用程序 通过将 Crystal Reports 的报表处理功能整合到自己的数据库应用程序中,应用程序和 Web 开发人员可以节省开发时间并满足用户的需求。Crystal Reports 支持大多数流行的开发语言,可以方便地在任何应用程序中添加报表。 不论您是 IT 行业的站点管理员,还是营销推广经理,也无论您是金融业的数据库管理员还是 CEO,Crystal Reports 都堪称是一个功能强大的工具,它可以帮助每一个人分析、解释重要信息。

2009-06-24

Java版权限管理源码

下载自 西安程序员俱乐部 http://club.xasoft.org/?action-file 1、文件夹src、web为程序源码和页面。 2、文件夹war为可运行的系统。 3、permission.sql为数据库脚本文件。 4、permission.properties为功能点配置模板。 5、安装时参看“权限系统使用说明.doc”文档。

2009-06-24

初级java练习项目

自己准备的初级程序员入门练习项目, 对自己有用,但对大部分人应该没有太大的意义

2009-06-23

网页报表指南(Crystal Reports)

向您介绍世界领先的桌面及 Web 报表工具 - Crystal Reports Crystal Reports 用于处理数据库,帮助用户分析和解释重要信息。使用 Crystal Reports 可以方便地创建简单报表,同时它也提供了创建复杂或专用的报表所需的整套工具。 创建所能想象的任何报表 Crystal Reports 几乎可以从任何数据源生成您需要的报表。内置报表专家在您生成报表和完成一般的报表任务过程中,会一步一步地指导您进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉的重要关系。如果文字和数字确实不够充分,则用地理地图和图形进行形象的信息交流。 将报表扩展到 Web Crystal Reports 的灵活性并未停留在创建报表这一功能上 ?您可以用各种各样的格式发布报表,包括用 Microsoft 的 Word 和 Excel 发布、通过电子邮件甚至 Web 发布。高级的 Web 报表功能允许工作组中的其他成员在他们自己的 Web 浏览器中查看或更新共享报表。 将报表并入应用程序 通过将 Crystal Reports 的报表处理功能整合到自己的数据库应用程序中,应用程序和 Web 开发人员可以节省开发时间并满足用户的需求。Crystal Reports 支持大多数流行的开发语言,可以方便地在任何应用程序中添加报表。 不论您是 IT 行业的站点管理员,还是营销推广经理,也无论您是金融业的数据库管理员还是 CEO,Crystal Reports 都堪称是一个功能强大的工具,它可以帮助每一个人分析、解释重要信息。

2009-05-20

Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

面向对象编程的基础 要了解面向对象编程(OOP)的基本概念,需要理解 OOP 的三个主要概念,它们撑起 了整个 OOP 的框架。这三个概念是:封装、继承性和多态性。除此以外,还需了解对象、 类、消息、接口、及抽象等概念。 2.2.1 对象 现实世界中的对象具两个特征:状态和行为。例如:自行车有状态(传动装置、步度、 两个车轮和齿轮的数目等)和行为(刹车、加速、减速和换档等)。 其次,我们再来看看软件对象。软件对象是现实世界对象的模式化产物,他们也有状态 和行为。软件对象把状态用数据表示并存放在变量里,而行为则用方法实现。实际上,软件 对象还包括了数据结构和使用这些数据结构的代码。因此也可以说:软件对象是现实世界客 观事务的软件化模拟,是变量(数据和数据结构)和相关方法(对数据操作和对象管理的程 序)的软件组合。 在面向对象的程序设计中,你可以用软件对象表示现实世界的对象,而这些软件对象和 现实世界对象是相对应的。例如:如果你正在建立一个帐户管理系统,那么你的对象就是帐 户、欠款、信用卡、月收入、贷款、交易等等。如果你设计一个电子实习交通工具系统,那 么你的对象就是汽车、摩托车、自行车等等。就自行车的软件对象而言,表示该对象的状态 和行为应为与变量和方法相对应。自行车的状态:数度是 10mp(每小时 10 米),步度是 90rpm (每分钟 90 转),当前传动装置是第 5 个齿轮。再面向对象的程序设计中,这些数据应放在 变量中。自行车的行为:刹车,改变步度和换档。在面向对象的程序设计中,这些行为用方 法实现。 在 OOP 技术中,对象充当了一个很重要的角色。对象的数据是组成对象的核心,而方法 则环绕这个核心并隐藏在对象之中。 2.2.2 封装 "封装"是 OOP 语言的优点之一。把一个对象的数据加以包装并置于其方法的保护之下 称为封装。所谓封装就是对数据的隐藏。封装实现了把数据和操作这些数据的代码包装成为 一个对象(即离散的部件),而数据和操作细节(方法)隐藏起来。如果增加某些限制,使 得对数据的访问可按照统一的方式进行,那些能比较容易地产生更为强壮的代码。 OOP 语言提出一种(或称为协议),以保证对数据进行统一的操作。通常的做法是:程 序和对象数据的交互作用通过一个公开的接口进行,而不直接进行操作。由于把数据封装在 对象中,所以,访问对象中的数据只有一种途径,那就是利用一个公开的接口。 实际上,封装在程序和数据之间设置了一道栅栏,它可以阻止一部分的设计错误,不至 于涉足应用程序其他部分的数据。 2.2.3 消息 一个单独的对象一般不十分有用,而作为一员出现在包含有许多其他对象的大程序或应 用程序之中,通过这些对象的相互作用,程序员可实现高层次的操作和更负责的功能。某此 对象通过向其他对象发送消息与其他对象进行交互作用和通信。 消息是以参数的形式传递给某方法的。一个消息通常由三部分组成: 1. 消息传送到对象的名称。 2. 要执行的方法的名称。 3. 方法需要的任意参数。 2.2.4 类 类是一个蓝图或样板,定义了某种类型的所有对象的变量和方法。 在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向对象的语言中,类的功能更强大,这是因为类不仅 含有定义数据类型的功能,而且还包含了对方法的定义。 对象实际是类中的一个实例。生成实例的过程叫做把"一个对象实例化"。一个实例化 的对象实际上是由若干个实例变量和实例方法组成的。当你创建出一个类的实例时,系统将 为实例变量指定内存,然后你就可以利用实例方法去做某些事情。 2.2.5 继承 继承是指建立子类的能力。子类继承了父亲的特征和功能。类的层次结构类似于一棵数 的结构,也像一个家庭谱系。它显示了根和它的导出类之间的关系。 子类从它先辈类那里继承了代码和数据,这样,它就可以执行先辈类的功能和访问先辈 类的数据。一个纯面向对象程序设计的语言将具有严格的继承性。 通过对象、类,我们实现了封装,通过子类我们可以实现继承。例如,公共汽车、出租 车、货车等都是汽车,但它们是不同的汽车,除了具有汽车的共性外,它们还具有自己的特 点(如不同的操作方法,不同的用途等)。这时我们可以把它们作为汽车的子类来实现,它们 继承父类(汽车)的所有状态和行为,同时增加自己的状态和行为。通过父类和子类,我们实 现了类的的层次,可以从最一般的类开始,逐步特殊化,定义一系列的子类。同时,通过继 承也实现了代码的复用,使程序的复杂性线性地增长,而不是呈几何级数增长。 2.2.6 抽象 面向对象的程序设计系统鼓励充分利用"抽象"。在现实世界中,人们正是通过抽象来 理解复杂的事务。例如:人们并没有把汽车当作成百上千的零件组成来认识,而是把它当作 具有自己特定行为的对象。人们可以忽略发动机、液压传输、刹车系统等如何工作的细节, 而习惯于把汽车当作一个整体来认识。 包含通用对象类的库叫作类库。 2.2.7 多态型 面向对象程序的最后一个概念是多态性。凭借多态性,你可以创建一个新的对象,它具 有与基对象相同的功能,但是这些功能中的一个或多个是通过不同的方式完成的。例如:在 Java 中你可以凭借多态性,通过一个画圆的对象,来创建一个画椭圆或矩形的对象。不管是 画圆,画椭圆还是画矩形的方法,它们都有一个相同的方法名,但以不同的方式完成他们的 画圆的功能。 1.8 类和对象 1.8.1 类 类是组成 Java 程序的基本要素。它封装了一类对象的状态和方法,是这一类对象的 原型。定义一个类,实际上就是指定该类所包含的数据和对数据进行操作的代码。 类通过关键字 class 来定义,一般格式为: 【类说明修饰符】class 类名【extends 子句】【implements 子句】 type instance-varable1; type instance-varable2; type instance-varable3; the methodname1(parameter-list){method-body;} the methodname2(parameter-list){method-body;} the methodnameN (parameter-list){method-body;} 下面将类定义格式的项目说明如下: (1) class 是类说明关键字。 (2) 类名是由程序员自己定义的 Java 标识符,每个类说明必须有 class 和类名。 (3) 类说明修饰符包括:  abstract 说明一个类为抽象类,抽象类是指不能直接实例化对象的类。  final 说明一个类为最终类,即改类不能再有子类。  public 说明类为公共类,该类可以被当前包以外的类和对象使用。  private 说明类为私有类。 (4) extends 子句用于说明类的直接超类。 (5) implements 子句用于说明类中将实现哪些接口,接口是 Java 的一种引用类 型。 (6) 类体包含了变量和方法。在类体中定义的数据、变量和方法称为类的成员, 或称为实例变量和实例方法。 (7) 例如: 下例定义了一个 Point 类 ,并且声明了它的两个变量 x、y 坐标 ,同时实现 init()方法 对 x、y 赋初值 。 class Ponit { int x,y; void init(int ix, int iy){ x=ix; y=iy; } } 类中所定义的变量和方法都是类的成员。对类的成员可以设定访问权限 ,来限定 其它对象对它的访问,访问权限所以有以下几种:private, protected, public, friendly。 1.8.2 对象 把类实例化,我们可以生成多个对象,这些对象通过消息传递来进行交互(消息 传递即激活指定的某个对象的方法以改变其状态或让它产生一定的行为),最终完 成复杂的任务。一个对象的生命期包括三个阶段:创建对象、对象的引用和释放对 象 。 1.8.3 创建对象 创建对象包括声明、实例化和初始化三方面的内容。通常的格式为 : 1. 声明对象 对象声明实际上是给对象命名,也称定义一个实例变量。对象声明的一般格式为: type name 其中,type 是一个类的类名,用它声明的对象将属于改类;name 是对象名。 例如: Date today; Rectangle myRectangle; 第一条语句说明了对象 today 属于 Date 类,第二条语句说明了对象 myRectangle 属于 Rectangle 类。对象说明并没有体现一个具体的对象,只有通过实例化后的对 象才能被使用。 2. 实例化对象 实例化对象就是创建一个对象。实例化对象意味着给对象分配必要的存储空间,用 来保存对象的数据和代码。实例化后的每个对象均占有自己的一块内存区域,实例 化时,每个对象分配有一个"引用"(reference)保存到一个实例变量中。"引用" 实际上是一个指针,此指针指向对象所占有的内存区域。 因此,对象名(变量)实际上存放的是一个被实例化之后的对象所占有的内存区域 的指针。 例如: type objectName = new type ( [paramlist] ); 运算符 new 为对象分配内存空间 ,实例化一个对象 。new 调用对象的构造方法,返 回对该对象的一个引用(即该对象所在的内存地址)。用 new 可以为一个类实例化, 多个不同的对象。这些对象分别占用不同的内存空间,因此改变其中一个对象的状 态不会影响其它对象的状态 。 3.初始化对象 生成对象的最后一步是执行构造方法,进行初始化。由于对构造方法可以进行重写 ,所以通过给出不同个数或类型的参数会分别调用不同的构造方法。 例子:以类 Rectangle 为例,我们生成类 Rectangle 的对象: Rectangle p1=new Rectangle (); Rectangle p2=new Rectangle (30,40); 这里,我们为类 Rectangle 生成了两个对象 p1、p2,它们分别调用不同的构造方法, p1 调用缺省的构造方法(即没有参数),p2 则调用带参数的构造方法。p1、p2 分别对 应于不同的内存空间,它们的值是不同的,可以完全独立地分别对它们进行操作。虽 然 new 运算符返回对一个对象的引用,但与 C、C++中的指针不同,对象的引用是指 向一个中间的数据结构,它存储有关数据类型的信息以及当前对象所在的堆的地址, 而对于对象所在的实际的内存地址是不可操作的,这就保证了安全性。 1.8.4 对象的引用 对象的使用包括引用对象的成员变量和方法,通过运算符·可以实现对变量的访问和方法的调 用,变量和方法可以通过设定一定的访问权限(见下面的例子)来允许或禁止其它对象对它的 访问。 我们先定义一个类 Point。 例子: class Point{ int x,y; String name = "a point"; Point(){ x = 0; y = 0; } Point( int x, int y, String name ){ this.x = x; this.y = y; this.name = name; } int getX(){ return x; } int getY(){ return y; } void move( int newX, int newY ){ x = newX; y = newY; } Point newPoint( String name ){ Point newP = new Point( -x, -y, name ); return newP; } boolean equal( int x, int y ){ if( this.x==x && this.y==y ) return true; else return false; } void print(){ System.out.println(name+" : x = "+x+" y = "+y); } } public class UsingObject{ public static void main( String args[] ){ Point p = new Point(); p.print(); //call method of an object p.move( 50, 50 ); System.out.println("** after moving **"); System.out.println("Get x and y directly"); System.out.println("x = "+p.x+" y = "+p.y); //access variabl es of an object System.out.println("or Get x and y by calling method"); System.out.println("x = "+p.getY()+" y = "+p.getY()); if( p.equal(50,50) ) System.out.println("I like this point!!!! "); else System.out.println("I hate it!!!!! "); p.newPoint( "a new point" ).print(); new Point( 10, 15, "another new point" ).print(); } } 运行结果为: C:\java UsingObject a point : x = 0 y = 0 **** after moving ***** Get x and y directly x = 50 y = 50 or Get x and y by calling method x = 50 y = 50 I like this point!!!! a new point : x = -50 y = -50 another new point : x = 10 y = 15 1.引用对象的变量 要访问对象的某个变量,其格式为: objectReference.variable 其中 objectReference 是对象的一个引用,它可以是一个已生成的对象,也可以是能够生成对 象引用的表达式。 例如:我们用 Point p=newPoint();生成了类 Point 的对象 p 后,可以用 p.x,p.y 来访问该点的 x、y 坐标,如 p.x = 10; p.y = 20; 或者用 new 生成对象的引用,然后直接访问,如: tx=new point().x; 2.调用对象的方法 要调用对象的某个方法,其格式为: objectReference.methodName ( [paramlist] ); 例 如我们要移动类 Point 的对象 p,可以用 p.move(30,20); 虽然我们可以直接访问对象的变量 p.x、p.y 来改变点 p 的坐标,但是通过方法调用的方 式来实现能更好地体现面向对象的特点,建议在可能的情况下尽可能使用方法调用。 同样,也可以用 new 生成对象的引用,然后直接调用它的方法,如 new point(). move (30,20); 前面已经讲过,在对象的方法执行完后,通常会返回指定类型的值,我们可以合法地使 用这个值,如:例子中类 Point 的方法 equal 返回布尔值,我们可以用它来作为判断条件分别执 行不同的分支。如: if (p.equal (20,30)){ ...... //statements when equal }else { ...... //statements when unequal } 另外,类 Point 的方法 newPoint 返回该点关于原点的对称点,返回值也是一个 Point 类型,我们 可以访问它的变量或调用它的方法,如: px = p.newPoint().x 或 px = p.newPoint(). getX(); 1.8.5 成员变量 对象具有状态和行为,而对象的状态则是用变量或数据来描述的。在一个类中,对象的 状态是以变量或数据的形式定义的。 例如: "盒子"的体积的状态主要是宽度、高度、和深度。因此在类定义"盒子"对象时,只 将这三个属性作为其主要的状态,并用变量的形式来描述,这些变量称为成员变量。而在对 象实例化后,这些变量称为实例变量。 1.8.6 成员变量定义格式 成员变量定义的一般格式为: 【Modifer】type variablelist; 其中, type 指定变量的类型,它可以时 Java 的任意一种类型。 variablelist 是一组逗号隔开的变量名(变量列表),每个变量都可带有自己的初始化的表达 式。 例如: xint ,z; aint ,b=2,c=3; Modifer 是定义变量的修饰符,它说明了变量的访问权限和某些使用规则。变量修饰符可以 是关键字 public、protected、private、final、static、transient 和 volatile 的组合。 1.8.7 成员变量的初始化 当成员变量含有自己的初始化表达式时,可以创建实例的方式使成员变量实例化。 例如: class Box{ double width = 10; double height= 15; double depth= } 变量 width、height、depth 是成员变量。在执行 Box myBox1 = new Box()语句之后, new 运算符就创建了一个实例,并将变量分别赋初值为 10、15、20。在此时的变量 width、 height、depth 称为实例变量。 注意:在初始化表达式中,不能包含成员变量本身或同类的其他成员变量。例如,下面 的用法式错误的: class Test{ int int t =j; int } 错误有两个:一个式变量 k 的初始化涉及对 k 自身的访问;二式对 t 进行初始化时含有 对 j 的访问,而 j 的说明在其后。 1.8.8 成员变量的访问权限 成员变量或方法的访问权限是用访问权限修饰符来指定的。Java 的访问权限修饰符包括四种 显示方式修饰符和一种隐含方式修饰符,即: 1. 公用变量 用 public 说明的变量是公有变量。 访问权限:允许任何包中的任何类的变量访问。 例如:下面的代码中,在类 Alpha 中说明了一个公用变量 i_public,而在另一个类 Beta 中可以访问该变量。 class Alpha{ public int i_public ; } class Beta{ void accessmethod() { Alphaa= newAlpha(); a.i_public=10; } } 2. 私有变量 //说明公用变量 i_public //访问公用变量 i_public 用 private 说明的变量是私有变量。 访问权限:只能被定义它的类的变量访问。 例如:下面的代码中,在类 Alpha 中说明了一个私有变量 i_private,其他类不允 许访问。 正确的访问格式: class Alpha{ 3. 保护变量 } public int i_private ; void accessmethod() { Alphaa= newAlpha(); a.i_private=10; } //说明私有变量 i_private //访问私有变量 i_private 用 protected 说明的变量是保护变量。 访问权限:允许类自身、子类以及在同一个包中的所有类的变量访问。 例如:假定某个包 Geek 中含有两个成员类 Alpha 和 Beta,若在类 Alpha 中说明 了一个保护变量 i_protected,则在另外一个类 Beta 中可以访问该变量。 class Alpha{ public int i_protected; void accessmethod() } class Beta { void accessmethod() { Alpha a= new Alpha(); a.i_protected=10; } } 4. 私有保护变量 //说明保护变量 i_protected //访问保护变量 i_protected 用 private protected 说明的变量是私有保护变量。 访问权限:允许类自身以及它的子类变量访问。 例如:下面的两种访问方式是可行的。 (1) 在类中访问私有保护变量 例如: class Alpha{ private protected int i_pri_prot ; void accessmethod() { Alphaa= newAlpha(); } } a. i_pri_prot =10; //访问私有保护变量 i_pri_prot (2) 在子类中访问私有保护变量 例如: class Alpha{ private protected int i_pri_prot=10 ; } class Beta extends Alpha { void accessmethod() { Alphaa= newAlpha(); } } a. i_pri_prot =30; //访问私有保护变量 i_pri_prot 在程序执行时,变量 i_pri_prot 的值是 30,而不是 10; 5. 友好变量 如果一个变量没有显示地设置访问权限,则该变量为友好变量。 访问权限:允许类自身以及在同一个包中地所有类地变量访问。 例如:下面的类中定义了一个友好变量: class Alpha{ int i_friendly ; void accessmethod() { Alphaa= newAlpha(); } } a. i_friendly=10; //访问友好变量 i_friendly 在了解了成员变量的访问权限之后,那么在说明每一个成员变量时,都可以按访问权限给变 量提供适当的保护措施,这样就加强了变量的安全性。 名称 公用 私有 保护 私有保护 访问权限修饰 public private protected private protected 类 √ √ √ √ 子类 √ √ √ 包 √ * 所有类 √ √ 友好 friendly √ √ 注:表中√的为可选,打*的说明有特殊限制。*号是针对子类访问保护变量而言,即一个子类只有与超类 在同一个包中,才可以访问超类对象的保护变量。 1.8.9 静态变量 用 static 说明的变量是静态变量。静态变量与其他成员变量有区别:其他成员变量必须通过 类的对象来访问,每个对象都有这些变量的备份;而静态变量独立于改类中的任何对象,它 在类的实例中只有一个备份,可以直接使用,而不必通过类的对象去访问,它一直属于定义 它的类,因此也称为类变量。类的所有对象都共享 static 变量。static 变量通常也称为全局变 量。 例如: 静态变量的定义和引用。首先在类 MyDemo 中定义了 static 变量 x,y 然后在类 MyStaticDemo 中输入变量 x 和 y 的值。 import java.awt.Graphics; class MyDemo { static int x=80; static int y=120; } class MyStaticDemo extends java.applet.Applet { public void paint(Graphics g) { g.drawString("x="+MyDemo.x+"y="+MyDemo.y,25,50); } } 程序运行结果: x=80 y=120 在上面的程序中,在访问的静态变量 x 和 y 时,是通过类名 MyDemo 直接访问的。 static 也可以说明方法。用 static 说明的方法是静态方法或类方法,在实例中只有一 个备份。该方法具有以下约束: a) b) c) 它们仅可以调用其他 static 方法。 它们仅可以访问 static 变量。 它们不能参考 this 或 super。 如果类的成员被定义为 static,则可以通过下面形式引用: 类名,成员名 这里,类名是定义 static 成员所属的类。Java 通过这样的方式,实现了全局方法和变量。 1.8.10 final 变量 用 final 说明的变量可以当作一个常量使用,不得对其进行任何修改。若某此变量为了 防止被修改,则定义变量时必须初始化一个 final 变量。在这一点上,final 与 C\C++的 const 相似。比如: final int MONDAY=1; final int TUSDAY=2; final int WEDNESDAY=3; ...... 以后程序可以把上述变量当作常量来使用,而不用担心其被修改。 final 变量用大写字母来表示,这是一种习惯约定。final 变量不占内存空间,实际上也 就是一个常数。 1.9 方法 1.9.1 方法的定义 方法也是类的一个成员,定义方法时在定义类的同时进行的。其一般格式为: type name(parameter -list) { //方法体 } 格式说明: (1) type 指定方法的返回类型,简称方法的类型,它可以是任何有效的类型, 包括类类型。方法的返回或带值返回都由 return 语句实现,当一个方法没 有返回值时,其 type 必须为 void,且 return 语句可以省略。 (2) name 指定方法名,方法名可以是合适的 Java 标识符。 (3) parameter-list 指定方法的参数列表,参数包括参数的类型和参数名,每个 参数用逗号隔开。在定义方法时,其参数将作为形参;在调用方法时,其 参数被称为实参。调用时是把实参的值传递给形参。入过方法没有参数, 参数列表为空,但括号"()"不能省略。 (4) 方法体包含了一组代码,它用于对数据处理。方法体用以对大括号"{}"括 起来。 例如:Box 类封装"盒子"的状态和行为,即数据变量和方法,用方法 volume 计 算 Box 对象的体积。 import java.awt.Graphics; class Box { double width; double height; double depth; void setDemo(double w,double h,double d) { width=w; height=h; depth=d; } } double volume() { return width*height*depth; } class BoxDemo extends java.applet.Applet { public void paint(Graphics g) { double d_volume; Box myBox = new Box(); myBox.setDemo(10,20,30); //调用方法 setDemo 给变量赋值 d_volumn = myBox.volume(); //计算体积 g.drawString("myBox 的体积是:"+ d_volumn,25,50); } } 程序运行的结果如下: myBox 的体积是:6000 1.9.2 方法的访问权限 方法同成员变量一样,可以在定义时说明方法的访问权限,其说明格式和访问机制与成 员变量完全一样。 例如:私有方法、私有保护方法只能被同一个类中的方法调用,公用方法可以被其他类 的方法调用。 import java.awt.Graphics; class Alpah1 { pivateint i_private() { int x=10; int y=20; return x+y; } public int i_public1() { return i_private(); } } class Alpah2 { public public int x,y; private protected int i_protected(int a,int h) { x=a; y=b; return x+y; } public void i_public2(int i,int j) { k=i_protected(i,j); } } class Test extends java.applet.Applet { public void paint(Graphics g) { int p1; Alpah1 ap1= newAlpah1(); Alpah2 ap2= newAlpah2(); p1=ap1.i_public1(); ap2. i_public2(50,50); g.drawString("i_public1()的返回值是:"+p1,25,50); g.drawString("i_public2()的返回值是:"+ap2.k,25,50); } } 程序运行的结果如下: 方法 i_public1()的返回值是:30 方法 i_public2()的返回值是:100 程序说明: (1)在类 Alpah1 中,方法 i_private()是私有的,它只能被同类的方法 i_public1()调用。 而方法 i_public1()是公有的,它可以被另一类 Demo 中的方法 paint()调用。 (2)在类 Alpah2 中,方法 i_protected()是私有保护性的,它不能被其他类的方法调用, 而只能被同类(或子类)的方法 i_public2()调用。同样,方法 i_public2()也是公有的,它可 以被另一类 Test 中的方法 paint()调用。 (3)在方法 i_public1()中,语句 return i_private()执行的顺序为:先调用,后返回。其 返回值是 x+y 的和。 (4)在方法 i_public2(int i,int j)中,将形参 i 和 j 作为调用方法中的实参。 如:k=i_protected(i,j); (5) 在类 Alpha2 中,定义了成员变量 k、x 和 y。其中 k 是公有的,它可被类 Test 中 的方法引用,其格式为:ap2.k;而变量 x 和 y 是私有的。它只能被同一类的方法引用。 (6)在类 Alpah1 方法 i_private()中,定义的变量 x 和 y 是局部变量。 局部变量作用域是:只能在定义它的方法中有效,即使同一类中的方法也不能引用。 例如:方法 i_public()是不能访问局部变量 x 和 y 的。 1.9.3 对象作为参数 例:给定两个数,按大小顺序输出。 import java.awt.Graphics; class Test1 { public int a,b; void mov(int i,int j) { a=i; b=j; } } class Test2 { void max(Test1 test1) { int c; if(test1.a<test1.b) { c=test1.a; 引用 test1 对象的成员变量 a。 test1.a = test.b; test1.b=c; } } } class MaxTest extends java.awt.Applet { public void paint(Graphics g) { Test1myTest1=new Test1(); Test2 myTest2 = new Test2(); myTest1.mov(45,55); //调用 Test2 类的方法 max,并将对象 myTest1 作为实参。 myTest2.max(myTest1); g.drawString("大小顺序为:"+ myTest1.a+","+myTest1.b,25,50); } } 1.9.4 对象作为返回值 下面的例子是把对象作为返回值的编程方法。 例如:利用方法返回对象的特性,实现对实例变量的值的递增。 import java.awt.Graphics; class Test { public int a,b; void mov( int i,int j) { a=i; b=j; } Test max() //方法 max()的返回值类型是 Test 类型 { Test myTest = new Test(); myTest.mov(a+10,b+10);使实例变量的值增 10。 return myTest; } } class OutMyDemo extends java.applet.Applet; { public void paint(Graphics g) { Test p1 = new Test(); Test p2; p1.mov(15,55); g.drawString("p1 的实例变量值:a="+pa1.a+",b="+pa1.b,25,75); p2=p2.amx(); g.drawString("p2(p2 加 10)的值:a="+p2.a+",b="+p2.b,25,100); } } 程序运行的结果如下: p1 的实例变量值:a=15,b=55; p2(p1 加 10)的值:a=15,b=65; p2(p2 加 10)的值:a=35,b=75; 1.10 构造方法 1.10.1构造方法概述 构造方法是一个在创建对象初始化的方法,它具有与类相同的名字。事实上,除了构造 方法,在类中不能再有别的方法与类同名。一旦定义了构造方法,在执行 new 操作期间, 首先创建对象,然后自动调用构造方法将对象初始化。 与其他方法不同,构造方法必须在 new 运算符中引用,而不能按引用一般方法的格式 去引用构造方法。 在同一个类中,允许定义多个构造方法。这些构造方法是以参数的个数来区分的。在创 建对象时,程序员应当根据参数的个数和类型来选择合适的构造方法。 如果一个类中没有包含构造的说明,将提供隐含的构造方法,隐含的构造方法没有参数, 它将调用超类中不带参数的构造方法,如果超类中没有不带参数的构造方法,将产生编译错 误。 构造方法有些特殊,它没有返回类型甚至 void。因为构造方法的缺省返回类型是类类型 本身。构造方法的另一个特殊性是它不能继承超类。 例子: import java.awt.Graphics; class Test { double width; double height; double depth; Test(double w,double h,double d) //定义构造方法 Box() { width = w; height = h; depth=d; } double volume() { return width*height*depth; } } class Testing extends java.applet.applet { public void paint(Graphics g) { double d_volume; Test test = new Test()//new 运算符创建对象 test 后,随即对 test 初始化。 } } d_volume = test.volume();//计算体积 g.drawString("test 的体积是:"+d_volume,25,50); 程序运行的结果如下: test 的体积是:6000 1.10.2构造方法的访问权限 在定义构造方法时可以对他们附加访问修饰符,它们时: pulic(公有型的构造方法) private (私有型的构造访问) proected (保护型的构造方法) private protected (私有保护型的构造方法) 这四种方法访问修饰符的权限范围和方法的访问权限的范围一样。构咱方法的访问修饰符不 能是 abstract、static、final、native 或 synchronized; 1.11 方法重载 在 java 中,可以在同一个类中定义多个同名的方法,只要它们的参数列表不同,这叫做方 法的重载(Overload)。方法重载是 Java 最具有吸引力的有利特征。 当一个重载方法被激起时,Java 便根据参数的类型和数目确定被调用的方法。这样,重载方 法之间一定具有不同的参数列表,包括参数的类型和数目。 例:给定两个或三个数,将它们由大到小按顺序输出。 import java.awt.Graphics; class Test { double max1,max2,nax3; Test() { max1=-1; maxe2=-1; max3=-1; } void sort(double i,double j) { double s; max1=i; max2=j; if( max1<max2) { s=max1; max1=max2; } } max2=s; } void sort(double I,double j,double k) { double s; max1=i; max2=j; max3=k; if(max1<max2) { s=max1; max1=max2; max2=s; } if(max1<max3) { s=max1; max1=max3; max3=s; } if(max2<max3) { s=max2; max2=max3; max3=s; } } class outMaxTest extends java.awt.Applet { public void paint(Graphics g) { Testt1=new Testt(); t1.sort(200,300); g.drawString("两个数的大小顺序为:"+ t1.max1+","+t1.max2,25,10); t1.sort(100.9f,200.9f,300.9f); g.drawString("三个数的大小顺序为:"+ t1.max1+","+t1.max2+","+t1.max3,25,30); } } 程序运行的结果如下: 两个数的大小顺序为:300,200 三个数的大小顺序为:300.9,200.9,100.9 在上面的代码中,类 Test 中定义了三个方法: Test()是一个无参的构造方法,它在创建对象之后紧接着对变量进行初始化。如果没有该 方法,在创建对象时将产生编译错误。因为类 Test 是直接超类。 两个 sort()是排序方法,它们是用参数的数目来区分的,这两个 sort()方法能对任 何数字类型的数据进行排序。当然,对多个数据进行排序最好用数组来实现。 1.12 this 1.12.1用 this 引用成员变量 例子:在构造方法中使用 this,this 代表当前对象的引用参考,并将参数值赋值到成员 变量 max1、max2 和 max3 中。 import java.awt.Graphics; class Test { double max1; double max2; double max3; Test(double i,double j) { this.max1=i; this.max2=j; this.max3=k; } } class Test1 extends java.awt.Applet { public void paint(Graphics g) { Test t = new Test(10,20,30); g.drawString(t.max1+","+t.max2+","+t.max3,25,30); } } 程序运行的结果如下: 10,20,30 1.12.2在构造方法中用 this 调用一般方法 例子:在构造方法中使用 this 调用 sort()方法。 import java.awt.Graphics; class Test { double max1,max2,max3; Test(double i,double j) { max1=i; max2=j; this.sort(i,j); //调用 sort 方法,将两个数排大小顺序。 } Test(double i,double j,double k) { max1=i; max2=j; max3=k; this.sort(i,j,k) //调用 sort 方法,将三个数排大小顺序。 } void sort(int i,double j) { double s; if(max1<max2) { s=max1; max1=max2; max2=s; } } void sort(double i,double j,double k) { double s; if(max1<max2) { s=max1; max1=max3; max2=s; } if(max1<max3) { s=max1; max1=max3; } max3=s; } } if(max2<max3) { s=max2; max2=max3; max3=s; } class ThisTest extends java.applet.Applet { public void paint(Graphics g) { Test t1 = newTest(10,100); g.drawString("两个数的大小顺序为:"+t1.max1+","t1.max2,25,10); Test t2 = new Test(100,10,1000); g.drawString("三个数的大小顺序为:"+t2.max1+","t2.max2+","+t2.max3,25,30); } } 程序运行的结果如下: 两个数的大小顺序为:100,10 三个数的大小顺序为:1000,100,10 1.12.3在方法中用 this 调用另外一个方法 例子:在上面的例子上加一个方法 mov(),在 mov()中引用 this 再调用 sort()方法。 import java.awt.Graphics; class Test { double max1,max2,max3; Test(double i,double j) { max1=i; max2=j; this.sort(i,j); //调用 sort 方法,将两个数排大小顺序。 } void sort(int i,double j) { double s; if(max1<max2) } { } s=max1; max1=max2; max2=s; } void mov(double i,double j) { max1=i; max2=j; this.sort(i,j); } class ThisTest extends java.applet.Applet { public void paint(Graphics g) { Test t1 = newTest(10,100); t1.mov(20,200); g.drawString("两个数的大小顺序为:"+t1.max1+","t1.max2,25,10); } } 程序运行的结果如下: 两个数的大小顺序为:200,20 注意:再初始化之后,变量 max1 和 max2 的值分别为 10 和 100,当调用 mov()之后, 其值为 20 和 200。 1.13 类的继承 继承是面向对象程序设计的重要概念之一。在 java 中,被继承类称为超类,继承称为 子类。通过继承可使子类继承超类的特征和功能。其基本规则如下: (1) 子类可继承其超类的代码和数据,即在子类中可以直接执行超类的方法和访问超类 的数据。 (2) 在子类中可以增加超类中没有的变量和方法。 (3) 在子类中可以重新定义超类中已有的变量(包括实例变量和类变量)。变量的重新 定义被称为变量的隐藏,也就是说,在子类中允许定义与超类同名的变量。 (4) 在子类中可以重载超类中已有的方法(包括构造方法、实例方法和类方法)。 (5) 在子类的构造方法中,可以通过 super()方法将超类的变量初始化。 (6) 当超类为抽象类时,子类可继承超类中的抽象方法,并在子类中去实现该方法的细 节。 1.13.1 创建子类 实现继承要用 extends 关键词,其格式如下: 子类名 extends 超类名 (1) 继承超类的方法和变量 例子:给定三个数,将它们按大到小的顺序输出。在下面的程序中,子类 Test1 继承超类 Test 的全部代码和变量。在子类的方法中,调用超类的方法 sort()和更 新数据。 import java.awt.Graphics; class Test { double max1,max2,max3; Test() { max1=-1 max2=-1; max3=-1; } void sort() { double s; if(max1<max2) { s=max1; max1=max2; max2=s; } if(max1<max3) { s=max1; max1=max3; max3=s; } if(max2<max3) { s=max2; max2=max3; max3=s; } } } class Test1 extends Test { void subsort(double i,doublej,double k) { max=i; max2=j; max3=k; sort(); //调用超类 Test 中的方法 sort() } } class SortTest extends java.applet.Applet { public void paint(Graphics g) { Test1t1 =new Test1(); t1.subsort(100,.300,200); g.drawString("三个数的大小顺序为:"+t1.max1+","t1.max2+","+t1.max3,25,30); } } 程序运行的结果如下: 三个数的大小顺序为:300,200,100 (2) 隐藏实例变量和类变量 在子类中,若定义了与超类同名的变量,则只有子类中的变量有效,而超类中 的变量无效。 例:数据求和。 import java.awt.Graphics; class Test { double sum,num1,num2; static int num3; Test() { num1=0; num2=0; num3=0; sum=0; } } class Test1 extendsTest { int sum,num1,num2; //隐藏超类 Test 中的实例变量 static int num3; //隐藏超类 Test 中的类变量 } void sum(int i,int j,int k) { num1=i; num2=j; num3=k; sum=num1+num2+num3; } class SumTest extends java.awt.Applet { public void paint(Graphics g) { Test1t1 =new Test1(); t1.sum(100,200,300); g.drawString("sum="+ t1.num1+"+"+t1.num2+"+"+t1.num+"="+t1.sum,25,30); } } 程序运行的结果如下: sum=100+200+300+=600 (3)访问权限 尽管子类可以继承超类的所有成员,但子类不能继承超类中的私有变量和方法,而只能 继承如下变量和方法。 .超类中定义为公有的、私有保护的或保护的成员变量和方法可被子类访问。 .同一个包中的超类的友好变量和方法可被子类访问。 (4)用继承的方法来扩充超类的功能 如果子类只继承超类的代码和数据是没有多大意义的,对继承来说,其真正的目的是想 通过子类来扩充超来的功能,只有这样,才能有效发挥继承的作用。 例:从超类 Box 中只计算"盒子"的体积,但在子类 SubBox 中不仅只计算"盒子"的 体积,而且还能求得它重量。 import java.awt.Graphics; class Box { double width; double height; double depth; Box(double w,double h,double d) { width=w; height=h; } Box() { depth=d; } width=-1; height=-1; depth=-1; } double volume() { return width*height*depth; } class SubBox extends Box { double weight; SubBox(double w,double h,double d,double m) { width=w; height=h; depth=d; weight=m; } } class Test extends java.awt.Applet { public void paint(Graphics g) { double d_volume; Box box1=new Box(10,20,30); d_volume=box1.volume(); //计算 box1 的体积 } } g.drawString("box1 的体积是:"+d_volume,25,50); SubBox subBox = new SubBox(15,15,20,40); d_volume= subBox.volume(); g.drawString("subBox 的体积是:"+d_volume,25,75); g.drawString("subBox 的体积是:"+subBox.weight,25,90); 程序运行的结果如下: box1 的体积是:6000; subBox 的体积是:4500 subBox 的重量是:40 1.13.2 重载超类的方法 要使多态性在程序中设计运用成功,不仅要求超类给子类提供可直接使用的元素,更重要的 是在类层次结构中具有一致的接口,使子类在超类的基础上扩充超类的功能。 例:超类 Test 中方法 sort()实现对 n 个整个升序排列,子类 Test1 中的 sort()实现对 n 个整数 按降序排列。 import java.awt.Graphics; class Test { int Test() { i=j=k=swap=0; } void sort(int t1,int t2[ ]) //用选择法按升序排列 { for(int i=0;i<t1-1;i++) { k=i; for(i=0;i<t1-1;j++) { if(t2[j]<t2[k]) { k=j; } if(k!=i) { swap=t2[i]; t2[i]=t2[k]; t2[k]=swap; } } } } } class Test1 extends Test { void sort(i=0;i<t1-1;i++)//重载超类中的方法 sort(),用选择法按降序排列 { for(int i=0;i<t1-1;i++) { k=i; for(i=0;it2[k]) { k=j; } if(k!=i) { swap=t2[i]; t2[i] =t2[k] t2[k]=swap; } } } } } class SortTest extends java.awt.Applet { public void paint(Graphics g) { int a[]={34,12,8,67,88,23,98,101,119,56}; g.drawString("排序前的数据为:",20,10); for(int i=0;i<10;i++) { g.drawString(""+a[i],20+i*30,30); } Test t1=new Test(); t1.sort(a.lenght,a); //调用 Test 类的方法 g.drawString("按升序排列的数据为:",20,50); for(int i=0;i<10;i++) { } g.drawString(""+a[i],20+i*30,70); } } Test1 t2=new Test2(); t2.sort(a.lenght,a); g.drawString("按降序排列的数据为:",20,90); for(int i=0;i<10;i++) { g.drawString(""+a[i],20+i*30,110); } 程序运行的结果如下: 排序前的数据为: 34 12 8 67 88 23 98 101 119 56 按升序排列的数据为: 8 12 23 34 56 67 88 98 101 119 按降序排列的数据为: 119 101 98 67 56 34 23 12 8 1.13.3 super super 是一个方法,其格式为: super(parameter-list) 其中,parameter-list 是参数列表。super()的作用是调用超类的构造方法。降超类中的变量初 始化。super()总是用于子类的构造方法中,而且在子类的构造方法中最先执行 super().因此, 只有 parameter-list 与超类的构造方法中的参数相匹配,才能有效调用超类的构造方法去实现 对超类的变量初始化。同时,在子类中也减少了初始化编码的重复工作。 super()的用法请见下面的例子: 例:在下面的例子里,将子类的构造方法中的赋初值改用 super()方法来完成 import java.awt.Graphics; class Box { double width; double height; double depth; Box(double w,double h,double d) { width=w; height=h; depth=d; } Box() { } width=-1; height=-1; depth=-1; } double volume() { return width* height* depth; } class SubBox extends Box { double weight; SubBox(double w,double h,double d,double m) { super(w,h,d); weight=m; } } class BoxTest extends java.awt.Applet { public void paint(Graphics g) { double d_volume; Box box1=new Box(10,20,30); d_volume=box1.volume(); //计算 box1 的体积 } } g.drawString("box1 的体积是:"+d_volume,25,50); SubBox subBox = new SubBox(15,15,20,40); d_volume= subBox.volume(); //计算 subBox 的体积 g.drawString("subBox 的体积是:"+d_volume,25,75); g.drawString("subBox 的体积是:"+subBox.weight,25,90); 程序运行的结果如下: box1 的体积是:6000; subBox 的体积是:4500 subBox 的重量是:40 但要注意的是: (1) super(w,h,d)用于子类的构造方法 SubBox()中。 (2) super(w,h,d)中的参数应与超类的构造方法参数相匹配,即参数个数及类型 一样。 1.13.4 abstract 当要求将一个超类定义为抽象类时,前面加关键字 abstact。其格式如下: abstract 类型 类名{} abstract 的作用是说明该类是一种抽象结构。抽象结构的类包含了一些抽象的方法,而这些 抽象方法只有方法的形式,即方法体是空的,方法体的细节由子类去实现。抽象方法的定义 也由关键字 abstract 来说明,其格式为: abstract 类型 方法名{parameter-list}; { 其中,parameter-list 是参数列表。因此,整个抽象类的结构如下形式: 成员变量 1; 。。。。。 构造方法 。。。。。。 abstract 类型 方法名(parameter-list); } 抽象类的定义也是多态的一种体现。因为多态性具有子类重载超类中的方法的特性,而在超 类中只限定子类重载规定的方法,但这些方法的细节必须由子类来完成。所有,常把这样的 类作为抽象类。 抽象类不能直接用 new 运算符实例化一个对象。抽象方法只能是实例化方法,它不包括子 类对象。 例:在抽象类 Test 中,定义一个抽象方法 sort(),并在子类 Test1,Test2 中,分别去实现超类中 的抽象方法 sort()的细节,从而分别完成对 n 个整数的降序、升序的排列。 import java.awt.Graphics; abstract class Test { int i,j,k,swap; Test() { i=j=k=swap=0; } abstract void sort(int t1,int[] t2); //定义一个抽象的方法。 } class Test1 extends Test { void sort(int t1,int t2[ ]) //重载超类的方法 sort(),用选择法按降序排列 { for(int i=0;i<t1-1;i++) { k=i; } } for(i=0;it2[k]) { k=j; } if(k!=i) { swap=t2[i]; t2[i]=t2[k]; t2[k]=swap; } } class Test2 extends Test { void sort(int t1,int t2[ ]) //重载超类的方法 sort(),用选择法按升序排列 { for(int i=0;i<t1-1;i++) { k=i; for(i=0;i<t1-1;j++) { if(t2[j]<t2[k]) { k=j; } if(k!=i) { swap=t2[i]; t2[i]=t2[k]; t2[k]=swap; } } } } class SortTest extends java.awt.Applet } { public void paint(Graphics g) { int a[]={34,12,8,67,88,23,98,101,119,56}; //Test k=new Test(); 此句是非法的,不能创建实例对象。 Test1 k1=new Test1(); k1.sort(a.length,a); g.drawString("按降序排列的数据为",20,10); for(int i=0;i<10;i++) { g.drawString(""+a[i],20+i*30,30); } Test2 t2=new Test2(); t2.sort(a.lenght,a); g.drawString("按升序排列的数据为:",20,50); for(int i=0;i<10;i++) { g.drawString(""+a[i],20+i*30,70); } 程序运行的结果如下: 按降序排列的数据为: 119 101 98 67 56 34 23 12 8 按升序排列的数据为: 8 12 23 34 56 67 88 98 101 119 通过本例可以发现抽象类的好处:从一个抽象类可以派生出多个子类,而且在各个子类中允 许对同一个抽象方法产生不同的方法体。 1.13.5 final final 有三个用途:其一,可以用于创建与常量一样的变量,其二,另外 2 个用途就是防止 类被继承或方法被重载。 1. 最终类 Java 引入了最终类的概念,所谓最终类既是那些不能再有子类的类。说明最终类时可以 在最前面加上修饰符 final。 例:final class A { //.... } class B extends A //错误!不能从 A 类派生 { //....... } 注意:不能将一个抽象类说明为 final 类,因为抽象类必须要被派生类来实现它的抽象 方法。当一个类被说明为 final 类后,也相当于隐式的说明了它的所有方法为 final。 1.14 java 包,接口和异常 包是类的容器,用于保证类名空间的一致性。包以层次结构组织并可被明确地引入到一 个新类定义。 接口是方法的显示说明,利用接口可以完成没有具体实现的类。接口虽然与抽象类相似, 但它具有多继承能力。一个类可以有无数个接口,但是只能从一个父类派生。 异常是代码运行时出现地非正常状态。Java 的异常是一个出现在代码中描述异常状态的 对象。每当一个异常情况出现,系统就创建一个异常对象,并转入到引进异常的方法中,方 法就根据不同的类型捕捉异常。为防止由于异常而引起的退出,在方法退出前应执行特定的 代码段。 1.14.1 包 1.14.1.1 package 语句 包是一种命名和可视控制的机制,用户可以把某些类定义在一个包 中,也可以对定义在这个包中的类施加访问权限,以限定包外或包 内的程序对其中的某些类进行访问。 定义包的格式: package pkg; Java 的文件系统将存储和管理这个包。例如:属于 pkg 包中的.class 文件将存储到目录 pkg。注意:目录与包的名字完全一样。 package 语句可以创建包的层次结构,通过使用逗号,把每个包分开。 多级包层次结构的一般格式为: package pkg1[.pkg2[.pkg3]] 包层次结构必须反映 Java 开发系统的文件系统。比如:pacakge java.awt.Image; 1.14.1.2 import 语句 import 语句的功能是引入包或包中的类。它们必须位于 package 语 句与这个文件的类或接口之间。 格式:import pkg1[.pkg2.(classname|*)] 这里,pkg1 是顶层包名,pkg2 是下一层包名,其间用点隔开。除了 对文件系统的限制外,对包的层次深度没有限制。最后以一个显示 方式指定一个类名 classname 或*号,星号*指示 Java 编译器应该引入 整个包。 例子: import java.awt.Image; import java.lang.*; 1.14.2 接口 1.14.2.1 接口的概念 接口与类存在着本质的差别,类有它的成员变量和方法,而接口只有 常量和方法协议,从概念来讲,接口是一组方法协议和常量的集合。 接口在方法协议与方法体实体之间只起到一种称之为界面的作用,这 种界面限定了方法实体中的参数类型一定要与方法协议中所规定的 参数类型保持一致,除此以外,这种界面还限定了方法名、参数个数 及方法返回类型的一致性。因此,在使用接口时,类与接口之间并不 存在子类与父类的那种继承关系,在实现接口所规定的某些操作时只 存在类中的方法与接口之间保持一致的关系,而且一个类可以和多个 接口之间保持这种关系,即一个类可以实现多个接口。 1.14.2.2 接口的定义 格式: access interface name { return method-name(parameter-list); type final-varname=value; } 其中,access 是访问修饰符。它只有 public 和未指定访问修饰符 两种情况。当未指定访问修饰符时,该接口只能为同一个包中的 其他成员所用;当 public 修饰符说明时,该接口可以被其他任何 代码使用。name 是接口的名字,可以是任何有效的标识符。接 口体包括方法协议和常量,它们都用分号结束。在接口中定义的 常量必须用变量名标识。他们隐式为 final 和 static,不能被实现 类所改变。 例:interface Back { void c_back(int param); int SOON=4; } 该接口定义了一个方法协议,其参数为整数类型;还定义了一整 数常量,其变量名为 SOON。该接口只能为同一个包中其他成员 所用。 1.14.2.3 接口的实现 一旦接口被定义,类就可以实现它。在类的定义中可以使用关键 字 implements 实现接口,然后在类中创建接口中所定义的方法, implements 关键字的类的格式: access class classname[extends superclass] [implements interfacename[,interface...]] { } ..... 例子:定义两个接口,其方法协议分别完成两个数的加法和减法 操作,然后分别实现这两个接口的方法。 import java.awt.Graphics; interface Demo_Add { public int add(int x,int y); } interface Demo_Sub { public int sub(int x,int y); } class Demo_Add_Sub implements Demo_Add, Demo_Sub { public int add(int x,int y) { return i+y; } public int sub(int x,int y) { return x-y; } } public class Add_Sub extends java.awt.Applet { public void paint(Graphics g) { Demo_Add_Sub k=new Demo_Add_Sub(); g.drawString("x+y="+k.add(30,10),30,30); g.drawString("x-y=" + k.sub(30,10),30,50); } } 程序运行结果如下: x+y=40; x-y=20; 1.14.2.4 接口的继承 一个接口可以继承其他接口,这可通过关键字 extends 来实现,其语 法与类的继承相同。当一个类实现一个派生接口时,必须实现所有 接口及其派生接口中所定义的全部方法协议。 例:定义 5 个接口,其中两个超接口。 import java.awt.Graphics; //定义接口 Test_C interface Test_C { public int add(int x,int y); } interface Test_B extends Test_C { public int sub(int x,int y); } interface Test_A extends Test_B { public int mul(int x,int y); } //定义接口 Test_Y interface Test_Y { public int div (int x,int y); } interface Test_X extends Test_Y { public int mod (int x,int y); } //定义类 Test class Test implements Test_A ,Test_X { public int add(int x,int y) { return x+y; } public int sub(int x,int y) { } return x-y; } public int mul(int x,int y) { return x*y; } public int div (int x,int y) { return x/y; } public int mod (int x,int y) { return x%y; } public class Add_Mod extends java.awt.Applet { public void paint(Graphics g) { Test k =new Test(); g.drawString("x+y="+k.add(66,10),30,10); g.drawString("x-y="+k.sub(66,10),30,10); g.drawString("x*y="+k.mul(66,10),30,10); g.drawString("x/y="+k.div(66,10),30,10); g.drawString("x%y="+k.mod(66,10),30,10); } } 程序运行结果如下; x+y=76 x-y=56 x*y=660 x/y=6 x%y=6 注意:在类中实现一个接口时,任何类都必须实现该接口或接口树的所有方法。 1.14.3 异常处理 所谓异常就是代码在运行时发生的非正常状态。Java 的异常是一个出现在代码中描 述异常状态的对象。每当出现一个异常情况,就创建一个异常对象,并向导致错误 的方法中抛出该对象。该方法捕捉到异常对象之后,可以选择用来处理该异常或不 管它。异常通常由 Java 运行系统产生,或者由用户的程序代码产生。Java 抛出的异 常大多是用户违背了 Java 语言的基本规则,或者超出了 Java 执行环境的约束。 1.14.4 异常处理机制 Java 通过 5 个关键字 try、catch、throw、throws 和 finally 管理异常处理。 try 用来监视它所在的那个程序块是否发生异常,如果发生异常就抛出它。对于系统 产生的异常或程序块中未用 try 监视所产生的异常,将一律被 Java 运行系统自动抛 出。 catch 用来捕捉 try 程序所抛出的异常,将一律被 Java 运行系统自动抛出。 throw 可以用以人工地抛出一个异常 throws 用于从一个方法中抛出一个异常。 finally 用于调用缺省异常处理。 下面是异常处理地一般形式: try { //有可能会出错地代码块,被 try 监视。 } catch(ExceptionType1 ex) { //关于 ExceptionType1 的异常处理 } catch(ExceptionType2 ex) { //关于 ExceptionType2 的异常处理 } //...... finally { //在 try 块结束前被执行的代码块。 } 1.2 常用类 System 类 全称:java.lang.System 扩展:Object 描述:公有最终类。此类与 Runtime 一起可以访问许多有用的系统功能。有一些方法在 两个类中都出现。exit()、gc()、load()和 loadLibrary()可以通过调用 Runtime 中的同名方 法来响应。特别有用的是类变量 err、in 和 out,它们可以访问基本控制台 I/O。System 类完全由类域组成,这些类域可以通过"System.变量名"和"System.方法()"的方法 进行访问。此类不能被实例化。 实例变量: public static PrintStream err; public static InputStream in; public static PrintStream out; 每个变量对整个程序而言都是唯一的对象变量。这些对象可以访问系统的输入、输出和 错误输出。 常用类方法: void exit(int status) 导致 Java 程序退出,向系统传递指定的状态代码。 void gc() 请求立即激活垃圾收集器开始清除不再使用的对象。 String getProperty(String key) String getProperty(String key,String def) 在系统属性表中查找的一个属性。如果未发现属性,而且在 getProperty()方法中指定了 参数 def,那么返回 def。 SwingUtil.ities 类 全称:javax.swing.SwingUtilities 扩展:Object 描述:公用类。此类中包含了一组在 Swing 工具包中使用的帮助器方法 常用类方法: void paintComponent(Graphics g,Component c,Container p,int x,int y,int w,int h); void paintComponent(Graphics g,Component c,Container p,Rectangle r); void invokeLate(Runnable doRun); boolean isEventDispatchThread(); Component getRoot(Component c); JRootPane getRootPane(Component c);

2009-04-28

MySQL 参考手册

1 MySQL的一般的信息 1.1 什么是MySQL? 1.2 关于本手册 1.2.1 本手册中使用的约定 1.3 MySQL的历史 1.4 MySQL的主要特征 1.5 MySQL稳定性? 1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 2 MySQL 邮件列表及如何提问或报告错误 2.1 MySQL邮件列表 2.2 提问或报告错误 2.3 怎样报告错误或问题 2.4 在邮件列表上回答问题的指南 3 MySQL的许可证和技术支持 3.1 MySQL的许可证政策 3.2 MySQL 使用的版权 3.2.1 可能的未来版权改变 3.3 MySQL商业性分发 3.4 许可证实例 3.4.1 销售使用 MySQL的产品 3.4.2 销售MySQL相关的服务 3.4.3 ISP MySQL服务 3.4.4 运营一个使用MySQL的Web服务器 3.5 MySQL的许可证和技术支持费用 3.5.1 付款信息 3.5.2 联系信息 3.6 商业性支持的类型 3.6.1 基本的电子邮件支持 3.6.2 扩展的电子邮件支持 3.6.3 登录支持 3.6.4 扩展的登录支持 4 安装 MySQL 4.1 怎样获得MySQL 4.2 MySQL支持的操作系统 4.3 使用MySQL哪个版本 4.4 怎样和何时发布更新版本 4.5 安装布局 4.6 安装MySQL二进制代码分发 4.6.1 Linux RPM注意事项 4.6.2 构造客户程序 4.6.3 系统特定的问题 4.6.3.1 Linux 注意事项 4.6.3.2 HP-UX 注意事项 4.7 安装 MySQL源代码分发 4.7.1 快速安装概述 4.7.2 运用补丁 4.7.3 典型的configure选项 4.8 编译问题? 4.9 MIT-pthreads 注意事项 4.10 Perl 安装说明 4.10.1 在Unix操作系统上安装 Perl 4.10.2 在 Win32上安装 ActiveState Perl 4.10.3 在 Win32 上安装 MySQL Perl 分发 4.10.4 使用 Perl DBI/DBD接口遇到的问题 4.11 系统特定的问题 4.11.1 Solaris注意事项 4.11.2 Solaris 2.7 注意事项 4.11.3 Solaris x86 注意事项 4.11.4 SunOS 4 注意事项 4.11.5 Linux (所有的Linux版本)注意事项 4.11.5.1 Linux-x86 注意事项 4.11.5.2 RedHat 5.0 注意事项 4.11.5.3 RedHat 5.1 注意事项 4.11.5.4 Linux-SPARC 注意事项 4.11.5.5 Linux-Alpha 注意事项 4.11.5.6 MkLinux 注意事项 4.11.5.7 Qube2 Linux 注意事项 4.11.6 Alpha-DEC-Unix 注意事项 4.11.7 Alpha-DEC-OSF1 注意事项 4.11.8 SGI-Irix 注意事项 4.11.9 FreeBSD 注意事项 4.11.10 NetBSD 注意事项 4.11.11 BSD/OS 注意事项 4.11.11.1 BSD/OS 2.x 注意事项 4.11.11.2 BSD/OS 3.x 注意事项 4.11.11.3 BSD/OS 4.x 注意事项 4.11.12 SCO 注意事项 4.11.13 SCO Unixware 7.0 注意事项 4.11.14 IBM-AIX 注意事项 4.11.15 HP-UX 注意事项 4.12 Win32 注意事项 4.12.1 在 Win32 上安装 MySQL 4.12.2 在 Win95 /Win98上启动 MySQL 4.12.3 在 NT 上启动 MySQL 4.12.4 在 Win32 上运行 MySQL 4.12.5 用 SSH 从 Win32 连接一个远程MySQL 4.12.6 MySQL-Win32与Unix MySQL 比较 4.13 OS/2 注意事项 4.14 TcX 二进制代码 4.15 安装后期(post-installation)的设置与测试 4.15.1 运行mysql_install_db 的问题 4.15.2 启动 MySQL 服务器的问题 4.15.3 自动启动和停止 MySQL 4.15.4 选项文件 4.16 升级和降级(downgrading)时有什么特别要做的事情吗? 4.16.1 从一个 3.22 版本升级到 3.23 4.16.2 从一个 3.21 版本升级到 3.22 4.16.3 从一个 3.20 版本升级到 3.21 4.16.4 升级到其他的体系结构 5 MySQL 与标准的兼容性? 5.1 MySQL对ANSI SQL92 的扩充 5.2 以ANSI模式运行 MySQL 5.3 MySQL相比ANSI SQL92的差别 5.4 MySQL 缺乏的功能 5.4.1 子选择(Sub-selects) 5.4.2 SELECT INTO TABLE 5.4.3 事务(Transactions) 5.4.4 存储过程和触发器 5.4.5 外键(Foreign Keys) 5.4.5.1 不使用外键的理由 5.4.6 视图(Views) 5.4.7 '--'作为一个 注解的开始 5.5 MySQL 遵循什么标准? 5.6 怎样处理没有提交/回卷(COMMIT / ROLLBACK) 6 MySQL 存取权限系统 6.1 权限系统做什么 6.2 MySQL用户名和口令 6.3 与MySQL服务器连接 6.4 使你的口令安全 6.5 MySQL 提供的权限 6.6 权限系统工作原理 6.7 存取控制,阶段1:连接证实 6.8 存取控制,阶段2:请求证实 6.9 权限更改何时生效 6.10 建立初始的 MySQL权限 6.11 向MySQL增加新用户权限 6.12 怎样设置口令 6.13 存取拒绝(Access Denied)错误的原因 6.14 怎样使MySQL安全以对抗解密高手(cracker) 7 MySQL 语言参考 7.1 文字:怎样写字符串和数字 7.1.1 字符串 7.1.2 数字 7.1.3 十六进制值 7.1.4 NULL值 7.1.5 数据库,表,索引,列和别名的命名 7.1.5.1 名字的大小写敏感性 7.2 用户变量 7.3 列类型 7.3.1 列类型的存储要求 7.3.5 数字类型 7.3.6 日期和时间类型 7.3.6.1 问题和日期类型 7.3.6.2 DATETIME,DATE和TIMESTAMP类型 7.3.6.3 TIME类型 7.3.6.4 YEAR类型 7.3.7 字符串类型 7.3.7.1 CHAR和VARCHAR类型 7.3.7.2 BLOB和TEXT类型 7.3.7.3 ENUM类型 7.3.7.4 SET类型 7.3.8 为列选择正确的类型 7.3.9 列索引 7.3.10 多列索引 7.3.11 使用来自其他数据库引擎的列类型 7.4 用在SELECT和WHERE子句的函数 7.4.1 分组函数 7.4.2 常用的算术运算 7.4.3 位函数 7.4.4 逻辑运算 7.4.5 比较运算符 7.4.6 字符串比较函数 7.4.7 类型转换运算符 7.4.8 控制流函数 7.4.9 数学函数 7.4.10 字符串函数 7.4.11 日期和时间函数 7.4.12 其他函数 7.4.13 与GROUP BY子句一起使用的函数 7.5 CREATE DATABASE (创建数据库)句法 7.6 DROP DATABASE (抛弃数据库)句法 7.7 CREATE TABLE (创建表)句法 7.7.1 隐含(silent)的列指定变化 7.8 ALTER TABLE (改变表)句法 7.9 OPTIMIZE TABLE (优化表) 句法 7.10 DROP TABLE (抛弃表)句法 7.11 DELETE (删除)句法 7.12 SELECT (精选)句法 7.13 JOIN (联接)句法 7.14 INSERT (插入)句法 7.15 REPLACE (替换)句法 7.16 LOAD DATA INFILE (装载数据到文件)句法 7.17 UPDATE (更新)句法 7.18 USE (使用)句法 7.19 FLUSH (清除缓存)句法 7.20 KILL (杀灭)句法 7.21 SHOW (显示)句法(得到关于表,列等的信息) 7.22 EXPLAIN (解释)句法(得到关于SELECT的信息) 7.23 DESCRIBE (描述)句法(得到列的信息) 7.24 LOCK TABLES/UNLOCK TABLES (锁定表/解锁表)句法 7.25 SET OPTION (设置选项)句法 7.26 GRANT (授权)和REVOKE (撤回)句法 7.27 CREATE INDEX (创建索引)句法 7.28 DROP INDEX (抛弃索引)句法 7.29 注释句法 7.30 CREATE FUNCTION/DROP FUNCTION (创建函数/抛弃函数)句法 7.31 MySQL对保留字很挑剔吗? 8 MySQL 教程 8.1 联接和断开服务器 8.2 输入查询 8.3 常用查询的例子 8.3.1 列的最大值 8.3.2 拥有某个列的最大值的行 8.3.3 列的最大值:按组:只有值 8.3.4 拥有某个字段的组间最大值的行 8.3.5 使用外键 8.4 创建并使用一个数据库 8.4.1 创建并选用一个数据库 8.4.2 创建一个数据库表 8.4.3 将数据装入数据库表 8.4.4 从一个数据库表检索信息 8.4.4.1 选择所有数据 8.4.4.2 选择特定行 8.4.4.3 选择特定列 8.4.4.4 排序行 8.4.4.5 日期计算 8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 以批处理模式使用mysql 8.7 从"双胞项目"中查询 8.7.1 找出所有非独处的双胞胎 8.7.2 显示关于双胞胎近况的表 9 MySQL 服务器功能 9.1 MySQL 支持哪些语言? 9.1.1 用于数据和排序的字符集 9.1.2 增加一个新的字符集 9.1.3 多字节字符支持 9.2 更新日志 9.3 MySQL数据库表可以有多大? 9.4 MySQL数据库表类型 10 从 MySQL 得到最大的性能 10.1 优化概述 10.2 系统/编译时和启动参数的调节 10.2.1 编译和链接如何影响 MySQL 的速度 10.2.2 磁盘问题 10.2.2.1 为数据库和表格使用符号链接 10.2.3 调节服务器参数 10.2.4 MySQL 怎样打开和关闭数据库表 10.2.5 在同一个数据库中创建大量数据库表的缺点 10.2.6 为什么有这么多打开的表? 10.2.7 MySQL 怎样使用内存 10.2.8 MySQL 怎样锁定数据库表 10.2.9 数据库表级锁定的问题 10.3 使你的数据尽可能小 10.4 MySQL 索引的使用 10.5 存取或更新数据的查询速度 10.5.1 估计查询性能 10.5.2 SELECT 查询的速度 10.5.3 MySQL 怎样优化WHERE子句 10.5.4 MySQL 怎样优化LEFT JOIN 10.5.5 MySQL 怎样优化LIMIT 10.5.6 INSERT查询的速度 10.5.7 UPDATE查询的速度 10.5.8 DELETE查询的速度 10.6 选择一种表类型 10.6.1 静态(定长)表的特点 10.6.2 动态表的特点 10.6.3 压缩表的特点 10.6.4 内存(In-memory table)表的特点 10.7 其他优化技巧 10.8 使用你自己的基准测试 10.9 设计选择 10.10 MySQL 设计局限/折衷 10.11 可移植性 10.12 我们已将MySQL用在何处? 11 MySQL 基准套件 12 MySQL 实用程序 12.1 各种 MySQL 程序概述 12.2 管理一个 MySQL 服务器 12.3 从 MySQL 数据库和表中倒出(dump)结构和数据 12.4 从文本文件导入数据 12.5 MySQL 压缩只读表生成器 13 维护 MySQL 安装 13.1 使用myisamchk进行表维护和崩溃恢复 13.1.1 myisamchk的调用语法 13.1.2 myisamchk的内存使用 13.2 13.2 建立一个数据库表维护规范 13.3 获得关于一个表的信息 13.4 使用myisamchk进行崩溃恢复 13.4.1 怎样检查表的出错 13.4.2 怎样修复表 13.4.3 表优化 13.5 日志文件维护 14 为MySQL增加新函数 14.1 增加一个新的用户定义函数 14.1.1 UDF调用顺序 14.1.2 参数处理 14.1.3 返回值和出错处理 14.1.4 编译并安装用户定义函数 14.2 增加一个新的原生(native)函数 15 为MySQL增加新过程 15.1 analyse过程 15.2 编写一个过程 16 MySQL对 ODBC 支持 16.1 MyODBC 支持的操作系统 16.2 怎样报告 MyODBC的问题 16.3 已知可用 MyODBC一起工作的程序 16.4 怎样填写 ODBC 管理程序的各种域 16.5 怎样在ODBC中获得一个AUTO_INCREMENT列的值 16.6 报告 MyODBC 的问题 17 与一些常用程序一起使用MySQL 17.1 与 Apache一起使用 MySQL 18 问题和常见的错误 18.1 如果 MySQL总是崩溃怎么办 18.2 使用 MySQL 时一些常见错误 18.2.1 MySQL server has gone away错误 18.2.2 Can't connect to [local] MySQL server错误 18.2.3 Host '...' is blocked错误 18.2.4 Out of memory错误 18.2.5 Packet too large错误 18.2.6 The table is full错误 18.2.7 Commands out of sync in client错误 18.2.8 Ignoring user错误 18.2.9 Table 'xxx' doesn't exist错误 18.3 MySQL 怎样处理一个溢出的磁盘 18.4 怎样从一个文本文件运行SQL命令 18.5 MySQL 在哪儿存储临时文件 18.6 怎样保护"/tmp/mysql.sock"不被删除 18.7 Access denied 出错 18.8 怎样作为一个一般用户运行 MySQL 18.9 怎样重新设置一个忘记的口令 18.10 文件许可权限问题 18.11 文件没找到 18.12 使用DATE列的问题 18.13 时区问题 18.14 在搜索中的大小写敏感性 18.15 NULL值问题 18.16 alias问题 18.17 从相关的表中删除行 18.18 解决没有匹配行的问题 18.19 ALTER TABLE问题 18.20 怎样改变一个表中列的次序 19 解决MySQL 一些常见的问题 19.1 数据库复制 19.2 数据库备份 19.3 在同一台机器上运行多个 MySQL 服务器 20 MySQL 客户工具和 API 20.1 MySQL C API 20.2 C API数据类型 20.3 C API函数概述 20.4 C API函数描述 20.4.1 mysql_affected_rows () 20.4.2 mysql_close () 20.4.3 mysql_connect () 20.4.4 mysql_change_user () 20.4.5 mysql_create_db () 20.4.6 mysql_data_seek () 20.4.7 mysql_debug () 20.4.8 mysql_drop_db () 20.4.9 mysql_dump_debug_info () 20.4.10 mysql_eof () 20.4.11 mysql_errno () 20.4.12 mysql_error () 20.4.13 mysql_escape_string () 20.4.14 mysql_fetch_field () 20.4.15 mysql_fetch_fields () 20.4.16 mysql_fetch_field_direct () 20.4.17 mysql_fetch_lengths () 20.4.18 mysql_fetch_row () 20.4.19 mysql_field_count () 20.4.20 mysql_field_seek () 20.4.21 mysql_field_tell () 20.4.22 mysql_free_result () 20.4.23 mysql_get_client_info () 20.4.24 mysql_get_host_info () 20.4.25 mysql_get_proto_info () 20.4.26 mysql_get_server_info () 20.4.27 mysql_info () 20.4.28 mysql_init () 20.4.29 mysql_insert_id () 20.4.30 mysql_kill () 20.4.31 mysql_list_dbs () 20.4.32 mysql_list_fields () 20.4.33 mysql_list_processes () 20.4.34 mysql_list_tables () 20.4.35 mysql_num_fields () 20.4.36 mysql_num_rows () 20.4.37 mysql_options () 20.4.38 mysql_ping () 20.4.39 mysql_query () 20.4.40 mysql_real_connect () 20.4.41 mysql_real_query () 20.4.42 mysql_reload () 20.4.43 mysql_row_seek () 20.4.44 mysql_row_tell () 20.4.45 mysql_select_db () 20.4.46 mysql_shutdown () 20.4.47 mysql_stat () 20.4.48 mysql_store_result () 20.4.49 mysql_thread_id () 20.4.50 mysql_use_result () 20.4.51 为什么在mysql_query()返回成功后mysql_store_result()有时返回NULL? 20.4.52 我能从查询得到什么结果? 20.4.53 我怎样才能获得最后插入的行的唯一ID? 20.4.54 链接 C API的问题 20.4.55 怎样制作一个线程安全(thread-safe)的客户 20.5 MySQL Perl API 20.5.1 DBI与DBD::mysql 20.5.2 DBI接口 20.5.3 更多的DBI/DBD信息 20.6 MySQL Eiffel 包装 20.7 MySQL Java 连接(JDBC) 20.8 MySQL PHP API 20.9 MySQL C++ API 20.10 MySQL Python API 20.11 MySQL TCL API 21 怎样对比MySQL与其他数据库 21.1 怎样对比MySQL和mSQL 21.1.1 怎样将mSQL工具转换到MySQL 21.1.2 mSQL和MySQL的 客户机/服务器通讯协议有何不同 21.1.3 mSQL 2.0 SQL句法与MySQL有何不同 21.2 怎样对比MySQL与PostgreSQL 上一页 回目录 下一页 0 译者序 MySQL中文参考手册译者:晏子 ([email protected])    MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。   MySQL有瑞典的T.c.X公司负责开发和维护,MySQL的用户手册很单纯,只有一个集中的<MySQL Reference Manual>,但其内容覆盖了MySQL的所有信息,因此该手册是了解和掌握MySQL的绝佳文献。   虽然对MySQL的开发不能出一份力,但可为它的推广使用尽一份心,面对500多页的参考手册,知道要精确译出它决非易事,但愿几个月的心血能为大家提供一丝微薄的帮助。   由于本人水平有限,文中肯定有不准确的地方,敬请在阅读过程中不吝指出。文中不明之处,请参阅手册原文。   本文的内容针对MySQL 3.23.7alpla,实际上很多内容是通用的。另外,参考手册的几个附录也是很有价值的,但由于时间有限,未能译出,可参见原文。   MySQL官方站点:http://www.mysql.com.

2009-03-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除