图片的常见存储与读取凡是有以下
几种:
存储图片:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(
SQL Server),存储的数据是Byte[].
1.参数是图片路径:返回Byte[]类型: public byte[] GetPictureData(string imagepath)
/**/////根据图片文件的路径使用文件流打开,并保存为byte[]
FileStream fs = new FileStream(imagepath, FileMode.Open);//可以是其他重载方法
byte[] byData = new byte[fs.Length];
fs.Read(byData, 0, byData.Length);
fs.Close();
return byData;
}2.参数类型是Image对象,返回Byte[]类型: public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto)
//将Image转换成流数据,并保存为byte[]
MemoryStream mstream = new MemoryStream();
imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] byData = new Byte[mstream.Length];
mstream.Position = 0;
mstream.Read(byData, 0, byData.Length);
mstream.Close();
return byData;
}好了,这样通过上面的方法就可以把图片转换成Byte[]对象,然后就把这个对象保存到数据库中去就实现了把图片的二进制格式保存到数据库中去了。下面我就谈谈如何把数据库中的图片读取出来,实际上这是一个相反的过程。
读取图片:把相应的字段转换成Byte[]即:Byte[] bt=(Byte[])XXXX
1.参数是Byte[]类型,
返回值是Image对象: public System.Drawing.Image ReturnPhoto(byte[] streamByte)
System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}2.参数是Byte[] 类型,没有
返回值,这是针对asp.net中把图片从输出到网页上(Response.BinaryWrite)
public void WritePhoto(byte[] streamByte)
// Response.ContentType 的默认值为默认值为“text/html”
Response.ContentType = "image/GIF";
//图片输出的类型有: image/GIF image/JPEG
Response.BinaryWrite(streamByte);
针对Response.ContentType的值,除了针对图片的类型外,还有其他的类型: Response.ContentType = "application/msword";
Response.ContentType = "application/x-shockwave-flash";
Response.ContentType = "application/vnd.ms-excel";另外可以针对不同的格式,用不同的输出类型以适合不同的类型: switch (dataread("document_type"))
case "doc":
Response.ContentType = "application/msword";
case "swf":
Response.ContentType = "application/x-shockwave-flash";
case "xls":
Response.ContentType = "application/vnd.ms-excel";
case "gif":
Response.ContentType = "image/gif";
case "Jpg":
Response.ContentType = "image/jpeg";
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。
编程基础知识程序结构
变量声明与赋值
SQL基本命令
过程与函数
游标显示游标
编程基础知识 程序结构
变量声明与赋值
SQL基本命令
过程与函数
游标 显示游标
展开 编辑本段简介
PLSQL
PL/SQL(Procedural Language/SQL)是一种过程化语言,属于第三代语言,它与C、C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的目的是联合数据库语言和过程语言。PL/SQL的基本单位叫做一个区段,由三个部分组成:一个申明部分,一个可运行部分,和排除-构建部分。 因为PL/SQL允许混合SQL申明和过程结构,因此可以在将申明发送到甲骨文系统去执行之前使用PL/SQL区段和副程序来组合SQL申明,没有PL/SQL,甲骨文需要就每次处理SQL申明,在网络环境中,这将影响交通流量,而且增加响应时间。PL/SQL区段只被编译一次并且以可运行的形式储存,以降低响应时间。
编辑本段背景
结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单地调用相应语句来直接取得结果即可。显然,这种不关注任何实现细节的语言对于开发者来说有着极大的便利。然而,有些复杂的业务流程要求相应的程序来描述,这种情况下4GL就有些无能为力了。PL/SQL的出现正是为了解决这一问题,PL/SQL是一种过程化语言,属于第三代语言,它与C、 C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。本文主要介绍PL/SQL的编程基础,以使入门者对PL/SQL语言有一个总体认识和基本把握。
编辑本段主要特性
PL/SQL编辑器,功能强大——该编辑器具有语法加强、SQL和PL/SQL帮助、对象描述、代码助手、编译器提示、PL/SQL完善、代码内容、代码分级、浏览器按钮、超链接导航、宏库等许多智能特性,能够满足要求性最高的用户需求。当您需要某个信息时,它将自动出现,至多单击即可将信息调出。 集成调试器(要求Oracle 7.3.4或更高)——该调试器提供您所需要的全部特性:跳入(Step In)、跳过(Step Over)、跳出(Step Out)、异常时停止运行、断点、观察和设置变量、观察全部堆栈等。基本能够调试任何程序单元(包括触发器和Oracle8 对象类型),无需作出任何修改。 PL/SQL完善器——该完善器允许您通过用户定义的规则对SQL和PL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了大规模工作团队的协作。 SQL 窗口——该窗口允许您输入任何SQL语句,并以栅格形式对结果进行观察和编辑,支持按范例查询模式,以便在某个结果集合中查找特定记录。另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。 命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同的感观,另外还增加了一个内置的带语法加强特性的脚本编辑器。这样,您就可以开发自己的脚本,无需编辑脚本/保存脚本/转换为SQL*Plus/运行脚本过程,也不用离开PL/SQL Developer集成开发环境。 报告——PL/SQL Developer提供内置的报告功能,您可以根据程序数据或Oracle字典运行报告。PL/SQL Developer本身提供了大量标准报告,而且您还可以方便的创建自定义报告。自定义报告将被保存在报告文件中,进而包含在报告菜单内。这样,运行您自己经常使用的自定义报告就非常方便。 您可以使用Query Reporter免费软件工具来运行您的报告,不需要PL/SQL Developer,直接从命令行运行即可。 工程——PL/SQL Developer内置的工程概念可以用来组织您的工作。一个工程包括源文件集合、数据库对象、notes和选项。PL/SQL Developer允许您在某些特定的条目集合范围之内进行工作,而不是在完全的数据库或架构之内。这样,如果需要编译所有工程条目或者将工程从某个位置或数据库移动到其他位置时,所需工程条目的查找就变得比较简单, To-Do条目——您可以在任何SQL或PL/SQL源文件中使用To-Do条目快速记录该文件中那些需要进行的事项。以后能够从To-Do列表中访问这些信息,访问操作可以在对象层或工程层进行。 对象浏览器——可配置的树形浏览能够显示同PL/SQL开发相关的全部信息,使用该浏览器可以获取对象描述、浏览对象定义、创建测试脚本以便调试、使能或禁止触发器或约束条件、重新编译不合法对象、查询或编辑表格、浏览数据、在对象源中进行文本查找、拖放对象名到编辑器等。 此外,该对象浏览器还可以显示对象之间的依存关系,您可以递归的扩展这些依存对象(如包参考检查、浏览参考表格、图表类型等)。 性能优化——使用PL/SQL Profiler,可以浏览每一执行的PL/SQL代码行的时序信息(Oracle8i或更高),从而优化您SQL和PL/SQL的代码性能。 更进一步,您还可以自动获取所执行的SQL语句和PL/SQL程序统计信息。该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。 HTML指南——Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境中,以便在编辑、编译出错或运行时出错时提供内容敏感帮助。 非PL/SQL对象——不使用任何SQL,您就可以对表格、序列、符号、库、目录、工作、队列、用户和角色进行浏览、创建和修改行为。PL/SQL Developer提供了一个简单易用的窗体,只要将信息输入其中,PL/SQL Developer就将生成相应的SQL,从而创建或转换对象。 模板列表——PL/SQL Developer的模板列表可用作一个实时的帮助组件,协助您强制实现标准化。只要点击相应的模板,您就可以向编辑器中插入标准的SQL或PL/SQL代码,或者从草稿出发来创建一个新程序。 查询构建器——图形化查询构建器简化了新选择语句的创建和已有语句的修改过程。只要拖放表格和视窗,为区域列表选择专栏,基于外部键约束定义联合表格即可。 比较用户对象——对表格定义、视图、程序单元等作出修改后,将这些修改传递给其他数据库用户或检查修改前后的区别将是非常有用的。这也许是一个其他的开发环境,如测试环境或制作环境等。而比较用户对象功能则允许您对所选对象进行比较,将不同点可视化,并运行或保存应用必要变动的SQL脚本。 导出用户对象——该工具可以导出用户所选对象的DDL(数据定义语言)语句。您可以方便的为其他用户重新创建对象,也可以保存文件作为备份。 工具——PL/SQL Developer为简化日常开发专门提供了几种工具。使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权——大多数开发环境中,您不希望所有数据库都具备PL/SQL Developer的全部功能性。例如,数据库开发中您可以允许PL/SQL Developer的全部功能性,而数据库测试中您可以仅允许数据查询/编辑和对象浏览功能,而数据库制作中您甚至根本不希望PL/SQL Developer访问。利用PL/SQL Developer授权功能,您可以方便的定义特定用户或规则所允许使用的功能。 插件扩展——可以通过插件对PL/SQL Developer功能进行扩展。Add-ons页面提供插件可以免费下载。Allround Automations或其他用户均可提供插件(如版本控制插件或plsqldoc插件)。如果您具备创建DLL的编程语言,您还可以自己编写插件。 多线程IDE——PL/SQL Developer是一个多线程IDE。这样,当SQL查询、PL/SQL程序、调试会话等正在运行时,您依然可以继续工作。而且,该多线程IDE还意味着出现编程错误时不会中止:您在任何时间都可以中断执行或保存您的工作。 易于安装——不同于SQL*Net,无需中间件,也无需数据库对象安装。只需点击安装程序按钮,您就可以开始安装从而使用软件了。
编辑本段编程基础知识
PL/SQL程序都是以块(block)为基本单位,整个PL/SQL块分三部分:声明部分(用declare开头)、执行部分(以 begin开头)和异常处理部分(以exception开头)。其中执行部分是必须的,其他两个部分可选。无论PL/SQL程序段的代码量有多大,其基本结构就是由这三部分组成。如下所示为一段完整的PL/SQL块: /*声明部分,以declare开头*/ declare v_id integer; v_name varchar(20); cursor c_emp is select * from employee where emp_id=3; /*执行部分,以begin开头*/ begin open c_emp; //打开游标 loop fetch c_emp into v_id,v_name; //从游标取数据 exit when c_emp%notfound ; end loop ; close c_emp; //关闭游标 dbms_output.PUT_LINE(v_name); /*异常处理部分,以exception开始*/ exception when no_data_found then dbms_output.PUT_LINE('没有数据'); end ;
PL/SQL程序段中有三种程序结构:条件结构、循环结构和顺序结构。 1) 条件结构 与其它语言完全类似,语法结构如下: if condition then statement1 else statement2 end if ; 2) 循环结构 这一结构与其他语言不太一样,在PL/SQL程序中有三种循环结构: a. loop … end loop; b. while condition loop … end loop; c. for variable in low_bound . . upper_bound loop … end loop; 其中的“…”代表循环体。 3) 顺序结构 实际就是goto的运用,不过从程序控制的角度来看,尽量少用goto可以使得程序结构更加的清晰。
变量声明与赋值
PL/SQL主要用于数据库编程,所以其所有的数据类型跟Oracle数据库里的字段类型是一一对应的,大体分为数字型、布尔型、字符型和日期型。这里简单介绍两种常用数据类型:number、varchar2。 number 用来存储整数和浮点数。范围为1e130~10e125,其使用语法为: number[(precision, scale)] 其中(precision, scale)是可选的,precision表示所有数字的个数,scale表示小数点右边数字的个数。 varchar2 用来存储变长的字符串,其使用语法为: varchar2[(size)] 其中size为可选,表示该字符串所能存储的最大长度。 在PL/SQL中声明变量与其他语言不太一样,它采用从右往左的方式声明,比如声明一个number类型的变量v_id,那其形式应为: v_id number; 如果给上面的v_id变量赋值,不能用“=”,应该用“:=”,即形式为: v_id :=5;
SQL基本命令
PL/SQL使用的数据库操作语言还是基于SQL的,所以熟悉SQL是进行PL/SQL编程的基础。SQL语言的分类情况大致如下: 1) 数据定义语言(DDL):Create,Drop,Grant,Revoke,… 2) 数据操纵语言(DML):Update,Insert,Delete,… 3) 数据控制语言(DCL):Commit,Rollback,Savapoint,… 4) 其他:Alter System,Connect,Allocate, … 具体的语法结构可以参阅其他关于SQL语言的资料,这里不再赘述。
编辑本段过程与函数
PL/SQL中的过程和函数与其他语言的过程和函数一样,都是为了执行一定的任务而组合在一起的语句。过程无返回值,函数有返回值。其语法结构为: 过程:Create or replace procedure procname(参数列表) as PL/SQL语句块 函数:Create or replace function funcname(参数列表) return 返回值 as PL/SQL语句块 为便于理解,举例如下: 问题:假设有一张表t1,有f1和f2两个字段,f1为number类型,f2为varchar2类型,要往t1里写两条记录,内容自定。 Create or replace procedure test_procedure as V_f11 number :=1; /*声明变量并赋初值*/ V_f12 number :=2; V_f21 varchar2(20) :='first'; V_f22 varchar2(20) :='second'; Begin Insert into t1 values (V_f11, V_f21); Insert into t1 values (V_f12, V_f22); End test_procedure; /*test_procedure可以省略*/ 至此,test_procedure存储过程已经完成,经过编译后就可以在其他PL/SQL块或者过程中调用了。函数与过程具有很大的相似性,此处不再详述。
编辑本段游标
游标的定义为:用游标来指代一个DML SQL操作返回的结果集。即当一个对数据库的查询操作返回一组结果集时,用游标来标注这组结果集,以后通过对游标的操作来获取结果集中的数据信息。这里特别提出游标的概念,是因为它在PL/SQL的编程中非常的重要。定义游标的语法结构如下: cursor cursor_name is SQL语句; 在本文第一段代码中有一句话如下: cursor c_emp is select * from employee where emp_id=3; 其含义是定义一个游标c_emp,代表employee表中所有emp_id字段为3的结果集。当需要操作该结果集时,必须完成三步:打开游标、使用fetch语句将游标里的数据取出、关闭游标。 游标用来处理从数据库中检索的多行记录(使用SELECT语句)。利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集。 为了处理SQL语句,Oracle将在内存中分配一个区域,这就是上下文区。这个区包含了已经处理完的行数、指向被分析语句的指针,整个区是查询语句返回的数据行集。游标就是指向上下文区句柄或指针。
显示游标被用于处理返回多行数据的SELECT 语句,游标名通过CURSOR….IS 语句显示地赋给SELECT 语句。 在PL/SQL中处理显示游标所必需的四个步骤: 1)声明游标;CURSOR cursor_name IS select_statement 2)为查询打开游标;OPEN cursor_name 3)取得结果放入PL/SQL变量中; FETCH cursor_name INTO list_of_variables; FETCH cursor_name INTO PL/SQL_record; 4)关闭游标。CLOSE cursor_name 注意:在声明游标时,select_statement不能包含INTO子句。当使用显示游标时,INTO子句是FETCH语句的一部分。
所有的隐式游标都被假设为只返回一条记录。 使用隐式游标时,用户无需进行声明、打开及关闭。PL/SQL隐含地打开、处理,然后关掉游标。 例如: ……. SELECT studentNo,studentName INTO curStudentNo,curStudentName FROM StudentRecord WHERE name=’gg’; 上述游标自动打开,并把相关值赋给对应变量,然后关闭。执行完后,PL/SQL变量curStudentNo,curStudentName中已经有了值。
开放分类:
oracle,plsql
我来完善 “plsql”相关词条:
sql系统函数
sql 系统函数
百度百科中的词条内容仅供参考,如果您需要解决具体问题(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
327本词条对我有帮助添加到搜藏 分享到: 更多
合作编辑者
百科ROBOT ,潘昊 ,江旭梦然 ,SONGYL525 ,ThinkIBM 更多
如果您认为本词条还需进一步完善,百科欢迎您也来参与编辑词条在开始编辑前,您还可以先学习如何编辑词条
如想投诉,请到百度百科投诉中心;如想提出意见、建议,请到百度百科吧。
2、作用域public,private,protected,以及不写时的区别? 8
3、String 是最基本的数据类型吗? 8
4、float 型float f=3.4是否正确? 8
5、语句float f=1.3;编译能否通过? 8
6、short s1 = 1; s1 = s1 + 1;有什么错? 8
7、Java 有没有goto? 8
8、int 和Integer 有什么区别? 9
9、&和&&的区别? 9
10、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别? 9
11、heap 和stack 有什么区别? 9
12、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少? 9
13、swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上? 9
14、编程题: 用最有效率的方法算出2 乘以8 等於几? 9
15、有没有length()这个方法? String 有没有length()这个方法? 9
16、在JAVA 中,如何跳出当前的多重嵌套循环? 9
17、构造器Constructor 是否可被override? 9
18、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 9
19、是否可以继承String 类? 9
20、以下二条语句
返回值为true 的有: 10
21、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 10
22、我们在web 应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 10
23、String 和StringBuffer 的区别? 10
24、String, StringBuffer StringBuilder 的区别。 10
25、Overload 和Override 的区别。Overloaded 的方法是否可以改变
返回值的类型? 10
27、描述一下JVM 加载class 文件的原理机制? 10
28、char 型变量中能不能存贮一个中文汉字?为什么? 10
29、abstract class 和interface 有什么区别? 10
30、Static Nested Class 和Inner Class 的不同? 11
31、java 中会存在内存泄漏吗,请简单描述。 11
32、abstract 的method 是否可同时是static,是否可同时是native,是否可同时是synchronized? 11
33、静态变量和实例变量的区别? 11
34、是否可以从一个static 方法内部发出对非static 方法的调用? 11
35、写clone()方法时,通常都有一行代码,是什么? 11
36、GC 是什么? 为什么要有GC? 11
37、垃圾回收的优点和原理。并考虑2 种回收机制。 11
38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 12
39、String s=new String(“xyz”);创建了几个String Object? 12
40、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 12
41、Java 的接口和C++的虚类的相同和不同处。 12
42、一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制? 12
43、说出一些常用的类,包,接口,请各举5 个。 12
44、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类?是否可以implements(实现)interface(接口)? 12
45、内部类可以引用他包含类的成员吗?有没有什么限制? 12
46、java 中实现多态的机制是什么? 12
47、在java 中一个类被声明为final 类型,表示了什么意思? 12
48、下面哪些类可以被继承? 12
49、指出下面程序的运行结果: 【基础】 13
52、关于内部类: 13
53、数据类型之间的转换: 14
54、字符串操作:如何实现字符串的反转及替换? 14
55、编码转换:怎样将GB2312 编码的字符串转换为ISO-8859-1 编码的字符串? 14
56、写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。 14
59、Java 编程,打印昨天的当前时刻。 15
60、java 和javasciprt 的区别。 15
61、什么时候用assert? 16
62、error和exception有什么区别 16
63、ArrayList和Vector的区别 16
64、Collection 和 Collections的区别 17
65、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别 17
66、HashMap和Hashtable的区别 17
67、说出ArrayList,Vector, LinkedList的存储性能和特性 17
68、java中有
几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 17
69、文件读写的基本类 17
70、多线程有
几种实现方法,都是什么?同步有
几种实现方法,都是什么? 17
71、启动一个线程是用run()还是start()? 17
72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18
73、线程的基本概念、线程的基本状态以及状态之间的关系 18
74、sleep() 和 wait() 有什么区别? 18
75、socket通信(tcp/udp区别及JAVA的实现
方式) 18
76、什么是java序列化,如何实现java序列化? 18
77、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 18
78、abstract class Name { private String name; public abstract boolean isStupidName(String name) {}}这有何错误? 18
79、public class Something { void doSomething () { private String s = ""; int l = s.length(); } }有错吗? 18
80、abstract class Something { private abstract String doSomething ();}这好像没什么错吧? 18
81、public class Something { public int addOne(final int x) { return ++x; }}这个比较明显。 19
83、class Something { int i; public void doSomething() { System.out.println("i = " + i); }} 有什么错呢? 19
Hibernate部分 19
92、一般情况下,关系数据模型与对象模型之间有哪些匹配关系(A,B,C) 21
93、以下关于SessionFactory的说法哪些正确?(B,C) 21
94、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)(D) 22
95、以下哪些属于Session的方法?(A,B,C,D,F) 22
96、Hibernate工作原理及为什么要用? 22
97、Hibernate是如何延迟加载? 22
98、Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 22
99、说下Hibernate的缓存机制 22
100、Hibernate的查询
方式 23
101、如何优化Hibernate? 23
102、Struts工作机制?为什么要使用Struts? 23
103、Struts的validate框架是如何验证的? 24
104、说下Struts的设计模式 24
105、spring工作机制及为什么要用? 24
106、HttpSession session = request.getSession() 24
107、getParameter与 getAttribute的区别? 24
108、以下哪一个不是赋值符号? 25
109、以下哪个不是Collection的子接口? 25
110、.BufferedReader的父类是以下哪个? 25
112、div与span区别? 25
113、html的框架是什么? 25
114、alert怎样换行? 25
115、什么情况用HTML控件,什么情况用WEB控件,并比较两者差别 25
javaScript部分 25
116、JavaScript中的对象. 25
117、function的用法 26
118、对象的继承 27
119、this的用法 29
120、Array in JavaScript 29
121、jsp有哪些内置对象?作用分别是什么? 31
122、jsp有哪些动作?作用分别是什么? 31
123、JSP中动态INCLUDE与静态INCLUDE的区别? 31
124、两种跳转
方式分别是什么?有什么区别? 31
125、如何执行一个线程安全的JSP? 31
126、JSP如何处理HTML FORM中的数据? 31
127、在JSP如何包含一个静态文件? 32
128、在JSP中如何使用注释? 32
129、在JSP中如何执行浏览重定向? 32
130、如何防止在JSP或SERVLET中的输出不被BROWSER保存在CACHE中? 32
131、在JSP中如何设置COOKIE? 32
132、在JSP中如何删除一个COOKIE? 32
133、在一个JSP的请求处理中如何停止JSP的执行 33
134、在JSP中如何定义方法 33
135、在JSP中能发送EMAIL吗 34
136、在SERVLET中我能调用一个JSP错误页吗 34
137、APPLET和JSP如何通讯 35
138、JSP如何与EJB SessionBean通讯 35
139、当我使用一个结果集时,如何防止字段为"null"的字域显示在我的HTML输入文本域中? 35
140、如何中SERVLET或JSP下载一个文件(如:binary,text,executable)? 36
141、使用useBean标志初始化BEAN时如何接受初始化参数 36
142、使用JSP如何获得客户浏览器的信息? 36
143、能象调用子程序一样调用JSP吗? 36
144、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS? 36
145、<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别? 36
146、JSP的缺点? 36
148、如何实现JSP的国际化? 36
150、如何在JSP中包括绝对路径文件? 使用URLConnection即可。 37
151、在servlets和JSP之间能共享session对象吗? 37
152、如何设置cookie在某一时间后过期? 37
153、如何获得当前的sessions数? 37
154、能设置一些代码在我所有的JSP文件之上运行?如果可以,能共享吗? 37
155、对一个JSP页,如果多个客户端同时请求它,同步可能吗? 37
156、在jsp:useBean语法中使用beanName有何好处? 37
157、当我使用<jsp:forward>时,在浏览器的地址栏没有改变? 37
158、如何转换JSP 0.9版本的文件到JSP1.1? 37
160、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 38
161、AJAX的全称是什么? 介绍一下AJAX 38
162、Ajax主要包含了哪些技术? 38
163、主要的Ajax框架都有什么? 38
164、介绍一下XMLHttpRequest对象 38
165、AJAX应用和传统Web应用有什么不同? 38
166、如何用JQuery进行表单验证? 39
167、Prototype如何实现页面局部定时刷新? 40
168、Prototype如何为一个Ajax添加一个参数? 40
169、Ajax请求总共有多少种Callback? 41
170、Javascript如何发送一个Ajax请求? 41
171、AJAX都有哪些有点和缺点? 41
172、Ajax和javascript的区别? 41
Servlet部分 42
174、JAVA SERVLET API中forward() 与redirect()的区别? 42
178、如何现实servlet的单线程模式 42
179、页面间对象传递的方法 42
180、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 42
181、四种会话跟踪技术 42
182、Request对象的主要方法 43
183、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 43
184、Servlet执行时一般实现哪几个方法? 44
185、getServletContext()和getServletConfig()的意思 44
186、Hashtable和HashMap 44
187、JAVA SERVLET API中forward() 与redirect()的区别? 44
189、Can a Java Thread be started from Servlet class, and what will be the implications? 45
190、What is HTTP Session tracking and why is it important? 45
191、What is session management, and how is it different from session tracking? 45
192、Can I use Hidden form field to track session? 45
194、In a architecture pattern like MVC, it is mandatory that Servlet should be the controller, why not JSP? 46
195、Why JSP is used as View part of MVC ? 46
196、Can a database connection pool be instantiated in init method of servlet instead of
server connection pool? What will be the problem? 46
综合部分 46
197、Class.forName的作用?为什么要用? 47
198、Jdo是什么? 47
199、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。 47
200、xml有哪些解析技术?区别是什么? 48
201、你在项目中用到了xml技术的哪些方面?如何实现的? 48
202、用jdom解析xml文件时如何解决中文问题?如何解析? 48
203、编程用JAVA解析XML的
方式. 49
204、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? 51
205、EJB与JAVA BEAN的区别? 51
206、EJB的基本架构 51
207、MVC的各个部分都有那些技术来实现?如何实现? 52
208、J2EE是什么? 52
209、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。 52
210、STRUTS的应用(如STRUTS架构) 52
211、开发中都用到了那些设计模式?用在什么场合? 52
212、UML方面 52
213、如何校验数字型? 53
214、CORBA是什么?用途是什么? 53
215、写一个方法,实现字符串的反转,如:输入abc,输出cba 53
216、数据类型之间的转换 53
217、如何取得年月日,小时分秒 53
218、如何取得从1970年到现在的毫秒数 53
219、如何格式化日期 53
220、文件和目录(I/O)操作 54
230、J2EE的优越性 54
231、Java语言的11个关键特性. 54
232、说出Servlet的生命周期,并说出Servlet和CGI的区别。 55
233、说出在JSP页面里是怎么分页的? 55
234、
存储过程和函数的区别 55
235、事务是什么? 55
236、游标的作用?如何知道游标已经到了最后? 55
237、触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。 56
238、EJB容器提供的服务 56
239、EJB的角色和三个对象 56
240、EJB的
几种类型 56
241、bean 实例的生命周期 56
242、激活机制 56
243、remote接口和home接口主要作用 56
244、客服端调用EJB对象的几个基本步骤 56
245、 如何给weblogic指定大小的内存? 56
246、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 57
247、如何启动时不需输入用户名与密码? 57
248、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? 57
250、如何查看在weblogic中已经发布的EJB? 57
251、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 57
252、在weblogic中发布ejb需涉及到哪些配置文件 57
253、EJB需直接实现它的业务接口或Home接口吗,请简述理由. 57
254、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别 57
255、说说你所熟悉或听说过的j2ee中的
几种常用模式?及对设计模式的一些看法 57
256、现在输入n个数字,以逗号,分开; 58
257、金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 58
259、Spring和Struts的区别? 58
260、如何用Struts实现国际化? 58
261、如何实现struts的validator框架? 59
262、如何在struts中配置数据源在,什么文件?用什么标签?如何取出DataSource? 60
263、Struts框架如何取得消息资源文件中的信息? 60
264、Struts中如何基于validation.xml来启用客户端验证? 60
266、请你谈谈SSH整合 60
267、ActionForm bean的作用 61
268、Spring如何创建一个数据连接池 61
269、Spring如何配置一个bean来从JNDI得到DataSource 61
270、Bean的销毁 61
271、Spring如何获取Bean 61
272、Spring和Struts的区别? 62
273、什么是aop,aop的作用是什么? 62
275、依赖注入的
方式有
几种,各是什么? 62
276、spring中的核心类有那些,各有什么作用? 62
277、ApplicationContext的作用 63
278、如何实现资源管理 63
279、如何实现加入web框架中 63
280、如何实现事件处理 63
281、spring的ioc及di代表什么意思? 63
283、spring的配置的主要标签是什么?有什么作用? 64
284、spring与ejb2.0的事务管理比较的优缺点? 64
286、在spring中有
几种事务管理,分别是什么? 64
287、在spring中如何配代码的事务管理? 65
288、在spring中如何配容器的事务管理,相关的类有那些? 65
289、如果spring与hibernate结合在一起可以不需要hibernate.cfg.xml文件是否正确? 65
290、spring+hibernate的配置文件中的主要类有那些?如何配置? 65
291、spring+hibernate的代码实现中,对于实现类一定继承于一个类是那一个,它有什么作用 66
292、如何配置spring+struts? 66
293、如何在web环境中配置applicationContext.xml文件? 66
294、BS与CS的联系与区别 66
295、Servlet的生命周期 68
296、如何现实Servlet的单线程模式 68
297、Servlet执行时一般实现哪几个方法? 68
298、j2ee常用的设计模式?说明工厂模式。 68
299、应用服务器与WEB
SERVER的区别? 68
300、应用服务器有那些? 68
301、说出数据连接池的工作机制是什么? 68
302、页面间对象传递的方法 69
303、四种会话跟踪技术 69
304、J2EE 是技术还是平台还是框架? 69
305、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 69
306、启动一个线程是用run()还是start()? 69
307、线程的基本概念、线程的基本状态以及状态之间的关系 69
308、java 中有
几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 70
309、JSP中动态INCLUDE与静态INCLUDE的区别? 70
310、JSP的常用指令 70
311、什么情况下调用doGet()和doPost()? 70
312、JSP和Servlet 有哪些相同点和不同点,他们之间的联系是什么? 70
313、Request对象的主要方法: 70
314、JSP有哪些动作?作用分别是什么? 71
315、JSP的两种跳转
方式分别是什么?有什么区别? 71
316、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。 71
317、EJB与JAVA BEAN的区别? 72
318、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的? 72
319、EJB规范规定EJB中禁止的****作有哪些? 72
320、remote接口和home接口主要作用 72
321、bean 实例的生命周期 72
322、EJB的激活机制 73
323、EJB的
几种类型 73
324、客服端调用EJB对象的几个基本步骤 73
325、EJB需直接实现它的业务接口或Home接口吗,请简述理由。 73
327、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别 73
328、你在项目中用到了xml技术的哪些方面?如何实现的? 73
329、JAVA SERVLET API中forward() 与redirect()的区别? 73
330、面向对象的特征? 73
331、Java中的异常处理机制? 74
333、Java中的事件处理机制? 74
334、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 75
335、GC是什么?为什么要有GC (基础) ? 75
336、请说出你所知道的线程同步的方法。 75
337、什么是Java序列化,如何实现Java 序列化? 75
338、介绍Java中的Collection Framework(包括如何写自己的数据结构)? 75
339、String是最基本的数据类型吗? 76
340、谈谈final, finally, finalize 的区别? 76
341、Static Nested Class 和Inner Class的不同? 76
342、HashMap和Hashtable的区别? 76
343、ArrayList和Vector的区别? 76
344、Collection 和Collections的区别? 77
345、Overload和Override的区别。Overloaded的方法是否可以改变
返回值的类型? 77
346、String与StringBuffer的区别? 77
347、静态变量和实例变量的区别? 77
348、List、Map、Set三个接口,存取元素时,各有什么特点? 77
349、说出ArrayList,Vector, LinkedList的存储性能和特性。 77
350、在Java中一个类被声明为final类型,表示了什么意思? 77
351、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 77
352、String s = new String("xyz");创建了几个String Object? 77
353、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 77
354、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 78
355、数组有没有length()这个方法? String 有没有length()这个方法? 78
356、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 78
357、List, Set, Map是否继承自Collection接口? 78
358、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 78
360、构造器Constructor是否可被override? 78
361、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 78
362、try {}里有一个return 语句,那么紧跟在这个try后的finally {}里的code 会不会被执行,什么时候被执行,在return前还是后? 78
363、描述一下JVM加载class文件的原理机制? 78
364、多线程有
几种实现方法,都是什么?同步有
几种实现方法,都是什么? 78
365、Java中会存在内存泄漏吗,请简单描述。 78
366、是否可以从一个static方法内部发出对非static方法的调用? 79
367、写clone()方法时,通常都有一行代码,是什么? 79
368、在Java中,如何跳出当前的多重嵌套循环? 79
370、给我一个你最常见到的runtime exception。 79
371、写一个Singleton出来 79
372、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? 80
373、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在 COLLECTION框架中,实现比较要实现什么样的接口? 81
374、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 82
380、ArrayList和Vector的区别, HashMap和Hashtable的区别 83
381、== 与 equals 的区别: 83
382、写一个
SQL Server 中的
存储过程: 83
383、写一个 Oracle 中的
存储过程: 84
384、HTTP 的请求过程: 84
385、多线程的优点 84
387、java是否存在内存泄露 85
388、Corba概述 85
389、toString方法的概述 85
390、Object类的概述 85
391、什么叫抽象类?抽象类跟接口有什么区别?为什么引进数据接口概念? 85
392、doGet与doPut的区别? 85
393、多线程实现有那
几种方法,同步有哪
几种方法? 85
394、JSP页面的跳转? 86
395、类变量的初始化 86
396、数组的定义 86
397、说明List和Set的区别 86
= ExecuteNonQuery(..)执行