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");

中文输出乱码问题:

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

方法一:

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

方法二:

// 包含第一种方式的两个功能
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服务器,从而使服务器端分辨出当前请求是由哪个用户发出的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/635422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go语言基础快速上手

1、Go语言关键字 2、Go数据类型 3、特殊的操作 3.1、iota关键字 Go中没有明确意思上的enum&#xff08;枚举&#xff09;定义&#xff0c;不过可以借用iota标识符实现一组自增常亮值来实现枚举类型。 const (a iota // 0b // 1c 100 // 100d // 100 (与上一…

linux LPT和COM回路测试(基于python+Qt+C++)

软件UI: 回路治具&#xff08;COMLPT&#xff09;&#xff1a; lpt_test.cpp&#xff08;c 源代码&#xff09;&#xff1a; #include <iostream> #include <fstream> #include <sstream> #include <unistd.h> #include <fcntl.h> #include <…

基于 UniAPP 社区论坛项目多端开发实战

社区论坛项目多端开发实战 基于 UniAPP 社区论坛项目多端开发实战一、项目准备1.1 ThinkSNS 简介及相关文档1.2 使用 UniAPP 构建项目1.3 构建项目文件结构1.4 配置页面 TabBar 导航1.5 使用 npm 引入 uView UI 插件库 二、首页功能实现2.1 首页 header 广告位轮播图功能实现2.…

Python并发与多线程:祥细的说一下GIL线程锁

在Python中&#xff0c;有一个全局解释器锁&#xff08;Global Interpreter Lock&#xff0c;GIL&#xff09;&#xff0c;它是为了保证在多线程环境下&#xff0c;每个线程都能正确地执行而引入的。 GIL是一个互斥锁&#xff0c;它要求在同一时刻只能有一个线程执行Python字节…

小白水平理解面试经典题目LeetCode 121 Best Time to Buy and Sell Stock

121 Best Time to Buy and Sell Stock (买卖股票的最佳时机) 你好&#xff0c;2024年的第一个月&#xff0c;又是秋风萧瑟天气凉&#xff0c;草木摇落露为霜。.。。在这个特殊的时代&#xff0c;作为我们普通的一个打工人&#xff0c;我们用这道题&#xff0c;开启对这个不符合…

2023全球边缘计算大会深圳站:核心内容与学习收获(附大会核心PPT下载)

边缘计算作为当今IT领域的热门话题&#xff0c;已经引起了全球范围内的广泛关注。本次大会汇聚了众多业界精英&#xff0c;共同探讨边缘计算的发展趋势、技术应用与创新实践。本文将围绕大会的核心内容展开讨论&#xff0c;并分析参会者从中能够学到的东西。 一、边缘计算的发…

C++PythonC# 三语言OpenCV从零开发(2):教程选择

文章目录 相关专栏前言视频教学和官方文档视频教程OpenCV 官方教程最终选择我的最终选择 相关专栏 C&Python&Csharp in OpenCV 前言 OpenCV 有官方的教程和简单的视频教程&#xff1a; OpenCV 官方教程 B站也有相关的视频教学 OpenCV4 C 快速入门视频30讲 - 系列合集 …

【Java】JDBC的使用

