web练习题题解

1.Maven是用于构建的工具,使用前需要配置(C)文件,在里边添加阿里云的镜像便于自动下载相关的依赖jar包。

A.web.xml

B.pom.xml

C.Settings.xml

2.(B)是一个用 Java 编写的程序,是一种实现了Servlet接口的类,它是由web容器负责创建并调用,在服务器容器上运行,用于接收和响应用户的请求。

A.Filter

B.Servlet

C.Request

D.Response

Servlet 是一个用 Java 编写的程序,是一种实现了Servlet接口的类,它是由web容器负责创建并调用,在服务器容器上运行,用于接收和响应用户的请求。

3.当Servlet启动时,会为每个Web应用创建一个唯一的( A)对象代表当前Web应用,该对象不仅封装了当前Web应用的所有信息,而且实现了多个Servlet之间数据的共享。

A.ServletContext

B.ServletConfig

C.Servlet

D.ServletMapping

**选项A:**当Servlet启动时,会为每个Web应用创建一个唯一的ServletContext对象代表当前Web应用,该对象不仅封装了当前Web应用的所有信息,而且实现了多个Servlet之间数据的共享。------实现多个Servlet之间数据的共享。

**选项B:**当Tomcat初始化一个Servlet时,会将该Servlet的配置信息封装到一个ServletConfig对象中,通过调用init(ServletConfig cofig)方法将ServletConfig对象传递给Servlet。

**选项C:**Servlet 是一个用 Java 编写的程序,是一种实现了Servlet接口的类,它是由web容器负责创建并调用,在服务器容器上运行,用于接收和响应用户的请求。

**选项D:**这是在配置servlet方法中,使用xml配置方法里的一个配置标签

4.HttpServletResponse的(C)方法所获取的字符输出流对象为PrintWriter类型,可以直接输出字符文本内容。

A.getOutputStream()

B.getInputStream()

C.getWriter()

D.getReader()

发送响应消息体相关的方法:

(1)getOutputStream(): 所获取的字节输出流对象为ServletOutputStream类型。

由于ServletOutputStream是OutputStream的子类,它可以直接输出字节数组中的二进制数据。因此,要想输出二进制格式的响应正文,就需要使用getOutputStream()方法。

(2)getWriter(): 所获取的字符输出流对象为PrintWriter类型。由于PrintWriter类型的对象可以直接输出字符文本内容,因此,要想输出内容全为字符文本的网页文档,需要使用getWriter()方法。

5.【单选题】 (4分)

网页表单中有用户名和密码,输入用户名和密码后点击登录执行对应的Servlet中的代码,在Servlet中想要获取网页表单中的用户名和密码可以通过(C)方法获取。

A.response.getParameter( )

B.request.getAttribute( )

C.request.getParameter( )

D.response.getAttribute( )

6.【单选题】 (4分)

编写过滤器要实现javax.servlet.Filter接口的方法,其中不包括( C)。

A.init方法

B.doFilter方法

C.doPost方法

D.destroy

编写一个过滤器的基本步骤:

(1)实现javax.servlet.Filter接口;

(2)实现init方法,读取过滤器的初始化参数;

(3)实现doFilter方法,完成对请求或响应的过滤;

(4)调用FilterChain接口对象的doFilter方法,向后续的过滤器或Servlet(jsp)传递请求或响应;

(5)实现destroy方法,释放过滤器使用的资源。

7.【单选题】 (4分)

采用注解方式配置Servlet时用(C)。

A.@Servlet

B.@WebServelet

C.@WebServlet

D.@WebServerlet

8.【单选题】 (4分)

Servlet在服务器容器上运行,处理客户端请求并且将( D)返回客户端。

A.过滤

B.请求

C.消息

D.响应

Servlet的工作流程:

(1)客户机将请求发送到服务器,服务器上的 Web 容器实例化 Servlet, 并为 Servlet 进程创建线程。 Servlet 是在出现第一个请求时装入的, 在服务器关闭之前不会卸载它。
(2)Web 容器将请求信息发送到 Servlet,Servlet创建一个响应,并将其返回到 Web容器,Web容器将响应发回给客户机。
(3)服务器关闭或 Servlet 空闲时间超过一定限度时,调用destroy方法退出。

9.Servlet生命周期包括3个方法,分别是:init,( D)和destroy。

A.servlet

B.doGet

C.doPost

D.service

Servlet生命周期:

创建servlet实例,初始化实例对象调用init()方法,请求servlet服务调用service()方法,销毁实例对象前调用destroy()销毁方法,销毁实例并标记为垃圾收集

10.过滤器的一些常见应用不包括以下( D)。

A.认证过滤

B.登录和审核过滤

