文档库 最新最全的文档下载
当前位置:文档库 › Java试题

Java试题

一、选择题
1. 对于声明语法<%!%>的说法错误的是:(c)
A、一次可声明多个变量和方法,只要以“;”结尾就行 B、一个声明仅在一个页面中有效
C、声明的变量将作为局部变量 D、在预定义中声明的变量将在JSP页面初始化时初始化
2. 在JSP中使用标记时,不会出现的属性是:( c )
A. name B. property C. value D. 以上皆不会出现
3. Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D )
A. <%@ page %>作用于整个JSP页面。
B. 可以在一个页面中使用多个<%@ page %>指令。
C. 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。
D. <%@ page %>指令中的属性只能出现一次。
4. 在JSP中调用JavaBean时不会用到的标记是:( A )
A. B. C. D.
5. 不能在不同用户之间共享数据的方法是(A )
A、通过cookie B、利用文件系统 C、利用数据库 D、通过ServletContext对象
二、填空题
1. Jsp page指令其language属性默认值__java_____;
2. Jsp注释中一种是__Java注释_____,其注释语法为____// 或/*_____*/_______.另一种注释是___Jsp注释________,其语法为___<%-- --%>
3. 从资源文件中读取消息内容的JSTL标记是_____。
4. ${fn:substringAfter("Welcome#To JSP World","#")}的输出结果为____ To JSP World _______。
5. 为了让所开发的应用能够支持多国语言,可以使用JSTL标准标记库中的_______或___ 标记将所需要的资源文件引入到JSP页面中。
6. 假定在一个Web应用中,我们创建了两个支持英文和中文的语言资源文件,它们分别为Resource.properties和Resource_zh_CN.properties,为了使我们开发的JSP页面能够支持国际化操作,需要在JSP使用JSTL的________或_________标记将资源文件包含到本页面中。
7. 标签的作用是 条件判断 。
8. 标签的作用是 将EL表达式的值存储在一个变量中 。
9. 标签的作用是 循环迭代 。
10. 标签的作用是 输出 。
11. 标签的作用是 处理字符串中由指定分隔符分隔的各个子串 。
12. 在本机上安装了Tomcat服务器,使用的均为默认安装选项,将自己编写的test.jsp文件放在Tomcat安装目录\ webapps\ examples目录里,那么在本机的浏览器中要访问test.jsp文件,应使用的url地址为 http://localhost:8080/examples/test.jsp 。
13. 当getParameter()方法的参数部分指定的输入控件不存在时,该方

法的返回值为 null 。
14. 列表框的name属性值为“city”,并且允许多选,若要一次读取所有的选中项并存放于数组str中,则对应的java语句为 String[] str = request.getParameterValues(“city”); 。
15. 若要修改Tomcat服务默认使用的端口号,可以在___server.xml__文件中修改。
16. page指令中language属性的默认值是_java___;isErrorPage属性的默认值是____false____;buffer属性的默认值是___8kb____。
17. 用response对象的___addCookie_____________方法可以将cookie对象写入客户端。
18. .已知文件look.jsp的路径为c:/myjsp/inc,文件login.jsp的路径为c:/myjsp。若使用response的重定向方法由look.jsp跳转到login.jsp中,则正确的写法为 response.sendRedirect(“../login.jsp”) 。
19. 在Tomcat中,所有编译好的JavaBean都需要放在某个应用目录下的_WEB-INF/classes_目录之下。
三、简答题
1. 请对JSP给出一个正确的定义,同时至少列举出它的三个特点。
2. 请至少列举出三个JSP中常用的内置对象并简要说明它们各自的功能。
3. 请简要说明编写一个数据库应用程序的基本流程。
4. 请简要说明编写一个JavaBean需要遵循的规范。
5. 请简要说明Servlet的生命周期分为几个阶段及各阶段调用的主要方法。
6. 简述JSP页面的工作原理。
(1) 客户端请求向JSP容器(如Tomcat)发出对JSP页面的请求;
(2) JSP容器将对应的JSP页面转换成Java Servlet源代码;
(3) JSP容器编译Servlet源代码,生成.class文件;
(4) JSP容器加载运行.class文件,生成响应结果;
(5) JSP容器把响应的输出结果发送到客户端。
7. JSP页面中注释有哪几种?
(1) Html注释:会输出到客户端浏览器,但不进行显示;
语法:
(2) Java注释:不会输出到客户端,但会被JSP引擎解释,写入生成的Servlet类中
单行注释://
多行注释:/* */
(3) JSP注释: 用于描述JSP程序代码,不会被JSP引擎解释,也不会输出到客户端。
语法:<%-- 这是隐藏的注释 --%>
8. JSP容器支持的元素类型有哪几种?
(1) 脚本元素
(2) 指令元素
(3) 动作元素
(4) 表达式语言(EL)
9. 如何使用JSP页面来处理运行时错误?
通过page指令的errorPage和isErrorPage属性处理错误。例如:
testerror.jsp
<%@ page errorPage="dealerror.jsp"%>
<%
/* 可能产生异常的代码 */
%>

