一、选择题
1. 对于声明语法<%!%>的说法错误的是:(c)
A、一次可声明多个变量和方法,只要以“;”结尾就行 B、一个声明仅在一个页面中有效
C、声明的变量将作为局部变量 D、在预定义中声明的变量将在JSP页面初始化时初始化
2. 在JSP中使用
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.
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标准标记库中的___
6. 假定在一个Web应用中,我们创建了两个支持英文和中文的语言资源文件,它们分别为Resource.properties和Resource_zh_CN.properties,为了使我们开发的JSP页面能够支持国际化操作,需要在JSP使用JSTL的__
7.
8.
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)
html或jsp文件
(2)
(3)
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有哪些动作?作用分别是什么?
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. 两种跳转方式分别是什么?有什么区别?
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; }
}
并通过
现要求使用EL表达式语言取得mybean的num属性值,该EL表达式该怎么写?
4. 阅读下列程序(index.jsp和title.htm),回答问题。
文件名称:index.jsp
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("*")) {