C.图像转换过滤

D.请求重定向

过滤器的一些常见应用:

1、认证过滤;

2、登录和审核过滤;

3、图像转换过滤;

4、数据压缩过滤 ;

5、加密过滤;

6、资源访问触发事件过滤等。

11.在web.xml文件中配置Servlet时,( A)用于映射Servlet对外访问的虚拟路径。

A.<servlet-mapping>

B.<servlet>

C.<servlet-name>

如果不使用@WebServlet注解,可在web.xml文件中 进行配置。

一个Servlet需要配置<servlet>标记和 <servlet-mapping>标记。

  • <servlet-name>:名称,两者中的名称要一致。
  • <servlet-mapping>:用于映射Servlet对外访问的虚拟路径。

12.常用的Servlet配置方法有( B)、xml文件和自定义容器的方式

A.注释方式

B.注解方式

常用的Servlet配置方法有注解方式xml文件自定义容器的方式。

注解方式是javaEE8以后常用的servlet配置方式,而自定义容器方式了解即可。

13.在Servlet API中,定义了一个( A)接口,它继承自ServletResponse,专门用来封装HTTP响应消息。

A.HttpServletResponse

B.HttpServletRequest

C.Request

D.Response

14.HttpServletResponse的( B)方法用于获取请求消息中的请求方式。

A.getRequestURI

B.getMethod

C.getContextPath

D.getServletPath

15.下面(B)对象由Servlet容器创建,实现的是请求转发

A.sendRedirect

B.RequestDispatcher

C.forward

D.include

RequestDispatcher实现的是请求转发。

请求转发的意思就是说通知其他web资源处理当前Servlet的请求。RequestDispatcher对象由Servlet容器创建,该对象用于接收客户端的请求并将请求发送到服务器上的任意资源(例如:Servlet,HTML文件或JSP文件)。因为对于RequestDispatcher对象来说,WEB资源都是可见的,可直接将请求转发到任意资源。

16.为了避免显示在网页中的字符乱码,可以通过(A)来进行设置 。

A.response . setContentType("text/html; charset=utf-8");

B.request . setContentType("text/html; charset=utf-8");

C.response.setCharacterEncoding("uf-8");

D.response.setHeader(" Content-Type"," text/html;charset=utf-8");

中文输出乱码问题:

由于计算机中的数据都是以二进制形式存储的,当传输文本时,就会发生字符和字节之间的转换。字符与字节之间的转换是通过查码表完成的,将字符转换成字节的过程称为编码,将字节转换成字符的过程称为解码。如果编码和解码使用的码表不一致,就会导致乱码问题。

方法一:

java 复制代码
// 设置HttpServletResponse使用utf-8编码
response.setCharacterEncoding("utf-8"); 
// 通知浏览器使用utf-8解码
response.setHeader("Content-Type","text/html;charset=utf-8");

方法二:

java 复制代码
// 包含第一种方式的两个功能
response.setContentType("text/html;charset=utf-8"); 

17.在web容器中遵循生成、运行、销毁这样的生命周期,当进行相关配置后,web容器就会调用监听器上的方法,对相应的对象进行对应的事件处理,不包括(A)。

A.HttpServletFilter对象

B.HttpServletRequest对象

C.HttpSession对象

D.ServletContext对象

在web系统中,监听器就是应用监听事件来监听请求中的行为而创建的一组类。HttpServletRequest、HttpSession、ServletContext对象在web容器中遵循生成、运行、销毁这样的生命周期,当进行相关配置后,web容器就会调用监听器上的方法,进行对应的事件处理。

