《Web应用开发基础》期末复习整理~2021(九章知识点)

学校课程期末复习 专栏收录该内容
5 篇文章 2 订阅

注:出现404说明我修改了文章错误的部分,文章在被审核,不是我删除了文章

§1 Web基础知识与开发运行环境

1. WWW的全称是什么?


World Wide Web

2. 简述Web的特点


① 超文本信息系统
② 图形化、易于导航
③ 平台无关
④ 分布式
⑤ 新闻性
⑥ 动态、交互

3. B/S体系结构有哪三层?


① 客户端浏览器
② Web服务器
③ 数据库服务器

4. B/S架构下,哪个协议实现浏览器和Web服务器之间的信息访问、传输和交换?


HTTP协议(HyperText Transfer Protocol)

5. Web服务器有哪两个层面的含义?


① 指安装了Web服务程序的计算机
② 指Web服务器程序
可以管理各种Web文件,并为提出HTTP请求的浏览器提供响应

6. Web服务器接到浏览器的请求后,把____转换成页面所在服务器的文件路径名


URL

7. 动态网页的实现一般采用____和____两种程序设计方法


客户端编程,服务器端编程

8. Web客户端编程中程序员把客户端代码编写到HTML文件中,当用户提出对某个网页的请求时,这些____代码和____代码一起以响应方式返回提出请求的浏览器


客户端,HTML文件

9. Web服务器端中程序员将编写的代码保存在____上。当用户提出对某个网页的请求时,这个请求所要访问的页面代码都在服务器端执行,并把执行结果以HTML文件代码的形式传回浏览器,这样浏览器接收的只是程序执行的结果。


服务器

10. TCP/IP协议是一个协议集,其中最重要的是____协议和____协议


TCP,IP

11. 简述Web事务处理的步骤


① 客户端与服务器建立连接
② 客户端向服务器提出请求
③ 服务器送回响应(如果请求被接受),在响应中包括状态码和所需的文件
④ 客户端和服务器断开连接

12. 文件传输协议FTP,FTP既是一种文件传输协议,也是一种服务。提供这种服务的设施叫做____


FTP服务器

13. ____是识别Internet中主机及网络设备的唯一标识


IP地址

14. IP地址由两部分组成:____,____


网络地址,主机地址

15. IP地址可分成5类,其中A类:用于规模很大、主机数目非常多的网络。A类地址的最高位为____,接下来的7位为____,其余24位为____


0,网络地址,主机地址

16. 南京工业大学Web服务器的域名为:____


www.njtech.edu.cn

17. URL格式如下:<信息服务类型>://<信息资源地址>/<文件路径>。<信息服务类型>是指Internet的____,包括ftp(文件传输服务)、http(超文本传输服务)等。


协议名

18. PHP是一种跨平台的服务器端____语言


嵌入式脚本

19. JSP具有如下一些特点:内容生成与显示分离。使用____标记或小脚本来生成页面上的动态内容(内容是动态的,但可根据用户请求而变化)。动态生成的内容被封装在标记和____组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行



JSP,JavaBeans

20. 动态网页设计技术简介,ASP.NET采用全新的编程环境,ASP.NET与ASP的主要区别体现在以下三个方面:____,____,____


效率,可重用性,代码量

21. Web应用程序使用HTTP作为核心通信协议、通过互联网让Web浏览器和服务器进行通信,因此一个网站需要____和____


硬件架构,软件架构

22. Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。实际上,Eclipse只是一个____和一组____,通过插件组件构建开发环境



框架,服务

23. 请写出三条网站攻击手段


① SQL注入
② DNS攻击
③ 跨站脚本攻击

24. 安全配置中关闭____的服务,安装操作系统的____,将服务升级到____并安装所有补丁,根据服务提供者的安全建议进行配置


不必要,最新补丁,最新版本

25. 防火墙是指一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的边界上构造的____,保护内部网免受非法用户的侵入


保护屏障

26. 防火墙主要由哪4个部分组成?


① 服务访问规则
② 验证工具
③ 包过滤
④ 应用网关

27. 利用入侵检测系统进行实时监控,发现正在进行的攻击行为和攻击前的试探行为,记录黑客的____和____的方法步骤


来源、攻击

28. 优化网站代码,避免SQL注入等攻击手段,检查代码中可能出现的漏洞,经常对代码进行____和____


测试、维护

§2 HTML、XML和CSS

1. Web网站开发的5个阶段


① 策划与定义
② 设计
③ 开发
④ 测试
⑤ 发布

2. 静态网页主要采用____或____等语言编写


HTML,XML

3. 简述动态网页的优缺点


优点

  • ① 交互性良好,网页会根据用户的请求而动态改变和显示内容
  • ② 以数据库技术为基础,有利于网站内容的更新,可以大大降低网站维护的工作量

缺点

  • ① 需要数据库处理,所以动态网站的访问速度有所减慢(随着技术发展,影响已经很小)
  • ② 技术复杂,开发难度较高

4. 写出HTML文档的基本构成


基本构成代码如下:

<html>
	<head>
		文档头部分
	</head>
	<body >
		文档的主体部分
	</body >
</html>

5. 写出两种HTML中颜色值的表示方法


① RGB表示
② 英文单词表示

6. 写出超链接标记格式


如下:

<a href="URL信息">超链接文本或图像</a>

7. ____和____标记对界定表格结构的起始和结束


<table></table>

8. 请写出图中的简单表格示例



代码如下

<table border=1 cellspacing=2 cellpadding=4>
	<caption>物资列表</caption>
	<tr>
		<td>商品类别</td>
		<td>数量</td>
	</tr>
	<tr>
		<td>日用百货</td>
		<td>10</td>
	</tr>
	<tr>
		<td>电器</td>
		<td>20</td>
	</tr>
	<tr>
		<td>轿车</td>
		<td>5</td>
	</tr>
</table> 

