《2023年Java面试题及其答案.pdf》由会员分享,可在线阅读,更多相关《2023年Java面试题及其答案.pdf(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、J a v a 面试题及其答案(二).t x t l O有了执著,生命路程上的寂寞可以铺成一片蓝天;有了执著,孤单可以演绎成一排鸿雁;有了执著,欢乐可以绽放成满圆的鲜花。J a v a 面试题及其答案(二)1.C+或 J a v a 中的异常解决机制的简朴原理和应用。当 J A V A 程序违反了 J A V A 的语义规则时,J A V A 虚拟机就会将发生的错误表达为一个异常。违反语义规则涉及2种情况。一 种 是 J A V A 类库内置的语义检查。例如数组下标越界,会引发I n d ex Ou t Of B o u n d s E x c ep t i o n;访问 n u l l 的对
2、象时会引发 Nu l l P o i n t er E x c ep t i o n。另一种情况就是J A V A 允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用 t h r o w 关键字引发异常。所有的异常都是j a v a.l a n g.T h o w a b l e的子类。2.J a v a 的接口和C+的虚类的相同和不同处。由于J a v a 不支持多继承,而有也许某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足规定 与继承相比,接口有更高的灵活性,由于接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的
3、方法和属性,并且接口里面的属性在默认状态下面都是p u b l i c s t a t i c,所有方法默认情况下是p u b l i c.一个类可以实现多个接口。3.垃圾回收的优点和原理。并考虑2种回收机制。J a v a 语言中一个显著的特点就是引入了垃圾回收机制,使 C+程序员最头疼的内存管理的问题迎刃而解,它使得J a v a 程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,J a v a 中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低档别的线程运营,不可预知的情
4、况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。4 .请说出你所知道的线程同步的方法。wa it。:使一个线程处在等待状态,并且释放所持有的对象的lo c k。s le e p。:使一个正在运营的线程处在睡眠状态,是一个静态方法,调用此方法要捕获I n t e r r u p t e d E xc e p t io n 异常。n o t if y。:唤醒一个处在等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由J V M拟
5、定唤醒哪个线程,并且不是按优先级。A lln o t it yO:唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。5 .请讲一讲析构函数和虚函数的用法和作用。6 .E r r o r 与 E xc e p t io n 有什么区别?E r r o r 表达系统级的错误和程序不必解决的异常,E xc e p t io n 表达需要捕获或者需要程序进行解决的异常。7 .在 ja va 中一个类被声明为f in a l类型,表达了什么意思?表达该类不能被继承,是顶级类。8 .描述一下你最常用的编程风格。9 .he a p 和 s t a c k有什么区别。栈是一种线
6、形集合,其添加和删除元素的操作应在同一段完毕。栈按照后进先出的方式进行解决。堆是栈的一个组成元素1 0.假如系统要使用超大整数(超过lo n g长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算)。p u b lic c la s s B igln t()in t A r r O n e =n e w A r r 0 n e 1 0 0 0 ;S t r i n g i n t S t r i n g=,z;p u b l i c i n t A r r(S t r i n g s)i n t S t r i n g =s;f o r (i n t i=
7、0;i 0);/throws an Assertionerror if a s h o r tc h a r 或者 byte。long,string 都不能作用于 swtich。4 2,编程题:写一个Singleton出来。Singleton模式重要作用是保证在Java应用程序中,一个类C lass只有一个实例存在。一般Singleton模式通常有几种种形式:第一种形式:定义一个类,它的构造函数为p riv a te 的,它有一个s ta t ic 的 private的该类变量,在类初始化时实例话,通过一个public的 getlnstance方法获取对它的引用,继而调用其中的方法。publi
8、c class Singleton private Singleton()在自己内部定义自己一个实例,是不是很奇怪?注意这是p riv a te 只供内部调用private sta tic Singleton instance=new Singleton();这里提供了一个供外部访问本c la s s 的静态方法,可以直接访问public static Singleton getlnstance()return instance;第二种形式:p ub l i c c l a s s Si n g l e to n p r i v a te s ta ti c Si n g l e to n i
9、 n s ta n c e 二 n ul l;p ub l i c s ta ti c s y n c h r o n i z e d Si n g l e to n g e tl n s ta n c e()这个方法比上面有所改善,不用每次都进行生成对象,只是第一次使用时生成实例,提高了效率!i f (i n s ta n c e=n ul l)i n s ta n c e=n e w Si n g l e to n ();r e tur n i n s ta n c e;其他形式:定义一个类,它的构造函数为p r i v a te 的,所有方法为s ta ti c 的。一般认为第一种形式要
10、更加安全些Ha s h ta b l e 和 Ha s h M a pHa s h ta b l e 继承自 D i c ti o n a r y 类,而 Ha s h M a p 是 J a v a l.2 引进的 M a p i n te r f a c e 的 个实现Ha s h M a p 允许将n ul l 作为一个e n tr y 的 k e y 或者v a l ue,而 Ha s h ta b l e 不允许尚有就是,Ha s h M a p 把 Ha s h ta b l e 的 c o n ta i n s 方法去掉了,改成 c o n ta i n s v a l ue 和
11、c o n ta i n s K e y o 由于c o n ta i n s 方法容易让人引起误解。最大的不同是,Ha s h ta b l e 的方法是Sy n c h r o n i z e 的,而 Ha s h M a p 不是,在多个线程访问Ha s h ta b l e 时,不需要自己为它的方法实现同步,而 Ha s h M a p就必须为之提供外同步。Ha s h ta b l e 和 Ha s h M a p 采用的h a s h/r e h a s h 算法都大约同样,所以性能不会有很大的差异。4 3 .描述一下J VM 加载c l a ss文献的原理机制?4 4 .试举例说
12、明一个典型的垃圾回收算法?4 5 .请用j a v a 写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来.4 6.请写一个j a v a 程序实现线程连接池功能?4 7 .给定一个C语言函数,规定实现在j a v a 类中进行调用。4 8、编一段代码,实现在控制台输入一组数字后,排序后在控制台输出;4 9、列出某文献夹下的所有文献;5 0、调用系统命令实现删除文献的操作;51、实现从文献中一次读出一个字符的操作;52、列出一些控制流程的方法;53、多线程有哪些状态?54、编写了一个服务器端的程序实现在客户端输入字符然后在控制台上显示,直到输入“EN D”为止,让你写出客户端的程
13、序;55、作用域public,private,protected,以及不写时的区别答:区别如下:作用域当前类同一 package子 孙 类 其 他packagepublic /V V Vprotected V V V Xfriendly J J X Xprivate V X X X不写时默认为friendly56、ArrayList 和 Vector 的区别,HashMap 和 Hashtable 的区别答:就ArrayList与Vector重要从二方面来说.一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的二.数据增长:当需要增长时,Ve
14、ctor默认增长为本来一培,而ArrayList却是本来的一半就HashMap与HashTable重要从三方面来说。一.历史因素:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的三.值:只有HashMap可以让你将空值作为一个表的条目的key或value57、char型变量中能不能存贮一个中文汉字?为什么?答:是可以定义成为一个中文的,由于java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的58
15、、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口同步的实现方面有两种,分别是synchronized,wait与notify59、垃圾回收机制,如何优化程序?希望大家补上,谢谢60、float 型 float f=3.4 是否对的?答:不对的。精度不准确,应当用强制类型转换,如下所示:float f=(float)3.461、介绍JAVA中的Collection FrameWork(涉及如何写自己的数据结构)?答:C o l l e c t i o n F r a m e W o r k 如下:C o
16、l l e c t i o n卜 L i s t!p L i n k e d L i s t!卜 Ar r a y L i s t|LV e c t o r|LS t a c kLS e tMa p卜 H a s h t a b l eH H a s h Ma pLW e a k H a s h Ma pC o l l e c t i o n 是最基本的集合接口,一个C o l l e c t i o n 代表一组O b j e c t,即 C o l l e c t i o n 的元素(El e m e n t s)Ma p 提供k e y 到 v a l u e 的映射6 2、Ja v a
17、 中异常解决机制,事件机制?11、JAV A中的多形与继承?希望大家补上,谢谢6 3、抽象类与接口?答:抽象类与接口都用于抽象,但是抽象类(JAV A中)可以有自己的部分实现,而接口则完全是一个标记(同时有多重继承的功能)。编程题:1.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供r e s e t答 案(1)p u b l i c s t a t i c S t r i n gE s p l i t S t r i n gB y C o m m a(S t r i n g s o u r c e)i f(s o u r c e=n
18、u l l|s o u r c e,t r i m().e q u a l s()r e t u r n n u l l;S t r i n gT o k e n i z e r c o m m a T o k e r =n e w S t r i n gT o k e n i z e r(s o u r c e,;S t r i n g口 r e s u l t =n e w S t r i n g c o m m a T o k e r.c o u n t T o k e n s();i n t i=0;w h i l e(c o m m a T o k e r.h a s Mo r e
19、T o k e n s()r e s u l t i =c o m m a T o k e r.n e x t T o k e n O ;i+;)r e t u r n r e s u l t;循环遍历S t r i n g数组In t e ge r,p a r s e l n t (S t r i n g s)变成 i n t 类型组 成i n t数组Ar r a y s,s o r t(i n t a),a数组升序降序可以从尾部开始输出2.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(1 0 1 1)-(一千零一拾一元整)输出。3、继承时候类的执行顺序问题,一般都是选择题,问你将会打
20、印出什么?答:父类:p a c k a ge t e s t;p u b l i c c l a s s F a t h e r C l a s s(p u b l i c F a t h e r C l a s s 0(S y s t e m.o u t.p r i n t i n(F a t h e r C l a s s C r e a t e);)子类:p a c k a ge t e s t;i m p o r t t e s t.F a t h e r C l a s s;p u b l i c c l a s s C h i l d C l a s s e x t e n d s
21、 F a t h e r C l a s s(p u b l i c C h i l d C l a s s()(S y s t e m.o u t.p r i n t l n(,zC h i l d C l a s s C r e a t e);)p u b l i c s t a t i c v o i d m a i n(S t r i n g a r gs)F a t h e r C l a s s f c =n e w F a t h e r C l a s s();C h i l d C l a s s c c =n e w C h i l d C l a s s();输出结果:C
22、:j a v a t e s t.C h i l d C l a s sF a t h e r C l a s s C r e a t eF a t h e r C l a s s C r e a t eC h i l d C l a s s C r e a t e4、内部类的实现方式?答:示例代码如下:p a c k a ge t e s t;p u b l i c c l a s s O u t e r C l a s sp r i v a t e c l a s s In t e r C l a s sp u b l i c In t e r C l a s s 0(S y s t e
23、m,o u t.p r i n t i n (z,In t e r C l a s s C r e a t e);IIp u b l i c O u t e r C l a s s 0(In t e r C l a s s i c =n e w In t e r C l a s s 0;S y s t e m,o u t.p r i n t i n (z,O u t e r C l a s s C r e a t e);Ip u b l i c s t a t i c v o i d m a i n(S t r i n g a r gs)(O u t e r C l a s s o c =n
24、e w O u t e r C l a s s();!输出结果:C:j a v a t e s t/O u t e r C l a s sIn t e r C l a s s C r e a t eO u t e r C l a s s C r e a t e再一个例题:p u b l i c c l a s s O u t e r C l a s s p r i v a t e d o u b l e d l =1.0;/i n s e r t c o d e h e r eY o u n e e d t o i n s e r t a n i n n e r c l a s s d e c
25、 l a r a t i o n a t l i n e 3.W h i c h t w o i n n e r c l a s sd e c l a r a t i o n s a r ev a l i d?(C h o o s e t w o.)A.c l a s s In n e r O n e p u b l i c s t a t i c d o u b l e m e t h o d a O (r e t u r n d l;IB.p u b l i c c l a s s In n e r O n e s t a t i c d o u b l e m e t h o d a O
26、 r e t u r n d l;)C.p r i v a t e c l a s s In n e r O n e d o u b l e m e t h o d a O r e t u r n d l;)D.s t a t i c c l a s s In n e r O n e p r o t e c t e d d o u b l e m e t h o d a O r e t u r n d l;)E.a b s t r a c t c l a s s In n e r O n e p u b l i c a b s t r a c t d o u b l e m e t h o d
27、 a O;说明如下:一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。故 A、B错二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;r e t u r n d l 犯错。故 D错三.非静态内部类的非静态成员可以访问外部类的非静态变量。故 C对的四.答案为C、E5、Ja v a 的通信编程,编程题(或问答),用 JAVA SOCKET编程,读服务器几个字符,再写入本地显示?答:Se r v e r 端程序:p a c k a g e t e s t;i m p o r t j a v a.ne t.*;i m p o r t j a v a.i o.*
28、;p u b l i c c l a s s Se r v e r!p r i v a t e Se r v e r So c k e t s s;p r i v a t e So c k e t s o c k e t;p r i v a t e Bu f f e r e d Re a d e r i n;p r i v a t e Pr i nt Wr i t e r o u t;p u b l i c Se r v e r()t r ys s=ne w Se r v e r So c k e t(10000);w h i l e (t r u e)s o c k e t =s s.a c
29、 c e p t ();St r i ng Re m o t e l P=s o c k e t.g e t l ne t Ad d r e s s ().g e t Ho s t Ad d r e s s ();St r i ng Re m o t e Po r t =/z:/z+s o c k e t.g e t Lo c a l Po r t ();Sy s t e m,o u t.p r i nt l n(/,A c l i e nt c o m e i n!IP:,z+Re m o t e l P+Re m o t e Po r t);i n=ne w Bu f f e r e d
30、Re a d e r(ne wInp u t St r e a m Re a d e r(s o c k e t,g e t Inp u t St r e a m();St r i ng l i ne =i n.r e a d Li ne O;Sy s t e m,o u t.p r i nt i n(z,Cl e i nt s e nd i s :+l i ne);o u t 二 ne w Pr i nt Wr i t e r(s o c k e t.g e t Ou t p u t St r e a m O,t r u e);o u t.p r i nt l nC/Yo u r Me s
31、s a g e Re c e i v e d!,z);o u t.c l o s e ();i n.c l o s e ();s o c k e t,c l o s e ();c a t c h (l OEx c e p t i o n e)(o u t.p r i nt In(w r o ng );p u b l i c s t a t i c v o i d m a i n(St r i ng a r g s)ne w Se r v e r ();;Cl i e nt端程序:package test;import java.io.*;import .public class ClientS
32、ocket socket;BufferedReader in;PrintWriter out;public Client()trySystem.out.printin(z,Try to Connect to 127.0.0.1:10000);socket=new Socket(z,127.0.0.lz,,10000);System,out.printin(The Server Connected!);System,out.printin(z,Please enter some C h aracter:;Bu f f e r e d Re a d e r l i ne =ne w Bu f f
33、e r e d Re a d e r(ne wInp u t St r e a m Re a d e r(Sy s t e m,i n);o u t =ne w Pr i nt Wr i t e r(s o c k e t.g e t Ou t p u t St r e a m O,t r u e);o u t.p r i nt l n(l i ne.r e a d Li ne();i n=ne w Bu f f e r e d Re a d e r(ne w Inp u t St r e a m Re a d e r(s o c k e t,g e t Inp u t St r e a m(
34、);Sy s t e m,o u t.p r i nt l n(i n.r e a d Li ne();o u t.c l o s e ();i n.c l o s e ();s o c k e t.c l o s e();c a t c h (l OEx c e p t i o n e)!o u t.p r i nt i n(Wr o ng );)p u b l i c s t a t i c v o i d m a i n(St r i ng a r g s)ne w Cl i e nt ();;6、用JAVA实现一一种排序,JAVA类实现序列化的方法(二种)?如在COLLECTION框架
35、中,实现比较要实现什么样的接口?答:用插入法进行排序代码如下p a c k a g e t e s t;i m p o r t j a v a.u t i l.*;c l a s s Ins e r t So r tIAr r a y Li s t a l;p u b l i c Ins e r t So r t(i nt nu m,i nt m o d)Ia l =ne w Ar r a y Li s t(nu m);Ra nd o m r a nd =ne w Ra nd o m 0;Sy s t e m,o u t.p r i nt l n(,Th e Ar r a y Li s t S
36、o r t Be f o r e:z,);f o r (i nt i=0;i nu m ;i+)a l.a d d(ne w Int e g e r(Ma t h,a b s(r a nd,ne x t l nt()%m o d +1);Sy s t e m.o u t.p r i nt i n(/za l ,/+i+,z=,+a l.g e t (i);p u b l i c v o i d So r t l t()(Int e g e r t e m p l nt;i nt Ma x Si z e=l;f o r (i nt i=l;i=(Int e g e r)a l.g e t(Ma
37、x Si z e-1).i nt Va l u e()a l.a d d(Ma x Si z e,t e m p l nt);MaxSize+;System,out.println(al.toS tringO);else for(int j=0;j=templnt.intValue()Ial.add(j,tem plnt);MaxSize+;System,out.println(al.toS tringO);break;IIIISy s t e m,o u t.p r i nt l n(/zTh e Ar r a y Li s t So r t Af t e r:/z);f o r (i nt
38、 i=0;i a l.s i z e O;i+)(Sy s t e m,o u t.p r i nt i n(a l +i+=+a l.g e t(i);p u b l i c s t a t i c v o i d m a i n(St r i ng a r g s)(Ins e r t So r t i s =ne w Ins e r t So r t(10,100);i s.So r t It ();)JAVA类实现序例化的方法是实现j a v a.i o.Se r i a l i z a b l e接口Co l l e c t i o n框架中实现比较要实现Co m p a r a b
39、 l e接 口 和Co m p a r a t o r接口7、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应当截为“我AB”,输 入“我A B C汉DEF”,6,应当输出为“我ABC”而不是“我ABC+汉的半个”。答:代码如下:p a c k a g e t e s t;c l a s s Sp l i t St r i ngISt r i ng Sp l i t St r;i nt Sp l i t By t e;p u b l i c Sp l i t St r i ng(St r i ng s t r,i
40、 nt b y t e s)(Sp l i t St r=s t r;Sp l i t By t e=b y t e s;Sy s t e m,o u t.p r i nt i n(,zTh e St r i ng i s:+Sp l i t St r+;Sp l i t By t e s=,+Sp l i t By t e);)p u b l i c v o i d Sp l i t l t()i nt l o o p Co u nt;l o o p Co u nt=(Sp l i t St r.l e ng t h()%Sp l i t By t e=O)?(Sp l i t St r.1
41、e ng t h()/Sp l i t By t e):(Sp l i t st r.l e ng t h()/Sp l i tBy t e+1);Sy s t e m,o u t.p r i nt l n(z zWi l l Sp l i t i nt o +l o o p Co u nt);f o r (i nt i=l;i=l o o p Co u nt ;i+)i f (i=l o o p Co u nt)Sy s t e m,o u t.p r i nt l n(Sp l i t St r.s u b s t r i ng(i-l)*Sp l i t By t e,Sp l i t
42、St r.l e ng t h();e l s e Sy s t e m,o u t.p r i nt l n(Sp l i t St r.s u b s t r i ng(i-l)*Sp l i t By t e,(i*Sp l i t By t e);)p u b l i c s t a t i c v o i d m a i n(St r i ng a r g s)Sp l i t St r i ng s s =ne w Sp l i t St r i ng(,zt e s t 中 d d 文 d s a f 中男大 3443n 中国 43 中国人Oe w l d f l s=103z/
43、,4);s s.Sp l i t l t ();)8、JAVA多线程编程。用 JAVA写一个多线程程序,如写四个线程,二个加1,二个对一个变量减一,输出。希望大家补上,谢谢9、STRING 与 STRINGBUFFER 的区别。答:STRING的长度是不可变的,STRINGBUFFER的长度是可变的。假如你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用St r i ng Bu f f e r,假如最后需要St r i ng,那么使用 St r i ng Bu f f e r 的 t o St r i ng O方法Js p 方面1、j s p 有哪些内置对象?作用分别是什么?答:JS
44、P共有以下9 种基本内置组件(可与ASP的 6 种内部组件相相应):r e q u e s t 用户端请求,此请求会包含来自GET/POST请求的参数r e s p o ns e 网页传回用户端的回应p a g e Co nt e x t 网页的属性是在这里管理s e s s i o n与请求有关的会话期a p p l i c a t i o n s e r v l e t 正在执行的内容o u t 用来传送回应的输出c o nf i g s e r v l e t 的构架部件pa g e J SP 网页自身e x c e pt i on针对错误网页,未捕获的例外2、j sp有哪些动作?作用分
45、别是什么?答:J SP 共有以下6 种基本动作j sp:i nc l u d e:在页面被请求的时候引入一个文献。j sp:u se B e a n:寻找或者实例化一个J a va B e a noj sp:se t P rope rt y:设立 J a va B e a n 的属性。j sp:g e t P rope rt y:输出某个 J a va B e a n 的属性。j sp:f orw a rd:把请求转到一个新的页面。j sp:pl u g i n:根据浏览器类型为J a va 插件生成O B J E C T或 E M B E D 标记3、J SP 中动态I N C LUD E
46、与静态I N C LUD E 的区别?答:动 态 I N C LUD E 用 j sp:i nc l u d e 动作实现 它总是会检查所含文献中的变化,适合用于包含动态页面,并且可以带参数静态I N C LUD E 用 i nc l u d e 伪码实现,定不会检查所含文献的变化,合用于包含静态页面4、两种跳转方式分别是什么?有什么区别?答:有两种,分别为:前者页面不会转向i nc l u d e 所指的页面,只是显示该页的结果,主页面还是本来的页面。执行完后还会回来,相称于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相称于g o t o 语句。Se rvl e t 方面1、说
47、一说Se rvl e t 的生命周期?答:se rvl e t 有良好的生存期的定义,涉及加载和实例化、初始化、解决请求以及服务结束。这个生存期由 j a va x.se rvl e t.Se rvl e t 接口的 i ni t,se rvi c e 和 d e st roy 方法表达。2、Se rvl e t 版本间(忘了问的是哪两个版本了)的不同?希望大家补上,谢谢3、J A V A SE R V LE T A P I 中 f orw a rd。与 re d i re c t。的区别?答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器
48、将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用 forw a rd。方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect O 方法。4、Serv let 的基本架构pub lic cla ss Serv let N a me ex t ends H t t pServ let pub lic v oid doP ost (H t t pServ let Request request,H t t pServ let Respo
49、nse response)t hrow sServ let E x cept ion,lO E x cept ion 1pub lic v oid doG et(H t t pServ let Request request,H t t pServ let Response response)t hrow sServ let E x cept ion,lO E x cept ion J db c、J do 方面1、也许会让你写一段J db c连 O ra cle的程序,并实现数据查询.答:程序如下:pa cka ge hello,a nt;import ja v a.sql.pub lic c
50、la ss jdb cSt ring db Url=/,jdb c:ora cle:t hin:127.0.0.1:15 21:orclz,;St ring t heUser二a dmin”;St ring t heP w=,zma na ger,z;C onnect ion c=null;St a t ement conn;Result Set rs=null;pub lic jdb c()t ry C la ss.forN a me(ora cle,jdb c.driv er.O ra cleD riv er).new I nst a nceO;c=D riv erM a na ger.g