18.web.xml配置中过滤器起作用的顺序是看<filter-mapping>中谁在上面谁优先执行。(

19.注解配置是按照类名字符串比较,值小的先执行,如:AFilterDemo 优先于 BFilterDemo()

20.对于客户端请求,创建Servlet实例后,不驻留在内存中,所以再次请求时须再加载。(错 )

Servlet的特点:

①在服务器容器上运行,处理客户端请求并且将响应返回客户端;

②移植性好,本身是一个Java类,跨平台;

③对于客户端请求,只需创建Servlet实例一次,驻留在内存中,再次请求时无须加载。

21.Cookie一旦创建,它的名称就不能更改,Cookie的值可以为任何值,创建后允许被修改。(

Cookie类有且仅有一个构造方法,具体语法格式:

public Cookie(java.lang.String name,java.lang.String value)

在Cookie的构造方法中,参数name用于指定Cookie的名称,value用于指定Cookie的值。需要注意的是,Cookie一旦创建,它的名称就不能更改,Cookie的值可以为任何值,创建后允许被修改。

22.请求转发指的是Web服务器接收到客户端的请求后可能由于某些条件限制,不能访问当前请求URL所指向的Web资源,而是指定了一个新的资源路径,让客户端重新发送请求。(

1、请求重定向:指的是Web服务器接受到客户端的请求后,可能由于某些条件限制,不能访问当前请求URL所指向的Web资源,而是指定了一个新的资源路径,让客户端重新发送请求。

2、请求转发:RequestDispatcher实现的是请求转发。 请求转发的意思就是说通知其他web资源处理当前Servlet的请求。

23.【填空题】 (2分)

在Servlet技术中,提供了两个用于保存会话数据的对象,分别是Cookie和**Session_**。

为了保存会话过程中产生的数据,Cookie、URL重写、字段隐藏、SSL技术都可用于会话跟踪,在Servlet技术中,提供了两个用于保存会话数据的对象,分别是Cookie和Session。

24.【填空题】 (2分)

Session对象的_invalidate()__方法用于强制使Session对象无效。

1:获取Session:

通过HttpRequest对象调用 getSession() 或 getSession(boolean create ) 方法

2:存储数据到session或从session读取数据 getAttribute("名称"):

查找以前存储的值,如果不存在则返回null, setAttribute("名称",对象):设置属性 removeAttribute ("名称"):移除属性

3:销毁session:

让session过期或调用invalidate()强制失效

25._FilterConfig__接口用于在过滤器初始化时由web容器向过滤器传送初始化配置参数,并传入到过滤器对象的init方法中。

26.自定义过滤器可以用_@WebFilter注解__或者web.xml文件配置进行注解。

27.Cookie必须以_键值对_的形式存在。

【什么是Cookie】

服务器向客户端发送Cookie时,会在HTTP响应头字段中增加Set-Cookie响应头字段。

Set-Cookie: user=China; Path=/;

  • user表示Cookie的名称
  • China表示Cookie的值
  • Path表示Cookie的属性

需要注意的是,Cookie必须以键值对的形式存在,其属性可以有多个,但这些属性之间必须用分号(;)和空格分隔。

28.在web应用程序中,_过滤器__介于Servlet之前,既可以拦截、过滤浏览器的请求,也可以改变浏览器的响应。

在web应用程序中,过滤器介于Servlet之前,既可以拦截、过滤浏览器的请求,也可以改变浏览器的响应。它在服务器端与客户端起到了一个中间件的作用,对二者之间的数据信息进行过滤。

29.在web系统中,__监听器_就是应用监听事件来监听请求中的行为而创建的一组类。

在web系统中,监听器就是应用监听事件来监听请求中的行为而创建的一组类。HttpServletRequest、HttpSession、ServletContext对象在web容器中遵循生成、运行、销毁这样的生命周期,当进行相关配置后,web容器就会调用监听器上的方法,进行对应的事件处理。

30.在Web应用中当用户通过浏览器访问服务器时,服务器会给客户发送一些信息,这些信息都保存在Cookie中。Cookie信息会被保存在_浏览器__的缓冲区中。

当用户第一次访问服务器时,服务器会在响应消息中增加Set-Cookie头字段,将用户信息以Cookie的形式发送给浏览器。一旦用户浏览器接受了服务器发送的Cookie信息,就会将它保存在浏览器的缓冲区中,这样,当浏览器后续访问该服务器时,都会在请求消息中将用户信息以Cookie的形式发送给Web服务器,从而使服务器端分辨出当前请求是由哪个用户发出的。

相关推荐
潜意识起点10 分钟前
精通 CSS 阴影效果:从基础到高级应用
前端·css
奋斗吧程序媛14 分钟前
删除VSCode上 origin/分支名,但GitLab上实际上不存在的分支
前端·vscode
LuH112418 分钟前
【论文阅读笔记】IC-Light
论文阅读·笔记
汤姆和佩琦21 分钟前
2024-12-25-sklearn学习(20)无监督学习-双聚类 料峭春风吹酒醒,微冷,山头斜照却相迎。
学习·聚类·sklearn
是小菜呀!24 分钟前
实验四 触发器
笔记
IT女孩儿24 分钟前
JavaScript--WebAPI查缺补漏(二)
开发语言·前端·javascript·html·ecmascript
悲伤小伞30 分钟前
C++_数据结构_详解二叉搜索树
c语言·数据结构·c++·笔记·算法
好学近乎知o32 分钟前
正则表达式(学习Django过程中可能涉及的)
学习·正则表达式·django
雨中奔跑的小孩36 分钟前
爬虫学习案例8
爬虫·学习
jieshenai37 分钟前
使用 VSCode 学习与实践 LaTeX:从插件安装到排版技巧
ide·vscode·学习