9. 表单的输入域有如下三类:以标记____定义的多种输入域,包括text、radio、checkbox、password、hidden、button、submit、reset和file等,以标记____定义的文本域。以标记____和____定义的下拉列表框


<input><textarea><select><option>

10. 定义下拉列表框使用<select><option>两个标记,请写出他们的语法


语法格式如下:

<select name=下拉列表框名 multiple>
	<option value=设定值>表项内容</option>
	......
</select>

11. 当用户需要上传文件时,可使用file输入域。文件域由一个____和一个____组成。


文本框,“浏览”按钮

12. 框架,首先需确定如何分割窗口,然后建立描述窗口分割的主文件,再为每个框架建立相应的HTML文件。主文件的定义方法是

<html>
	<head>[头部标记]</head>
	<frameset>{<frameset>...</frameset>}
		<frame>
		<frame>
		...
	</frameset>
	[<noframes>字符串</noframes>]
</html>

其中,____标记定义窗口分割的方式(横向或纵向)和大小,____标记定义了若浏览器不支持框架时所显示的内容


<frameset><noframes>

13. 简述 HTML5 的 4个新特性


① 语义特性
② 跨平台运行
③ 简单易用
④ 用户友好

14. 智能表单新增属性pattern<input>标记的验证属性,该属性的值是一个____,通过这个表达式可以验证输入内容的有效性


正则表达式

15. 智能表单新增属性required,是一个____属性,包含此属性的表单元素必须被填写。在发送时若仍为空,浏览器将会给予相关提示


布尔值

16. HTML5新功能音视频支持,HTML5 通过标记____和____支持嵌入式的媒体,使开发者能够方便地将媒体嵌入到HTML文档中


<audio><video>

17. 简述为什么需要CSS?


① 表现和内容相分离
② 强大的控制能力(CSS将对象引入HTML,从而可以使用JavaScript脚本控制网页标签的显示效果)
③ 易于页面维护、更新及改版
④ 减少页面代码、提高网页浏览速度

18. 写出CSS样式表定义的基本语法


CSS样式表定义的基本语法如下:

选择符(Selector){
	规则(Rule)表
}

19. 样式表定义:

p {
	font-family: "宋体"; 
	color:darkblue; 
	background-color:yellow; 
	font-size:9pt;
}

定义了一个样式表供HTML文件的____标记使用


<p>

20. 伪类是特殊的类,能自动地被支持CSS的浏览器所识别。例如,____(已访问的链接)和____(可激活链接)描述了两个锚的状态


visited links,active links

21. 简述样式表的作用优先顺序遵循的4条原则


① 内联样式中所定义的样式优先级最高
② 其他样式按其在HTML文件中出现或被引用的顺序,越在后出现,优先级越高
③ 选择符的优先级:id选择器 > 类选择器 > 元素类型选择器
④ 未在任何文件中定义的样式,将遵循浏览器的默认样式


对①的解释:<div style="width: 65px; height: 20px;" />
对②的解释:以下代码,<div>标签字体最终颜色为red

<div class="class2 class1" />
<style>
	.class1 {
		color: black;
	}
	.class2 {
		color: red;
	}
<style/>

22. CSS属性中字体属性可以通过什么综合设置字体:斜体、加粗,还可指定字高


Font

23. 颜色和背景属性表background-attachment是设置了什么属性?


指定背景图像是否跟随页面内容滚动,默认值为scroll

24. 文本属性表中text-align可取值left | right | center | justify,是什么含义?