dealerror.jsp
<%@ page contentType="text/html;charset=gb2312" isErrorPage="true"%>
<%
/* 对异常的处理代码 */
%>

10. 请列出三个JSP标准动作,并说明这

些动作完成的功能
(1) 动作:在JSP页面的执行过程中动态地加入外部的资源,外部的资源可以是
html或jsp文件
(2) 动作:允许将当前的请求转发至另一个动态页面或Servlet
(3) 动作:用来给JSP页面传递参数
11. 请列出JSP对象的四种作用范围,以及对应的内置对象。(5分)
12. 请列出JSTL标记库的5类标准标记库的名称。(5分)
13. 分别介绍标签的作用,以及他们之间的区别
14. 请列出标签的常用属性,并举例说明标签的用法。
15. EL中隐含对象param的作用是什么?
16. 在EL中访问变量的值可以使用如下的EL元素:${变量名},如果没有指定变量的有效范围,JSP容器会依次到哪几个范围内查找该变量?
17. <% String a = “a book”; %> <% pageContext.setAttribute( “b”, a ); %> 要使用EL访问该字符串,是用${a}还是${b}?
18. EL表达式语言中支持算术运算符+、-、*、/ 吗?
19. jsp有哪些内置对象?作用分别是什么?
application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。
Config对象允许将初始化数据传递给一个JSP页面
Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。
Out对象代表提供输出流的访问
Page对象代表JSP页面对应的Servlet类实例
PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性
Request对象提供对Http请求数据的访问,同时还提供用于加入特定请求数据的上下文
Response对象允许直接访问HttpServletResponse对象
Session对象可能是状态管理上下文中使用最多的对话
20. jsp有哪些动作?作用分别是什么?
操作被用来以“名—值”队的形式为其他标签提供附加信息
操作允许在请求是在现成的JSP页面里包含静态或者动态资源
操作允许将请求转发到另一个JSP、servlet或静态资源文件
标签用来在JSP页面中创建一个JavaBean实例并指定他的名字以及作用范围
此操作和setBean一起协作,用来设置JavaBean的属性
操作是对操作的补充,用来访问一个Bean的属性
用来产生客户端浏览器的特别标签,可以使用它来插入Applet和JavaBean

21. JSP中动态INCLUDE与静态INCLUDE的区别?
如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,但这个被包含文件不会被JSP编译器执行。相反,如果这个被包含文件是动态的文件,那么他将被JSP编译器执行。如果是动态文件还

可以用传递参数
22. JSP的内置对象及方法
答:request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果
pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法
session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
page表示从该页面产生的一个servlet实例。
23. MVC缩写的含义,以及各个部分通常实现技术?
24. 两种跳转方式分别是什么?有什么区别?


操作允许在请求是在现成的JSP页面里包含静态或者动态资源
操作允许将请求转发到另一个JSP、servlet或静态资源文件
25. JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
四、程序阅读题

