2024年3月31日发(作者:)

JSP网页开发面试题及答案

1. 浏览器jsp,html之间的关系

与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客

户端只要有浏览器就能浏览

2.在大多数Browser/Server结构的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响

应用户的请求

在服务器上执行,并将执行结果输出到客户端浏览器,我们可以说基本上与浏览器无关

2. 自定义标签要继承哪个类

这个类可以继承TagSupport或者BodyTagSupport,两者的差别是前者适用于没有主体的标签,而后

者适用于有主体的标签。如果选择继承TagSupport,可以实现doStartTag和doEndTag两个方法实现Tag

的功能,如果选择继承BodyTagSupport,可以实现doAfterBody这个方法。

3. 如果用JSP开发一个聊天程序,不用数据库存储聊天纪录,请问聊天记录最好存储在( )中。

Application

4. doPost,doGet的区别?

1。当你直接访问一个servlet时,调用的是doGet方法。

2。如果你的html里面规定了method访问哪个方法,则调用该方法。

3。get和post提交的数据量是不一样的.get好像最多只能在url后跟8K, post没这个限制

5. jsp乱码如何解决,几种解决方案。?

一、JSP页面显示乱码

二、表单提交中文时出现乱码

三、数据库连接时出现乱码

6. 四种会话跟踪技术

会话跟踪是为了跟踪用户于service之间的多次交互.

也就是我们常见的在C盘/文件夹下有一个COOKIE目录

n 比Cookie安全.不可见.但占用srevice资源

重写.这是在用户的IE禁止Cookie的时候采用的方法。因为不管是Cookie还是 session 都要借

7. 你认为哪种分页效率最高? JSP ,MYSQL,SQL2005.

SQL2005效率高:

因为mysql的分页还是先查出所有的记录,再从起始位置开始查出所需要的记录, 而SQL2005

不会查所有记录,只查筛选后所需要的记录

8. String是最基本的数据类型吗?

基本数据类型包括byte、int、char、long、float、double、boolean和short。

类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用

StringBuffer类

9. 说出ArrayList,Vector, LinkedList的存储性能和特性

ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入

元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快

而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而

LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记

录本项的前后项即可,所以插入速度较快。

10. HashMap和Hashtable的区别。

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于

HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains

方法容易让人引起误解。

Hashtable继承自Dictionary类,而HashMap是引进的Map interface的一个实现。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable

时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

11. error和exception有什么区别?

error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能

处理这样的情况。

exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

12. 同步和异步有何异同,在什么情况下分别使用他们?举例说明。

如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已

经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。

当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回

时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。

13. (11.5)等於多少? (-11.5)等於多少?

(11.5)==12

(-11.5)==-11

round方法返回与参数最接近的长整数,参数加1/2后求其floor.

14. Java有没有goto?

java中的保留字,现在没有在java中使用。

15. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete

class)?

接口可以继承接口。抽象类可以实现(implements)接口,抽象类可继承实体类

16. List, Set, Map是否继承自Collection接口?

List,Set是,Map

17. 数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。String有length()这个方法。

18. 是否可以继承String类?

String类是final类故不可以继承。

19. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么

时候被执行,在return前还是后?

会执行,在return前执行。

20. 编程题: 用最有效率的方法算出2乘以8等於几?

2 << 3

21. 两个对象值相同((y) == true),但却可有不同的hash code,这句话对不对?

不对,有相同的hash code。

22. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

不能,一个对象的一个synchronized方法只能由一个线程访问。

23. 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

多线程有两种实现方法,分别是继承Thread类与实现Runnable接口

同步的实现方面有两种,分别是synchronized,wait与notify

24. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

可以。必须只有一个类名与文件名相同。

25. java中实现多态的机制是什么?

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与

子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

26. 在JAVA中,如何跳出当前的多重嵌套循环?

用break; return 方法。

27. List、Map、Set三个接口,存取元素时,各有什么特点?

List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value

值,value可多值。

28. Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实

现)interface(接口)?

可以继承其他类或完成其他接口,在swing编程中常用此方式。

29. 内部类可以引用他包含类的成员吗?有没有什么限制?

一个内部类对象可以访问创建它的外部类对象的内容

30. jdbc调用数据库的步骤?

用JDBC来实现访问数据库记录可以采用下面的几个步骤:

1、通过驱动器管理器获取连接接口。

2、 获得Statement或它的子类。

3、 限制Statement中的参数。

4、 执行Statement。

5、 查看返回的行数是否超出范围。

6、 关闭Statement。

7、 处理其它的Statement

8、 关闭连接接口。

《JSP网页设计》复习题

一 、单项选择题