JDBC package jdbc_demo;import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement;public class jdbc {public static void main(String[] args)throws Exception {//1.注册驱动Class.forName("com.mysql.cj.jdbc.Driver");//2.获取…

vue报错 ‘超出最大堆栈大小‘

当Vue应用程序报错"超出最大堆栈大小"时&#xff0c;通常是由于递归调用导致的无限循环或过深的函数调用堆栈。 要解决这个问题&#xff0c;你可以尝试以下几种方法&#xff1a; 检查是否存在无限递归&#xff1a;检查你的代码中是否存在无限递归调用。递归调用是指…

本周Github上有趣的11个项目

本周Github上有趣的项目&#xff1a; 1、AI 网关 速度极快的 AI 网关。通过 1 个快速且友好的 API 升读 100 多个大模型。 Portkey 的 AI 网关是您的应用程序和托管 LLM 之间的接口。它通过统一的 API 简化了对 OpenAI、Anthropic、Mistral、LLama2、Anyscale、Google Gemini…

计算机中如何存储数字、怎么运算、以及越界了怎么办

前言 日常开发工作中&#xff0c;很难用到二进制运算&#xff0c;编程语言已经帮我们做好处理了&#xff0c;除非研究的就是底层技术&#xff0c;比如硬件开发&#xff0c;这是避不过去的&#xff0c;但是你如果还想深入研究一番&#xff0c;本篇论文就值的你看。 问题 在开…

【开源】基于JAVA语言的教学资源共享平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 类图设计3.3 数据库设计3.3.1 课程档案表3.3.2 课程资源表3.3.3 课程作业表3.3.4 课程评价表 四、系统展…

【开发掉坑】go 中 interface 的 nil 判断

今天介绍下 go 中的 interface(any) 的 nil 判断&#xff0c;项目中遇到的一个小问题&#xff0c;知识遗忘了&#xff0c;再做个记录。 前言 最近在合作开发项目的过程中&#xff0c;发现小伙伴写了一段代码&#xff0c;示意代码如下&#xff1a; package mainimport("…

逸学Docker【java工程师基础】3.4Docker安装redis

1.拉取redis docker pull redis 2.选择一个合适的redis 版本的配置文件 Redis configuration | Redis 或者这个 链接&#xff1a;https://pan.baidu.com/s/1RRdtgec4xBAgQghlhm0x1Q 提取码&#xff1a;ycyc 在1044行修改密码 3.提前在服务器建立 /data/redis 文件夹&…

【华为 ICT HCIA eNSP 习题汇总】——题目集1

1、&#xff08;多选&#xff09;根据下面所示的命令输出&#xff0c;下列描述中正确的是&#xff1f; A、GigabitEthernet0/0/1 允许VLAN1通过 B、GigabitEthernet0/0/1 不允许VLAN1通过 C、如果要把 GigabitEthernet0/0/1 变为 Access 端口&#xff0c;首先 需要使用命令“un…

2023 年,我患上了 AI 焦虑症!

【作者有话说】2023 年对我来说是神奇的一年&#xff0c;我意外地从一个程序员变成了一个 AI 资讯届的“网红”&#xff0c;到年底时我在 X 平台的阅读量超过 1 亿&#xff0c;微博上的阅读量则超过 10 亿&#xff0c;很多人通过我的微博或者 X 了解最新的 AI 资讯、教程和 Pro…

SpringMVC下半篇之整合ssm

4.ssm整合 4.1.创建表 CREATE TABLE account (id int(11) NOT NULL AUTO_INCREMENT,name varchar(20) DEFAULT NULL,money double DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8;4.2.创建工程 4.3.pom.xml <?xml version"1.0" encoding&…

分布式定时任务系列8:XXL-job源码分析之远程调用

传送门 分布式定时任务系列1&#xff1a;XXL-job安装 分布式定时任务系列2&#xff1a;XXL-job使用 分布式定时任务系列3&#xff1a;任务执行引擎设计 分布式定时任务系列4&#xff1a;任务执行引擎设计续 分布式定时任务系列5&#xff1a;XXL-job中blockingQueue的应用 …

蓝桥杯备战 每日一题 (4)

题目地址 首先我们要有一个知识储备 1 加法&#xff1a;(ab)%m(a%mb%m)%m 2 减法&#xff1a;(a-b)%m(a%m-b%m)%m 3 乘法&#xff1a;a*b%m(a%m)*(b%m)%m 我们可以每次计算就可以取余一次&#xff0c;这样就保证了最后取余的结果和一起相加再取余的结果一样 然后这个题目要怎…

【LeetCode】数学精选4题

目录 1. 二进制求和&#xff08;简单&#xff09; 2. 两数相加&#xff08;中等&#xff09; 3. 两数相除&#xff08;中等&#xff09; 4. 字符串相乘&#xff08;中等&#xff09; 1. 二进制求和&#xff08;简单&#xff09; 从字符串的右端出发向左做加法&#xff0c;…