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对象的_____________方法用于判断是否为开始新会话。


发布评论