1. 为使页面具有红背景色,下列()语句正确。

A)body background=red

B)body text=red

C)body vlink=red

D)body bgcolor=red

答案:D

2. 对以下语句的描述()正确。

A)在页面中插入一幅图像

B)在页面上插入一首歌曲

C)插入一段视频

D)插入电子邮箱

答案:A

3. 以下代码段可创建一个()的表格

web技术 web技术

A)1行2列边框为1

B)2行1列没有边框

C)1行2列没有边框

D)2行1列边框为1

答案:A

4. 下面哪个不是表单标记( )

A)INPUT

B)RADIO

C)CHECKBOX

D)TR

答案:D

5. 使用JavaScript语言中Document的________________方法可以在页面上输出字符。

A)()

B)()

C)()

D)()

答案:A

6. 在HTML文件中导入一个样式表的正确语法为______________________。

A)

B)

C)

D)

答案:A

7. 标记在标记之间,标记之间的内容将显示到()

A)浏览器的页面上部

B)浏览器的标题栏上

C)浏览器的状态栏中

D)浏览器的页面下部

答案:B

8. Tomcat服务器的默认端口为______________________。

A)80

B)8080

C)808

D)8000

答案:B

9. 创建JSP应用程序时,配置文件应该在程序下的___________目录中。

A)admin

B)servlet

C)WEB-INF

D)WebRoot

答案:C

10. 下列不适合用作JSP程序开发环境的是()

A)JDK+TOMCAT

B)JDK+Apache+Tomcat

C)JDK+IIS+Tomcat

D).NET Framework+IIS

答案:D

11. 基于JSP的Web应用程序的配置文件是()

B)WEB-INF

答案:A

12. 文件的保存位置为C:Tomcat ,在浏览器地址

栏输入( )可以浏览该网页。

答案:B

13. 假设在helloapp应用中有一个,它的文件路径如下:

%CATALINA_HOME%/webapps/helloapp/ 那么在浏览器端访问的URL是什么?

( )

答案:B

14. 下列哪一项不属于JSP动作指令标记?()

A)

B)

C)

D)

答案:D

15. 下列表单

,如果单击提交按钮时,

表单_________________________。

A)没有指定action属性,所以不做提交

B)使用post方式提交

C)提交到当前页

D)不确定

答案:C

16. 下列关于JSP指令的描述正确的是()

A)指令以“<%@”开始,以“%>”结束

B)指令以“<%”开始,以“%>”结束

C)指令以“<”开始,以“>”结束

D)指令以“”结束

答案:A

17. JSP 代码<%=“1+4”%>将输出( )

A)1+4

B)5

C)14

D)不会输出,因为表达式是错误的

答案:A

18. Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是()

A)<%@page%>作用于整个JSP页面

B)可以在一个页面中使用多个<%@page%>指令

C)为增强程序的可读性,建议将<%@page%>指令放在JSP文件的开头,但不是必须的

D)<%@page%>指令中的所有属性只能出现一次

答案:D

19. Page指令的()属性用于引用需要的包和类

A)extends

B)import

C)isErrorPage

D)language

答案:B

20. 当浏览器第二次访问以下JSP网页时的输出结果是什么?( )

<%! int a=0; %>

<% int b=0; a++; b++; %>

a=<%= a %>

b=<%= b %>

A)a=0 b=0

B)a=1 b=1

C)a=2 b=1

D)a=1 b=2

答案:C

21. 在JSP中,()动作用于将请求转发给其他JSP页面。 (选择一项)

A)forward

B)include

C)useBean

D)setProperty

答案:A

22. 在J2EE中,request对象的( )方法可以获取页面请求中一个表单组件对应多个值时

的用户的请求数据。(选择一项)

A) String getParameter(String name)

B)String[] getParameter(String name)

C)String getParameterValuses(String name)

D) String[] getParameterValues(String name)

答案:D

23. JSP的内置对象中,按作用域由小到大排列正确的是()

A)request—>application—>session

B)session—> request—> application

C)request—> session—> application

D)application—> request—>session

答案:C

24. 获取Cookie[]所用到的方法是()

A)kies()

B)kie()

C)kies()

D)kie()

答案:A

25. 某一用户在同一个Web服务目录的4个页面间跳转,其session对象有()个ID。

A)1

B)2

C)3

D)4

答案:A

26. 某一用户的session对象在() 一直存在

A)连接断开之前

B)用户跳转到其他页面之前

C)用户连接到其他网站之前

D)服务器关闭之前

答案:A

27. 重定向可以使用______________________方法。

A)direct(“”):

B)direct(“”);

C)

D)

答案:A

28. sesson对象的_____________方法用于判断是否为开始新会话。