脚本语言和互动网页设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一单项选择题
1.C
2.B
3.C
4.B
5.B
6.A
7.D
8.D
9.D
10.C
11.D
12.A
13.A
14.A
15.A
二填空题
16.超文本链接标示语言
17.<FORM> input
18..<pre> <head> <title>
19.keydown、keyup和keypress
20.引用JavaScript内部对象。
创建新对象
21.声明、小脚本和表达式
22. Page对象 request对象
23.属性、getter/setter方法和构造函数组成
24.getRealPath
25.java.io.*
三简答题
26.画出下面页面文件的运行结果
<html>
<head>
<title>成绩显示页面</title>
</head>
<body>
<table width="75%" border="1" align="center"> <caption>
学生成绩表
</caption>
<tr>
<td width="25%">姓名</td>
<td width="50%">课程</td>
<td width="25%">成绩</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
答:
27.JSP页面是如何在客户端和服务器端执行的?
答(1) jsp部署到tomcat中,客户端通过浏览器访问jsp,然后发出Request (请求);
(2) JSP Container 将JSP转译成Servlet的源代码;
(3) 将产生的Servlet 的源代码经过编译后,并加载到内存执行;
(4) 把结果Response (响应)至客户端。
28.JSP有哪些动作元素?作用分别是什么?
答JSP共有以下6种基本动作 jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean 的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT 或EMBED标记。
29.JSP中两种跳转方式是什么?区别是什么?
答在JSP中,跳转页面有两种方式:1.forward跳转:<jsp:forward page="跳转页面地址" />2.response跳转:response.sendRedirect("跳转页面地址");两种跳转的区别如下:1.forward跳转:a.服务器端跳转,地址栏不改变;b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);c.request设置的属性在跳转后的页面仍可以使用;d.使用<jsp:param name="参数名" value="参数值" />传递参数。
2.response跳转:a.客户端跳转,地址栏改变;b.所有代码执行完毕后跳转;c.跳转后的页面不能使用上一个页面的request属性;d.使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。
30.什么是Servlet,有哪些特点?
答:Servlet是对支持Java的服务器的一般扩充。
它最常见的用途是扩展Web 服务器,提供非常安全的、可移植的、易于使用的CGI替代品。
它是一种动态加载的模块,为来自Web服务器的请求提供服务。
它完全运行在Java虚拟机上。
由于它在服务器端运行,因此它不依赖于浏览器的兼容性。
servlet容器:
负责处理客户请求、把请求传送给servlet并把结果返回给客户。
不同程序的容器实际实现可能有所变化,但容器与servlet之间的接口是由servlet API定义好的,这个接口定义了servlet容器在servlet上要调用的方法及传递给servlet的对象类。
servlet的生命周期:
1、servlet容器创建servlet的一个实例
2、容器调用该实例的init()方法
3、如果容器对该servlet有请求,则调用此实例的service()方法
4、容器在销毁本实例前调用它的destroy()方法
5、销毁并标记该实例以供作为垃圾收集
一旦请求了一个servlet,就没有办法阻止容器执行一个完整的生命周期。
容器在servlet首次被调用时创建它的一个实例,并保持该实例在内存中,让它对所有的请求进行处理。
容器可以决定在任何时候把这个实例从内存中移走。
在典型的模型中,容器为每个servlet创建一个单独的实例,容器并不会每接到一个请求就创建一个新线程,而是使用一个线程池来动态的将线程分配给到来的请求,但是这从servlet的观点来看,效果和为每个请求创建一个新线程的效果相同。
31.JSP有哪些中文问题,如何解决?
答:要明确自己为什么会遇到乱码,遇到什么样的乱码(无意义的符号还是一串问号或者其它什么东西)。
新手遇到一堆很乱的字符时通常不知所措,最直接的反映就是打开google搜索”java中文”(这个字符串在搜索引擎上的查询频率非常高)
原因:a,开发者所用的操作系统
b,j2ee容器的名称,版本
c,数据库的名称,版本(精确版本)以及jdbc驱动的版本
d,出现乱码的source code
32简述JavaBean的存在范围
答:JavaBean的四种存在范围如下:
1.page范围:属性只在当前页面有效,如果跳转到其他页面,需要重新实例化。
适用于JSP页面操作资源;
2.request范围:属性在服务器端跳转中有效;
不常用,必须使用<jsp:forward page="URL"/>跳转;
3.session范围:属性在一次会话中有效;
适用于用户登录;
4.application范围:属性保存在服务器中;
尽量少用,占用资源。
四编程题
33.编写JSP程序,在当前Web应用目录下创建文件夹abc,并在改文件夹下创建文本文件 cba。
txt
答:java.io.File myFile = new java.io.File(Save_Location+"abc//cba.txt"); java.io.FileOutputStream fout = null;
try {
fout = new java.io.FileOutputStream(myFile);
byte b[]= "你好!".getBytes();
fout.write(b);
fout.flush(); //写入文件
fout.close(); //关闭
}
catch (java.io.FileNotFoundException e) {
e.printStackTrace();
}
catch (java.io.IOException ex) {
ex.printStackTrace();
}
%>。