1. 阅读下列程序,回答后面的问题。
文件名称:index.jsp
<%@ page contentType="text/html;charset=GBK" %>


这里是显示结果:





文件名称:in.htm
联系我们网站地图
站务管理
(1)简要说明页面中出现的<%@ page %>的作用。
设置输出文件的类型和字符集
(2)访问index.jsp页面,写出该页面的输出结果。
这里是显示结果:
联系我们网站地图站务管理
2. 请写出如下程序的运行结果:
<%@ page contentType="text/html; charset=gb2312" %>
<%! private int demoValue=56;
public int getValue()
{
return demoValue; }
%>

第一个表达式,value

的值是<%=demoValue%>

第二个表达式,value的值是<%=getValue()%>

第三个表达式,<%=new String("test")%>


第一个表达式,value的值是56
第二个表达式,value的值是56
第三个表达式,test

3. 有如下的JavaBean
package aaa;
public class A
{
private int num;
public void setNum(int num)
{ this.num = num; }
public int getNum()
{ return num; }
}
并通过创建了一个JavaBean的实例
现要求使用EL表达式语言取得mybean的num属性值,该EL表达式该怎么写?
4. 阅读下列程序(index.jsp和title.htm),回答问题。
文件名称:index.jsp

<%@ page contentType=”text/html;charset=gb2312”%>
<%@ include file=”title.htm”%>
您好,欢迎您的到来!


文件名称:title.htm
回到首页
校园新闻
师生论坛


(1)简要说明index.jsp文件中出现的<%@ include%>指令的作用。(2分)
(2)访问index.jsp页面,写出该页面的输出结果。(3分)

5. 阅读下列程序(forward.jsp和forforward.jsp)
文件名称:forward.jsp



"/>


文件名称:forforward.jsp
<%=request.getParameter("name")%>
and
<%=request.getParameter("friend")%>
are good friends!
(1)在浏览器的地址栏中输入http://127.0.0.1:8080/myjsp/forward.jsp?friend=Jack后回车,写出页面上的输出结果。(3分)
(2)本例中使用了动作进行重定向,请问页面执行完毕后,浏览器地址栏中的文件名仍保持forward.jsp文件名不变,还是改变为重定向后的新文件名forforward.jsp?(2分)
6. 阅读下面程序test.jsp,回答问题。
文件名称test.jsp
<%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%>

<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =DriverManager.getConnection("jdbc:odbc:mydsn","","");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from book where price>35.0");
while(rs.next())
{
out.print(rs.getString(2));
out.print(rs.getDouble(4));
out.print(“
”);
}
rs.close();
stmt.close();
con.close();
}
catch(SQLException e)
{ out.println(e.getMessage()); }
%>

数据源已配置完成,其中book表的内容如下所示:
bookID(文本型) bookName(文本型) publisher(文本型) price(双精度型)
001-22-23-1

J2EE应用开发 清华大学出版社 66.5
001-22-23-2 Java编程思想 机械工业出版社 35.0
001-22-23-3 JSP应用开发详解 电子工业出版社 59.9
(1)请写出本程序中所使用的数据库驱动程序的名称(驱动程序类名)。(2分)
(2)访问test.jsp页面,写出该页面的输出结果。(3分)

7. 阅读下列程序(JiSuanQi.java和act.jsp),回答问题。
文件名称:JiSuanQi.java
package jisuan;
public class JiSuanQi {
private String value1;
private String value2;
private String op;
public JiSuanQi() {
value1 = "";
value2 = "";
op = "";
}
public void setValue1(String v1) {
value1 = v1;
}
public void setValue2(String v2) {
value2 = v2;
}
public void setOp(String o) {
op = o;
}
public String jiSuan() {
int v1 = Integer.parseInt(value1);
int v2 = Integer.parseInt(value2);
int result=0;
if(op.equals("+")) {
result = v1 + v2;
}
else if(op.equals("-")) {
result = v1 - v2;
}
else if(op.equals("*")) {

相关文档