注:出现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提供用于二维和三维空间定位的属性,它们是____、____、____。
top
、left
、postion
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中有一个____,表示什么也没有,如试图引用没有定义的变量,则返回一个____
整型,实型,布尔型,字符串型,空值null
,null
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对象中,与对话框有关的方法包括____、____和____
与窗口焦点有关的方法包括____和____
alert
,confirm
、prompt
focus
,blur
17. Document对象的属性:包括数值属性和对象数组属性
Document对象的方法主要有:____、____、____、____和____。
write
,writeln
,open
,close
,clear
18. Form对象的属性与标记语法定义中的属性相对应,包括:____、____、____、____、____、____和____
action
,name
,method
,target
,encoding
,elements
,length
19. Form对象中,____对应表单提交后启动的服务器应用程序的URL,____对应表单的名称,与标记定义中的name属性相对应。____指出浏览器将信息发送到由action属性指定的服务器的方法,它只可能是____或____。
action
,name
,method
,GET
,POST
20. Form对象的方法包括____和____
submit( )方法将触发Submit事件,引起____事件处理程序的执行
reset( )方法清除表单中的所有输入,并将各输入域的值设为原来的默认值,该方法将触发____事件处理程序的执行
submit
、reset
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文件中标记间以及文本项间的相互关联性,这种关联性包括____类型、____类型和____类型。
树形,节点,child
,parent
,sibling
27. 写出DOM的两个对象集合
①attributes
②childNodes
28. DOM树形结构的节点有____属性和____属性两类
通过____属性可以浏览节点,并可获得节点的类型及名称等信息
通过____属性可以访问文字节点的内容
只读,读/写
只读
读/写
29. JS在Web开发中地位重要,因此各种JS框架和库不断出现,如____、____、____和____等,它们提供了常用开发功能的封装或软件框架
JQuery
、React
、Vue
、Angular
30. JQuery是封装完备的JS类库,它封装JS常用的功能代码,提供一种简便的JS设计模式,优化HTML文档操作、事件处理、动画设计和____
Ajax
交互
§4 JSP基本语法与内置对象
1. 当Web服务器上的一个JSP页面第一次被请求时,服务器JSP引擎首先将JSP页面转换为____源文件,即____,然后将其编译为字节码____文件,再执行字节码文件返回结果
Java,Servlet,.class
2. JSP指令主要用于设定JSP页面范围内的相关信息。语法格式是:____
其中,指令名用于指定指令名称;有三种JSP指令:____、____、____。
<%@ 指令名 属性名1="属性值" 属性名2="属性值" ...%>
page
、include
、taglib
3.
include
指令可将另一个JSP文件嵌入页面,它仅有____属性,语法格式是:____
taglib
指令用于定义页面所使用的标签库,并指定标签前缀。语法格式是:____
其中,____属性指定标签库文件位置,____属性指定标签前缀
file
、<%@ include file ="文件名" %>
<%@ taglib uri ="tagURI" prefix ="tagPrefix" %>
uri
,prefix
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} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧①request②response③session④out⑤page⑥application⑦pageContext⑧config⑨exception,四大作用域 { ① page ② request ③ session ④ application \begin{cases} ① \text{page} \\ ② \text{request} \\ ③ \text{session} \\ ④ \text{application} \end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧①page②request③session④application
8. Web采用HTTP协议在服务器与客户端之间进行通信控制,____和____对象提供了HTTP协议请求和响应的信息。____对象封装了客户端的请求信息,包括头信息、系统信息、请求方式及请求参数等。____对象封装了HTTP服务器的响应
request
、response
、request
、response
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对象的方法中,向客户端输出字符串的方法有:____、____
println
14. ____对象代表JSP页面,即当前JSP编译后的____类的对象
page
,Servlet
15. page对象的方法中,返回当前Object的类的方法是:____ ,返回当前Object的hash代码的方法是:____
getClass()
,hashCode()
16. ____对象代表页面上下文,用于访问JSP之间的共享数据
pageContext
17.
pageContext
对象的方法中,获取指定范围(范围参数有四个:PAGE_SCOPE
、REQUEST_SCOPE
、SESSION_SCOPE
、APPLICATION_SCOPE
)的name
属性值的方法是:____,设置指定范围的属性值的方法是:____
getAttribute(String name,int scope)
setAttribute(String name, Object value, int scope)
18. ____对象表示Servlet的配置信息,其作用是访问____中
Servlet
的配置信息。
config
,web.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:include
,jsp:forward
,jsp: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
动作标识与include
、forward
、plugin
等标识配合使用,用于传递所需的参数。语法格式如是:________
<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对象的________方法用于接收从表单传递的数据
GET
,POST
,getParameter
17. 组件封装了一组解决特定问题的____和____,是可复用的软件单元,组件技术为应用系统的开发提供了有效、便利的开发平台,使系统更易于开发实现
相关类,对象
18. JavaBean是采用Java语言实现特定功能的组件,具有独立性、可重用性、跨平台、可视化开发等特点,JSP与浏览器之间的关系是____ ,____的关系
Request
,Response
19. 标准的JavaBean是一种特殊的Java类,遵守JavaBean API规范,应实现________接口,以适应组件跨网络平台的规范要求
java.io.Serializable
20. 标准的JavaBean类中必须包含无参数构造函数,提供对属性访问的____和____函数
set
,get
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 Driver
,JDBC 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)
语句中:____为只读模式,____为关闭只读模式
true
,false
14.
Statement
接口提供了三种执行SQL语句的方法:________ 、________ 、________ 。
execute
,executeQuery
、executeUpdate
15.
PrepareStatement
与Statement
的区别在于: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-FileUpload
,jspSmartUpload
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
方法有:________、________、________。
createPieChart
,createPieChart3D
createBarChart
,createBarChart3D
createLineChart
,createXYLineChart
createTimeSeriesChart
12. 用
JFreeChart
生成动态图表时,图表对象有________、________、________、________等几个主要的对象组成。
Title
、Plot
、Background
、toolship
13. JSP报表可以使用________组件生成报表。
iText
14.
iText
中处理表格时,对于比较简单的表格处理可以用____________________ 。
com.lowagie.text.Table
15. 目前
iText
组件支持的图像格式有________、________、________等格式。
Gif
,JPEG
,Png
16. 处理图像时,设定图像显示比例语句为:________________。
public void scalePercent(int percent);
17. Ajax 是 Asynchronous JavaScript and XML 的缩写,意思是____________________。
异步的JavaScript与XML
18. Ajax技术本地通过____________对象,创建并且发送请求通过互联网到服务器。
XMLHttpRequest
19.
XMLHttpRequest
对象的常用方法:________ 、________ 、________ 。
open
,send
,abort
setRequestHeader
,getResponseHeader
,getAllResponseHeaders
20. 向服务器发送请求有两种方式:一种是发送________请求,另一种是发送________请求。
GET
,POST
§8 表达式语言和标签
1. JSP表达式语言Expression Language,简称EL,其主要功能是:________ 、________ 、________
① 存取变量
② 读内置对象
③ 表达式运算
2. JSP标签一般分为三类:____________、____________、____________。
① 内置标签(动作标签)
② JSTL标签
③ 自定义标签
3. EL表达式的运算符包括____________、____________、____________、____________、____________、____________。
① 存取数据运算符
② 算术运算符
③ 关系运算符
④ 逻辑运算符
⑤ 条件运算符
⑥empty
运算符
4. EL表达式中定义了一些隐含对象,分为____类共有____个。
3,11
5. EL表达式中的保留字有________、________、________、________、________等。
and
,or
、no
true
,false
,null
lt
,gt
,eq
,ne
,le
,ge
div
,mod
instanceof
,empty
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>
语句中,____属性用来存放判断结果,这个变量的作用域由____属性指定。
var
,scope
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>
标签用来执行________ 、________ 、________等语句。
INSERT
、UPDATE
、DELETE
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
类和方法。
FilterDispatcher
,struts.xml
9. Struts2的工作过程中,如果ActionMapper决定需要调用某个____ ,FilterDispatcher把请求的处理交给________。
Action
,ActionProxy
10. Struts2的工作过程中,ActionProxy通过配置管理器询问框架的配置文件____,找到需要调用的Action类。然后ActionProxy创建一个____________的实例。
struts.xml
,ActionInvocation
11. Struts2的工作过程中,
ActionInvocation
实例使用____模式来调用
在调用____ 过程前后,涉及到相关________ 的调用
一旦发现Action
执行完毕,ActionInvocation
负责根据____中的配置找到对应的返回结果视图,跳转到相应页面
命名
Action
,Intercepter
(拦截器)
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
对象生成一个____ 对象,然后利用____ 对象执行查询操作。
Query
,Query
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/lib
,Action
,web.xml
23. Struts2有两个核心配置文件____和____文件需要配置
struts.xml
文件主要负责管理应用中的________ ,以及该Action包含的Result定义等,这是必须要配置的
struts.properties
文件定义了Struts2框架的大量属性
struts.xml
,struts.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
List
,Set
,Map
,数组
29. 拦截器需要在
struts.xml
配置文件中定义,用________声明,使用________元素指定拦截类与拦截器名,配置默认拦截器需要使用<default-interceptor-ref>
元素
例如:<interceptor name="拦截器名字" class="拦截器的Java类"/>
如果需要向配置的拦截器传入参数,可以在<interceptor>
元素中加入<param>
元素。
<interceptors>
,<interceptor>
30. 自定义拦截器需要三步:首先自定义一个实现________接口(或者继承自AbstractInterceptor)的类,然后在________中注册定义的拦截器,接着在需要使用的Action中引用上述定义的拦截器,为了方便也可将拦截器定义为默认的拦截器,这样可以在不加特殊声明的情况下所有的Action都被这个拦截器拦截。
Inteceptor
,struts.xml