设定元素水平对齐方式,默认值为由direction属性决定 { left direction = "ltr" right direction = "rtl" \begin{cases} \text{left} & \text{direction = "ltr"} \\ \text{right} & \text{direction = "rtl"} \end{cases} {leftrightdirection = "ltr"direction = "rtl"


描述
left把文本排列到左边
right把文本排列到右边
center把文本排列到中间
justify实现两端对齐文本效果
inherit规定应该从父元素继承 text-align 属性的值

25. 列表属性表中list-style-position可取值outside | inside,是什么含义?


规定列表中列表项目标记的位置,默认值outside


描述
inside列表项目标记放置在文本以内,且环绕文本根据标记对齐
outside保持标记位于文本的左侧,列表项目标记放置在文本以外,且环绕文本不根据标记对齐
inherit从父元素继承

26. CSS提供用于二维和三维空间定位的属性,它们是____、____、____。


topleftpostion

27. 请写出当前CSS三维空间定位属性用法示例



示例如下:

<html>
	<head>
		<title>三维定位属性用法</title>
		<style type="text/css">
			span { font-size:18pt;}
			span.level2 { position:absolute; z-index:2; left:100;top:100; color:red;}
			span.level1 { position:absolute; z-index:1; left:101;top:101; color:green;}
			span.level0 { position:absolute; z-index:0; left:102;top:102; color:yellow;}
			p.lev1 { position:absolute; top:200;left:150; z-index:2; font-size:34pt;color:blue;}
			p.lev2 { position:relative; top:202 ;left:150; z-index:-2;font-size:28pt;color:darkred; }
		</style>
	</head> 
	<body>
		<span class="level2">三维定位属性用法。</span> 
		<span class="level1">三维定位属性用法。</span> 
		<span class="level0">三维定位属性用法。</span> 
		<p class="lev1">文字的重叠显示</p>
		<p class="lev2">文字的重叠显示</p>
	</body>
</html>

28. 请简述 在可扩展性中 XML与HTML的区别


HTML不具有扩展性
XML 是元标记语言,可以定义自己需要的标记

29. XML文档的组成是标记和开/闭标记之间的文字结合在一起构成元素。所有元素都可以有自己的属性,属性采用“____”对的方式写在标记中


属性/值

30. XML文档中使用级联样式表(CSS)显示XML文档有哪两个基本步骤


① 创建CSS样式表文件
② 链接CSS样式表到XML文档

§3 JavaScript

1. JS是基于____和____驱动的


对象,事件

2. 写出JS的四个特点


① 简单性
② 基于对象
③ 可移植性
④ 动态性

3. 将JS程序嵌入HTML文件的方法有两种:
在HTML文件中使用____标记加入JS语句,其格式为:____
将JS程序以扩展名“____”单独存放,再利用以下格式的script标记嵌入HTML文件:____。


<script><script language="JavaScript"></script>
.js<script src=JavaScript文件名></script>

4. 写出JS的三大数据类型


① 数值型
② 布尔型
③ 字符串型

5. JS的常量值可以为:____、____、____和____。另外,JS中有一个____,表示什么也没有,如试图引用没有定义的变量,则返回一个____


整型,实型,布尔型,字符串型,空值nullnull

6. JS用关键字____声明变量,或使用____的形式声明变量,变量名____(区分/不区分)大小写。


var,赋值,区分

7. 写出JS的六类运算符


① 赋值运算符
② 算术运算符
③ 逻辑运算符
④ 字符串运算符
⑤ 关系运算符
⑥ 位运算符

8. JS在函数内用var保留字声明的变量是____,其作用域仅局限于____;
JS在函数外用var保留字声明的变量是____,其作用域是整个____文件


局部变量,该函数
全局变量,HTML

9. 写出JS的三种控制结构


① 顺序
② 分支
③ 循环

10. ____是指对计算机进行一定的操作而得到的结果,例如将鼠标移到某个超链接上、按下鼠标按钮等
由鼠标或热键引发的一连串程序的动作,称为____
对事件进行处理的程序或函数,称为____


事件
事件驱动
事件处理程序

11. JS中的对象是由____和____两个基本元素构成的。____是对象的数据,____是对数据的操作


属性,方法,属性成员,方法成员

12. JS中创建对象实例的方法是:____;对象属性成员的引用格式是:____;对象方法成员的引用格式是:____


var 对象实例名 = new 对象名(实例参数表)对象实例名.属性成员名对象实例名.方法成员名

13. 写出for…in循环的格式


如下

for (var 变量名 in 对象实例名) {
	// 循环体
}

14. 写出JS常用的七个内置对象


Array
String
Math
Date
Number
Boolean
Function

15. 浏览器对象模型将网页处理为____的集合,网页元素都可以是____,具有____、____和____,通过脚本语言就可以操作网页元素。浏览器对象模型遵循W3C所定义的文档对象模型____规范,通过使用____,网页上的文字、图像等都能被作为对象来处理



对象,对象,属性,方法,事件,DOM,DOM

16. Window对象中,与对话框有关的方法包括____、____和____
与窗口焦点有关的方法包括____和____


alertconfirmprompt
focusblur

17. Document对象的属性:包括数值属性和对象数组属性
Document对象的方法主要有:____、____、____、____和____。


writewritelnopencloseclear

18. Form对象的属性与标记语法定义中的属性相对应,包括:____、____、____、____、____、____和____


actionnamemethodtargetencodingelementslength

19. Form对象中,____对应表单提交后启动的服务器应用程序的URL,____对应表单的名称,与标记定义中的name属性相对应。____指出浏览器将信息发送到由action属性指定的服务器的方法,它只可能是____或____。


actionnamemethodGETPOST

20. Form对象的方法包括____和____
submit( )方法将触发Submit事件,引起____事件处理程序的执行
reset( )方法清除表单中的所有输入,并将各输入域的值设为原来的默认值,该方法将触发____事件处理程序的执行


submitreset
onSubmit
onReset

21. 写出Form的八个子对象


button
text
textarea
password
hidden
checkbox
radio
select

22. 写出Frame对象的四个方法(它们与Window对象方法完全一致)


blur
focus
setTimeout
clearTimeout

23. ____,即Document Object Model,文档对象模型,它是由W3C提出的


DOM

24. DOM是一个跨平台的、可适应不同程序语言的文件对象模型,它采取直观且一致的方式,将____或____文档进行模型化处理,提供存取和更新文件内容、结构和样式编程接口


HTML,XML

25. 使用DOM技术,不仅能够访问和更新页面的内容及结构,而且还能操纵文件的____


样式

26. DOM将文件作为一个____结构,每个____表现为一个HTML标记或HTML标记内的文本项。树形结构精确地描述了HTML文件中标记间以及文本项间的相互关联性,这种关联性包括____类型、____类型和____类型。


树形,节点,childparentsibling

27. 写出DOM的两个对象集合


attributes
childNodes

28. DOM树形结构的节点有____属性和____属性两类
通过____属性可以浏览节点,并可获得节点的类型及名称等信息
通过____属性可以访问文字节点的内容


只读,读/写
只读
读/写

29. JS在Web开发中地位重要,因此各种JS框架和库不断出现,如____、____、____和____等,它们提供了常用开发功能的封装或软件框架


JQueryReactVueAngular

30. JQuery是封装完备的JS类库,它封装JS常用的功能代码,提供一种简便的JS设计模式,优化HTML文档操作、事件处理、动画设计和____


Ajax交互

§4 JSP基本语法与内置对象

1. 当Web服务器上的一个JSP页面第一次被请求时,服务器JSP引擎首先将JSP页面转换为____源文件,即____,然后将其编译为字节码____文件,再执行字节码文件返回结果


Java,Servlet,.class

2. JSP指令主要用于设定JSP页面范围内的相关信息。语法格式是:____
其中,指令名用于指定指令名称;有三种JSP指令:____、____、____。


<%@ 指令名 属性名1="属性值" 属性名2="属性值" ...%>
pageincludetaglib

3. include指令可将另一个JSP文件嵌入页面,它仅有____属性,语法格式是:____
taglib指令用于定义页面所使用的标签库,并指定标签前缀。语法格式是:____
其中,____属性指定标签库文件位置,____属性指定标签前缀


file<%@ include file ="文件名" %>
<%@ taglib uri ="tagURI" prefix ="tagPrefix" %>
uriprefix

4. JSP脚本标识包括:____、____、____


JSP声明,JSP表达式,程序段

5. JSP声明在页面中使用的变量和方法,语法格式是:____
JSP表达式的值被转换为字符串直接输出到页面,语法格式是:____
其中,表达式须为合法的____表达式。


<%!Java声明 %>
<%= 表达式 %>
Java

6. JSP程序段是JSP页面中嵌入的Java代码或脚本代码,可包含____ 、____ 、____等
通过程序段可____ 、____ 、____等,语法格式为:________


变量,表达式,流程控制语句
处理请求与响应,向页面输出内容,访问session会话,<% 程序段 %>

7. 写出JSP的九大内置对象和四大作用域


九大内置对象 { ① request ② response ③ session ④ out ⑤ page ⑥ application ⑦ pageContext ⑧ config ⑨ exception \begin{cases} ① \text{request} \\ ② \text{response} \\ ③ \text{session} \\ ④ \text{out} \\ ⑤ \text{page} \\ ⑥ \text{application} \\ ⑦ \text{pageContext} \\ ⑧ \text{config} \\ ⑨ \text{exception} \end{cases} requestresponsesessionoutpageapplicationpageContextconfigexception,四大作用域 { ① page ② request ③ session ④ application \begin{cases} ① \text{page} \\ ② \text{request} \\ ③ \text{session} \\ ④ \text{application} \end{cases} pagerequestsessionapplication

8. Web采用HTTP协议在服务器与客户端之间进行通信控制,____和____对象提供了HTTP协议请求和响应的信息。____对象封装了客户端的请求信息,包括头信息、系统信息、请求方式及请求参数等。____对象封装了HTTP服务器的响应


requestresponserequestresponse

9. 在request对象的方法中,获取表单提交的名为name的一个参数值的方法是____ ,获取表单提交的所有名为name的一组参数值的方法是____ 。在response对象的方法中,重定向到新的网页的方法是____ ,向客户端返回一个二进制输出字节流的方法是____


getParameter(String name)
getParameterValues(String name)
sendRedirect(String URL)
getOutputStream()

10. 在session对象的方法中,使用指定的名称和值来产生一个对象的方法是____ ,返回指定名称绑定对象的方法是____ ,移除指定名称对象的方法是________。


setAttribute(String name, Object value)
getAttribute(String name)
removeAttribute(String name)

11. application对象用于记录整个网站的信息。返回application对象中与指定名称绑定对象的方法是____ ,设置指定名称的属性值的方法是____ ,从application对象中删除名为name的属性的方法是________ 。


getAttribute(String name)
setAttribute(String name, Object value)
removeAttribute(String name)

12. ____对象用于向客户端输出信息,并管理响应缓冲


out

13. out对象的方法中,向客户端输出字符串的方法有:____、____


printprintln

14. ____对象代表JSP页面,即当前JSP编译后的____类的对象


pageServlet

15. page对象的方法中,返回当前Object的类的方法是:____ ,返回当前Object的hash代码的方法是:____


getClass()hashCode()

16. ____对象代表页面上下文,用于访问JSP之间的共享数据


pageContext

17. pageContext对象的方法中,获取指定范围(范围参数有四个:PAGE_SCOPEREQUEST_SCOPESESSION_SCOPEAPPLICATION_SCOPE)的name属性值的方法是:____,设置指定范围的属性值的方法是:____


getAttribute(String name,int scope)
setAttribute(String name, Object value, int scope)

18. ____对象表示Servlet的配置信息,其作用是访问____中Servlet的配置信息。


configweb.xml

19. config对象的方法中,获取名为name的初始化参数值的方法是:____ ,获取Servlet的名称的方法是:____


getInitParameter(String name)getServletContext()

20. exception对象用于处理JSP执行时发生的异常。在产生异常的JSP页面的page指令中设置____ ,在处理异常的JSP文件的page指令中设置________


errorPage="处理异常JSP文件名"isErrorPage="true"

21. JSP动作标识是一种特殊标记,格式为____ ,用于控制JSP引擎的动作
JSP有以下基本动作标识:____ 是在页面被请求时引入一个文件;____ 是将请求转到一个新的页面;还有____ 是提供附加参数信息


<jsp:***>
jsp:includejsp:forwardjsp:param

22. include动作标识语法格式为:________,page指定包含的其他文件是____路径名,可以是____、____或____;flush为可选属性,说明________


<jsp:include page="url" flush="true|false" />,相对,html,jsp,文本文件,是否刷新缓冲区

23. include动作标识与include指令的主要区别:____ 、____、和____


① 编译时机不同
② 对属性表达式支持不同
③ 对变量/方法能否重命名的要求不同

24. forward动作标识将请求转发到其他Web资源,如:____ 、____ 和____ 等,执行该标识中指定的页面。语法格式是:________


HTML,JSP,Servlet,<jsp:forward page="url" />

25. forward动作标识与response对象的sendRedirect()方法的主要区别:____、____和____


forward动作标识是服务器直接访问目标地址URL,将其内容发送给浏览器;sendRedirect()方法是服务端发送一个状态码,让浏览器重新去请求URL
forward在页面之间可以共享request数据;sendRedirect()方法则不能
forward是服务器内部的操作,只能在同一个Web应用程序内的资源之间转发请求;sendRedirect()方法不仅可重定向到当前应用程序的其他资源,还可以重定向到同一站点上其他应用程序中的资源,甚至重定向到其他站点的资源

26. param动作标识与includeforwardplugin等标识配合使用,用于传递所需的参数。语法格式如是:________


<jsp:param name="属性名" value="属性值" />

27. Cookie指Web服务器为了____、进行会话跟踪而存储在用户浏览器上的数据。Cookie是存储在____端,Session是存储在____端


辨别用户身份,客户,服务器

28. JSP操作Cookie主要包括____ 、____ 和____


创建Cookie,发送Cookie,读取Cookie

29. JSP创建Cookie的语法格式有:________


Cookie cookie = new Cookie("Name", "Value");

30. response对象中定义了____ 方法,它用于在其响应头中增加一个相应的Set-Cookie头字段,将所定义的Cookie对象写入客户端浏览器。例如:________


addCookie()response.addCookie(cookie)

§5 Servlet与JavaBean

1. 一个Servlet程序的创建实际上是继承一个Servlet API提供的____类,并根据需要重写对HTTP请求响应处理的方法


HTTPServlet

2. HttpServlet的____,____,____方法用以完成Servlet生命周期活动


init()service()destroy()

3. init()方法完成Servlet的____工作,是servlet对象固有的初始化服务方法,Servlet首次被客户请求加载时调用


初始化

4. service()方法用来________,可以被多次调用,缺省的service()方法功能是调用与 HTTP 请求的方法相应的doxxx()方法


响应处理客户的HTTP请求

5. Servlet运行配置,配置servlet名、完整路径、url访问地址、加载顺序、初始参数等。有________,________两种配置方法


采用web.xml文件配置,采用注解配置

6. web.xml基本文件结构中,<servlet>...</servlet>配置servlet名和____信息


完整路径

7. web.xml基本文件结构中,<load-on-startup> 1 </load-on-startup>指定demoServlet的____。<param-value>20</param-value>指定demoServlet加载时的____。



加载顺序,初始参数值

8. 当采用注解配置Servlet时,直接在servlet程序中采用注解符进行配置,注解配置代码形式为____

@WebServlet(
	name = "myServlet",
	urlPatterns = { "myservlet" },
	loadOnStartup = 1,
	initParams = {
		@WebInitParam(name="username", value="Jack")
	}
)

9. Servlet API提供用于________、________、________的类和接口,包括:Servlet接口, GenericServlet类,HttpServlet类,ServletConfig接口,HttpServletRequest接口,HttpServletResponse 接口


管理Servlet运行,创建Web系统、响应HTTP请求

10. ____,由javax.servlet包提供的一组Java Servlet的基础类和接口


Servlet接口

11. ServletConfig接口,由javax.servlet包提供,用于提供对________的访问,为抽象接口,未定义具体实现


Servlet配置

12. GenericServlet类,由javax.servlet包提供,定义了一个通用的、不依赖于具体协议的Servlet,实现了除了____的Servlet接口的其他4个方法


service()

13. HttpServlet类是GenericServlet的子类,是面向HTTP协议的Servlet API,HttpServlet类提供________、________的doxxx()系列方法


支持HTTP协议,处理HTTP请求

14. 创建一个HttpServlet类,重写doGet()方法以处理HTTP Get请求


public class MyServlet extends HttpServlet {
	// 重写doGet方法
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		System.out.println("doGet!");
	}
}

15. 在重写doGet方法中,可以response.setContentType("text/html;charset=____"); 来防止乱码


utf-8

16. 浏览器采用____和____方法提交本网页待处理的输入数据,传递给Servlet程序处理。Servlet采用Request对象的________方法用于接收从表单传递的数据


GETPOSTgetParameter

17. 组件封装了一组解决特定问题的____和____,是可复用的软件单元,组件技术为应用系统的开发提供了有效、便利的开发平台,使系统更易于开发实现


相关类,对象

18. JavaBean是采用Java语言实现特定功能的组件,具有独立性、可重用性、跨平台、可视化开发等特点,JSP与浏览器之间的关系是____ ,____的关系


RequestResponse

19. 标准的JavaBean是一种特殊的Java类,遵守JavaBean API规范,应实现________接口,以适应组件跨网络平台的规范要求


java.io.Serializable

20. 标准的JavaBean类中必须包含无参数构造函数,提供对属性访问的____和____函数


setget

21. 符合规范的JavaBean示例中,怎么定义get属性函数,请提供代码示例

public int getAge() {
	return age;
}

22. 符合规范的JavaBean示例中,怎么定义set属性函数,请提供代码示例

public void setAge(int age) {
	this.age = age;
}

23. 创建和部署JavaBean,需要放到指定的目录下,以便服务器能找到执行,一般为____


WEB-INF/classes

24. JavaBean的4种属性________ ,________ ,________ ,________


简单属性,索引属性,绑定属性,约束属性

25. JavaBean的绑定属性是指当该属性发生变化时会影响其他相关对象,属性值改变时,将触发________事件对象的产生


PropertyChange

26. JavaBean的约束属性是指当该属性值发生变化时,属性相关的其他对象可以否决属性值的变化与绑定属性类似,可以通过____________方法加入约束属性监听对象


addVetoableChangeListener

27. 放在____________目录下的JavaBean可以被JSP引用


WEB-INF/classes

28. JSP页面中引用JavaBean的动作指令:________,________ ,________


<jsp:useBean /><jsp:setProperty /><jsp:getProperty />

29. 在JSP中创建或加载一个JavaBean实例,以实现引用JavaBean,其中<jsp:useBean id=""/>id需要指定____



Bean对象名称

30. <jsp:getProperty>获取Bean属性指令,写出其基本语法形式


<jsp:getProperty name="beanName" property="propertyName" />

§6 JSP数据库应用

1. Web数据库访问接口主要有________ 和________ 。


JDBC,ODBC

2. java应用程序需要通过________ 和________来实现对数据库的操作。


JDBC DriverJDBC Driver Manager

3. SQL语言具有________ 、________ 、________ 和________ 的功能。


数据定义、数据查询、数据操作、数据控制

4. SQL SELECT查询语句中INTO语句的作用是________________ 。


从一个表中选取数据,插入到另一个表中(常用于备份)

5. SQL语句中INSERT的作用是________________。


向表中插入一条或多条记录

6. SQL DELETE 语法格式为________________。

delete from 表名 [where表达式];

7. 主要SQL语句包含SELECT语句、INSERT语句、DELETE语句和________。


UPDATE语句

8. 不同类型的Java代码程序,可以使用________完成数据库访问功能。


JDBC API

9. 驱动程序包为____文件,包括驱动程序________ 类。


.jar,Driver

10. Connection connect(String url, Properties info)语句的作用是____________。


创建一个到给定URL的连接

11. 注册mysql使用的驱动时String url=“jdbc:mysql://localhost:8080/myData”;中的8080代表________


端口号

12. Connection接口用于____和____数据库连接。


管理,维护

13. void setReadOnly(Boolean readonly)语句中:____为只读模式,____为关闭只读模式


truefalse

14. Statement接口提供了三种执行SQL语句的方法:________ 、________ 、________ 。


executeexecuteQueryexecuteUpdate

15. PrepareStatementStatement的区别在于:PrepareStatement用来完成________ 的SQL语句执行


动态带参

16. JDBC访问数据库的一般步骤中最后一项为________。


关闭数据库连接

17. 使用forName()方法加载MySQL驱动程序的语句为____________________。

Class.forName("com.mysql.jdbc.Driver")

18. 与待访问数据库建立连接时,可以使用DiverManger类的________________创建连接。


getConnection

19. 用Diver类的connect方法创建数据库连接的语句形式为:________。

Connection connection = driver.connect(url, props);

20. 常用的开源Java数据库连接池软件有________ 、________ 、________ 、________ 。


C3P0,SmartPool,Proxool,Primrose、MiniConnectionPoolManager(选4个)

21. SQL语句对象的execute系列方法可以完成____、____、____数据库数据。


存取,更新,查询

22. 请写出使用Statement对象检索学生数据库表记录的代码。(要求有注释)

conn = DriverManager.getConnection(url, user, password);	// 连接数据库
stmt = conn.createStatement();								// 创建Statement对象
String sql = "select * from students";						// 构造SQL语句
ResultSet rs = stmt.executeQuery(sql);						// 执行SQL查询,将查询结果返回给ResultSet对象
while (rs.next()) {											// 循环遍历结果集,输出信息
	System.out.println(rs.getString("sid") + rs.getString("sname"));
}
rs.close();													// 关闭连接
stmt.close();
conn.close();

23. 通过ResultSet对象可对________进行操作。


数据

24. 事务执行过程中,任何一步的失败应使系统复原至____________ 。


事务开始前的状态

25. 存储过程由一系列的________组成,完成一个特定的功能。


SQL语句

26. 写出四点存储过程的优势


① (速度快)存储过程的执行比SQL命令快
② (可重用)多个网页可以调用同一存储过程,易维护
③ (复杂处理)包含多条SQL语句,可以进行复杂处理
④ (复杂访问)可以接受和返回参数,这是复杂数据库访问的基础

27. Web的数据库操作可以采用____________和____________的形式。


前端jsp页面,Servlet程序

28. 黑客通过提交一段利用____________的数据库查询代码,获取本无权访问的数据。


SQL语句漏洞

29. 写出五点避免SQL注入式攻击的建议


① 慎用单双引号
② 验证输入参数
③ 指定参数类型
④ 敏感数据加密
⑤ 为数据表设置最低访问权限

§7 JSP实用组件

1. 文件操作中,文件上传一般要借助第三方组件实现,常用的组件有________、________。


Common-FileUploadjspSmartUpload

2. 设置上传文件大小为10MB,用JSP语句表示为:________________________ 。

upload.setFileSizeMax(10 * 1024 * 1024);

3. 文件上传中Fileltem接口方法getFieldName()的作用是________________。


返回 表单字段元素 描述头 的 name 属性值

4. ServletFileUpload类常用方法有(写一种)________ 。


以下任写一种即可

setSizeMax(long sizeMax);
setFileSizeMax(long fileSizeMax);
parseRequest(HttpServletRequest request)

5. DiskFileItemFactory类中当上传文件尺寸大于设置的临界值是,文件以________形式保存在磁盘上。


临时文件

6. File对象调用public Boolean mkdir()创建一个____,成功返回true,失败返回false


目录

7. 写出JSP动态图表生成动态图的基本步骤(7步)


① (web.xml)配置web.xml
② (data)准备绘图数据
③ (JFreeChart)构建JFreeChart实例
④ (draw)自定义绘图属性【可选】
⑤ (image)生成指定图片,返回图片名称
⑥ (url)组织图片浏览路径
⑦ (<img>)通过<img>标签显示图片

8. JSP动态图表中,____________主要用来绘制各种各样的图表。


JFreeChart

9. JFreeChart核心类中,XXXRenderer的功能是____________________________。


图片渲染对象,用于渲染和显示图表

10.通过工厂类____________,可以创建各种类型的图像。


JFreeChartFactory

11. 在JFreeChart中,常用的创建图表的create方法有:________、________、________。


createPieChartcreatePieChart3D
createBarChartcreateBarChart3D
createLineChartcreateXYLineChart
createTimeSeriesChart

12. 用JFreeChart生成动态图表时,图表对象有________、________、________、________等几个主要的对象组成。


TitlePlotBackgroundtoolship

13. JSP报表可以使用________组件生成报表。


iText

14. iText中处理表格时,对于比较简单的表格处理可以用____________________ 。


com.lowagie.text.Table

15. 目前iText组件支持的图像格式有________、________、________等格式。


GifJPEGPng

16. 处理图像时,设定图像显示比例语句为:________________。

public void scalePercent(int percent);

17. Ajax 是 Asynchronous JavaScript and XML 的缩写,意思是____________________。


异步的JavaScript与XML

18. Ajax技术本地通过____________对象,创建并且发送请求通过互联网到服务器。


XMLHttpRequest

19. XMLHttpRequest对象的常用方法:________ 、________ 、________ 。


opensendabort
setRequestHeadergetResponseHeadergetAllResponseHeaders

20. 向服务器发送请求有两种方式:一种是发送________请求,另一种是发送________请求。


GETPOST

§8 表达式语言和标签

1. JSP表达式语言Expression Language,简称EL,其主要功能是:________ 、________ 、________



① 存取变量
② 读内置对象
③ 表达式运算

2. JSP标签一般分为三类:____________、____________、____________。


① 内置标签(动作标签)
② JSTL标签
③ 自定义标签

3. EL表达式的运算符包括____________、____________、____________、____________、____________、____________。



① 存取数据运算符
② 算术运算符
③ 关系运算符
④ 逻辑运算符
⑤ 条件运算符
empty运算符

4. EL表达式中定义了一些隐含对象,分为____类共有____个。


3,11

5. EL表达式中的保留字有________、________、________、________、________等。


andorno
truefalsenull
ltgteqnelege
divmod
instanceofempty

6. JSTL核心标签库按功能可以分为4类:____________、____________、____________、____________


① 表达式标签
② 流程控制标签
③ 循环标签
④ URL标签

7. <c:set>标签,把值value存储到object对象的propName属性中的语句为________。


<c:set target="object" value="value" property="propName" /><c:set target="object" property="propName">value</c:set>

8. <c:remove>标签用于从指定的JSP范围中移除____________。


指定的变量

9. <c:if>语句中,____属性用来存放判断结果,这个变量的作用域由____属性指定。


varscope

10. <c:choose>标签作为________标签和________标签的父标签


<c:when><c:otherwise>

11. <c:when>标签只能用于<c:choose>标签内,表示当条件为____时执行代码段。


true

12. <c:forEach>标签可以枚举集合中所有的元素,也可以根据相应的属性指定____________



指定循环的次数

13. 写出<c:forEach>标签的语法格式

<c:forEach name="data"
var="name"
begin="start"
end="finish"
step="step"
varStatus="statusName">
	代码段
</c:forEach>

14. <c:forTokens>标签用于浏览字符串,并根据指定的字符将字符串截取,用法相当于________ 函数。



split

15. <c:import>标签可以导入站内或其他网站的____和____文件到JSP页面中。


静态,动态

16. <c:redirect>标签可以配合使用________标签在URL中加入指定的参数。


<c:param>

17. SQL标签库有________________、________________、________________等。


以下标签任写3个

<sql:setDataSource>

<sql:query>
<sql:update>
<sql:transaction>

<sql:param>
<sql:dateParam>

18. 请写出<sql:setDataSource>标签的语法格式

<sql:setDataSource
var=""
scope=""
driver=""
url=""
user=""
password="" />

19. <sql:query>标签语句中,startRow属性指定____________。


查询起始行

20. <sql:update>标签用来执行________ 、________ 、________等语句。


INSERTUPDATEDELETE

21. <sql:dateParam>标签的语法格式为:____________________________________ 。

<sql:dateParam value="" type="" />

22. <sql:transaction>标签用来将<sql:query>标签和<sql:update>标签封装到事务中,可以确保对数据库的修改不是被________就是被________


提交,回滚

23. 自定义标签库实际上就是一个普通的继承________类的java类,是用户定义的JSP语言标记。


SimpleTagSupport

24. 自定义标签的使用一般有三步:____________、____________、____________。



① 设计自定义标签处理类,重写doTag方法
② 建立tld文件
③ 使用自定义标签

25. 设计一个自定义标签类,该标签负责在页面上输出HelloWorld,请写出代码

import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;

public class HelloTag extends SimpleTagSupport {
	public void doTag() throws JspException, IOException {
		JspWriter out = getJspContext().getOut();
		out.println("HelloWorld");
	}
}

26. 标签库定义文件中,taglib下有三个子标签:________ 、________ 、________。


<taglib-version><short-name><uri>

27. taglib指令中的________属性指定了tld文件在Web应用中的存放位置。


uri

28. 请写出在JSP页面中使用自定义标签的代码

<%@ taglib prefix="yhx" uri="WEB-INF/mytaglib.tld" %>
<html>
	<head>
		<title>自定义标签示例</title>
	</head>
	<body>
		<yhx:helloWorld />
	</body>
</html>

§9 框架

1. MVC模型与设计模式是一种程序设计理念,目的就是实现系统的分层,应用程序被划分为____ 、____ 、____ 三部分,对应的英文分别是____ 、____ 、____ 。


模型层,视图层,控制层
Model,View,Controller

2. ____负责封装应用的状态并实现功能,____负责将内容呈现给用户,____负责控制视图层发送的请求以及程序的流程。


模型层,视图层,控制层

3. Struts2这是apache基金会的一个开源项目,采用____ 模式,能够极大提高开发的效率。它有一个中央控制类,针对不同的业务,需要一个____ 类负责页面跳转和后台逻辑运算,一个或几个____ 页面负责数据的输入和输出显示。


MVC,Action,jsp

4. Struts2框架的核心控制器是________ ,是通过Filter中加载的核心控制器类StrutsPrepareAndExecuteFilter启动的,负责________ 。


FilterDispatcher,拦截用户请求

5. Struts2框架本身大致可以分为3个部分:________ 、________ 、________


① 核心控制器FilterDispatcher
② 业务控制器Action
③ 用户实现的业务逻辑功能组件

6. FilterDispatcher包含了框架内部的____和____
________ 和________ 是需要用户自己实现的
用户在开发Action和业务逻辑组件的同时,还需要编写相关的________,供核心控制器FilterDispatcher来使用


控制流程,处理机制
业务控制器Action,业务逻辑组件
配置文件

7. Struts2的工作过程中,客户端初始化一个指向________ (例如Tomcat)的请求,请求经过一个________ 。


Servlet容器,FilterChain(过滤器链)

8. Struts2的工作过程中,调用____________询问ActionMapper,根据____配置,来决定这个请求是否需要调用某个Action类和方法。


FilterDispatcherstruts.xml

9. Struts2的工作过程中,如果ActionMapper决定需要调用某个____ ,FilterDispatcher把请求的处理交给________。


ActionActionProxy

10. Struts2的工作过程中,ActionProxy通过配置管理器询问框架的配置文件____,找到需要调用的Action类。然后ActionProxy创建一个____________的实例。


struts.xmlActionInvocation

11. Struts2的工作过程中,ActionInvocation实例使用____模式来调用
在调用____ 过程前后,涉及到相关________ 的调用
一旦发现Action执行完毕,ActionInvocation负责根据____中的配置找到对应的返回结果视图,跳转到相应页面


命名
ActionIntercepter(拦截器)
struts.xml

12. 写出Struts2框架的优点


① MVC模式,层次清晰,用户只需关注业务逻辑的实现
② (👐)丰富的标签库,大大提高了开发效率
③ (✋)强大的、丰富的拦截器
④ (👋)标准、强大的校验器和国际化I18N支持
⑤ (👉)配置文件调度业务类,实现重定向和跳转的页面导航
⑥ (👆)简单、统一的表达式语言来处理数据
⑦ 良好的Ajax支持
⑧ 简单方便的异常处理机制
⑨ 可扩展性

13. 通过JDBC操作数据库比较烦琐的过程。为了解决这一问题,提出了________(ORM)模式。通过ORM模式,可以实现运用____的编程思想操作____数据库。Hibernate技术为ORM提供了一个具体的解决方案。


对象——关系映射,面向对象,关系型

14. Hibernate在原有3层架构(MVC)的基础上,从____ 层又分离出一个____层,专门负责数据的持久化操作,它对JDBC进行了非常轻量级的对象____,简化了jdbc操作。


业务逻辑,持久化,封装

15. Hibernate的工作过程中,先调用________ 类,该类读取hibernate的____ 及____ 中的信息,并使用这些信息生成一个____________ 对象。


Configuration,配置文件,映射文件,SessionFactory

16. Hibernate的工作过程中,SessionFactory生成一个____ 对象,通过Session对象的get()save()update()delete()方法进行____ 、____ 、____ 、____ 操作


Session,加载,保存,更新,删除

17. Hibernate的工作过程中,在查询的情况下,可通过Session对象生成一个____ 对象,然后利用____ 对象执行查询操作。


QueryQuery

18. Hibernate的工作过程中,Session对象还可以生成________对象(管理事物的对象),如果没有异常,Transaction对象将提交这些操作结果到数据库中,否则会____事务


Transaction回滚

19. Spring是一个轻量级的Java开源框架,Spring的核心是____(Inversion of Control,缩写为IoC)和面向____编程(Aspect Oriented Programming,缩写为AOP)。


控制反转,切面

20. Spring的目的就是让____与____ 之间的关系没有通过代码来关联,而是通过配置类管理的
Spring根据这些配置内部通过____去动态的组装对象、____,让一个对象的创建不用new就可以自动的产生,也就是在运行时动态的去创建、调用对象。


对象,对象
反射,动态注入

21. Spring的工作过程大致分为以下五个步骤:____ 、____ 、____ 、____ 、____ 。


① 请求的分发
② 请求的处理
③ 视图的处理
④ 视图的渲染
⑤ 异常的处理

22. Struts2下载解压后,将类库jar包复制到Web应用的____文件夹中。Struts2需要若干个逻辑控制器组件____处理客户端请求,若干个视图处理输出,在____文件中配置核心控制器。


WEB-INF/libActionweb.xml

23. Struts2有两个核心配置文件____和____文件需要配置
struts.xml文件主要负责管理应用中的________ ,以及该Action包含的Result定义等,这是必须要配置的
struts.properties文件定义了Struts2框架的大量属性


struts.xmlstruts.properties
Action映射

24. 在web.xml 文件中配置Struts2的核心控制器时,<filter> </filter>标签元素里的<filter-name> </filter-name>标签元素里的值和________________标签元素里的<filter-name> </filter-name>标签元素里的值对应且他们的值都是________。


<filter-mapping> </filter-mapping>struts2

25. 在web.xml 文件中配置Struts2的核心控制器时,配置<filter> </filter>标签元素里的________________标签元素是用来拦截客户端请求,并把请求转发到相应的Action 类来处理。


<filter-class> </filter-class>

26. 在web.xml文件中配置Struts2的核心控制器时,<filter-mapping> </filter-mapping>标签元素里的________________标签元素的值为"/*"时表示用户的所有请求都是使用Struts2框架来处理。


<url-pattern> </url-pattern>

27. Action是Struts2的业务逻辑控制器,负责处理____端请求并将处理结果输出给____端。在Struts2中,每个请求的动作都对应于一个相应的____ 类。


客户,客户,Action

28. Struts2标签库分成四大类:____ 、____ 、____ 、____
控制标签主要用于控制输出流程以及访问值栈中的值,主要有:
________标签用于完成分支控制
________标签用于对集合类型的变量进行迭代输出
其中,集合类型包括____ 、____ 、____ 和____ 等。


控制标签,数据标签,表单标签,非表单标签
if / elseif / else
iterator
ListSetMap,数组

29. 拦截器需要在struts.xml配置文件中定义,用________声明,使用________元素指定拦截类与拦截器名,配置默认拦截器需要使用<default-interceptor-ref>元素
例如:<interceptor name="拦截器名字" class="拦截器的Java类"/>
如果需要向配置的拦截器传入参数,可以在<interceptor>元素中加入<param>元素。


<interceptors><interceptor>

30. 自定义拦截器需要三步:首先自定义一个实现________接口(或者继承自AbstractInterceptor)的类,然后在________中注册定义的拦截器,接着在需要使用的Action中引用上述定义的拦截器,为了方便也可将拦截器定义为默认的拦截器,这样可以在不加特殊声明的情况下所有的Action都被这个拦截器拦截。


Inteceptorstruts.xml

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:成长之路 设计师:Amelia_0503 返回首页

打赏作者

God-Excious

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值