美女面试官问你JavaWeb学的怎么样?JavaWEB面试复习看这一篇就够了!!_三层cs结构中以下说法正确的是

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

C. versioin:指定XML文档版本。必须属性,常用1.1

D. 指定当前文档的编码。可选属性,常用值是utf-8;

\3. 以下对DOM解析方法说法正确的是(A)

A. 要求解析器把整个XML文档装载到内存,并解析成一个Document对象。

B. 它逐行扫描文档,一边扫描一边解析。并以事件驱动的方式进行具体解析,每执行一行,都将触发对应的事件

C. 处理速度快,可以处理大文件

D. 只能读,逐行后将释放资源

多选题

\1. XML由哪些组成部分是:(ABC)

A. 文档声明

B. 元素

C. 属性

D. java代码

E. css片段

\2. 以下转义字符对应正确的是(ABCDE)

A. “<”对应于“<”

B. “>”对应于“&gt”

C. “&”对应于“&amp”

D. “’”对应于“&apos”

E. 双引号对应于“"”

\3. 以下哪些方式可以解析XML是(ABCD)

A. DOM

B. SAX

C. PULL

D. DOM4J

E. HTTP

\4. 以下XML片段写法正确的是 ( CDE )

A.

B.

C.

D.

E.

第 二 章 JavaWEB的开篇测试题

判断题

\1. Web是一种基于超文本和http的、全球性、动态交互的、跨平台的分布式图形信息系统。(√)

\2. JavaWeb就是使用java语言进行开发的web系统。(×)

\3. Web的结构只有cs结构。(×)

\4. Web的结构只有bs结构。(×)

\5. 静态资源的数据都是写死在页面上的固定不变。(√)

\6. B/S 结构是指浏览器和服务器交互架构。(√)

\7. 实现B/S结构,只需 要用户在操作系统中安装浏览器即可。(√)

\1. tomcat是一个开源的免费的web服务器,它支持javaEE所有规范(×)

\2. tomcat 安装后默认端口80 (×)

\3. tomcat 启动时需要配置JAVA_HOME 环境变量(√)

\4. tomcat 启动时必须配置CATALINA_HOME环境变量(×)

\5. 软件架构只有B/S和C/S(×)

\6. HTTP协议仅仅只有请求和响应两部分组成(×)

\7. Tomcat的默认端口号是8080(√)

\8. HTTP协议就是超文本传输协议(√)

\9. Tomcat是一个web容器或者web服务器(√)

\10. HTTP协议中请求和响应是成对出现的(√)

\11. 安装好Tomcat后,就可以直接启动运行了,并不要先安装JDK(×)

\12. 客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。(√)

\13. 服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。(√)

\1. servlet是运行服务器端的一个小程序(√)

\2. 要运行servlet必须使用tomcat服务器(×)

\3. Servlet是JavaWeb的三大组件之一(√)

\4. Init方法不是servelt的生命周期方法(×)

\5. 实现一个Servlet需要创建一个class实现servlet接口(√)

\6. Servlet程序需要在web.xml文件中做配置(√)

\7. Servlet是通过Http协议接收请求信息和完成响应信息的(√)

\8. 配置Servlet的目的是将请求路径和java程序的对应关系建立起来(√)

\9. Servlet程序必须在servlet容器(服务器)中运行(√)

单选题

\1. 以下对cs结构说法正确的是(A)

A. 可以减轻服务端压力,将部分代码写到客户端。

B. 见面不够美观。

C. 服务端升级,客户端不需要升级

D. 分布式开发比较强。

\2. 以下关于BS结构说法正确的是(A)

A. 不需要安装客户端

B. 服务端升级后,客户端也需要升级

C. 分布式开发的能力比较弱

D. 服务端的压力比较小

\3. 下面选项中,表示服务器错误的状态码是( ) D

A: 100

B: 404

C: 304

D: 500

\4. 单纯使用HTML设计的页面一般称为(  ) B

A. 动态页面

B. 静态页面

C. 文本页面

D. JSP页面

\5. Form表单的method属性能取( )项的值 C

A.submit

B.puts

C.post

D.out

\1. 下面关于tomcat服务器描述正确的是©

A. tomcat是一个开源的免费的web服务器,它支持javaEE所有规范

B. tomcat 安装后默认端口80

C. tomcat 启动时需要配置JAVA_HOME 环境变量

D. tomcat 启动时必须配置CATALINA_HOME环境变量

\2. 安装tomcat成功后,要修改tomcat端口,要修改的文件是(B)

A. tomcat/bin/startup.bat文件

B. tomcat/conf/server.xml

C. tomcat/conf/web.xml

D. 以上都不是

\3. 表示重定向的响应状态码是(B)

A. 200

B. 302

C. 304

D. 404

\4. 在tomcat发布web应用myweb,定义类cn.itcast.Hello.java,Hello.class会被编译到哪个目录(B)

A. ${CATALINA_HOME}/webapps/myweb/WEB-INF/classes/Hello.class

B. ${CATALINA_HOME}/webapps/myweb/WEB-INF/classes/cn/itcast/Hello.class

C. ${CATALINA_HOME}/webapps/myweb/WEB-INF/classes/cn.itcast.Hello.class

D. ${CATALINA_HOME}/webapps/myweb/WEB-INF/classes/cn.itcast/Hello.class

\5. HTTP协议是(A)

A. 超文本传输协议,主要用于浏览器与web服务器的通信

B. 是有状态协议

C. 是超文本标记语言

D. 是非常安全的协议

\6. 下图是tomcat的目录结构,描述错误的是?(C)

A: bin 目录存放了启动/关闭tomcat服务器的执行脚本文件

B: conf 目录存放了tomcat服务器的主要配置文件

C: lib 目录存放了tomcat服务器的文档资料

D: webapps 目录包含了示例项目,发布web应用时可将打包好的war文件放到此目录

\7. web项目发布在Tomcat的哪个目录中(C )

A: bin

B: conf

C: webapps

D: lib

\8. 以下HTTP相应状态码的含义描述正确的是()C

A. 200 表示请求出现低级问题

B. 400表示不良请求表示服务器未发现与请求URL匹配内容

C. 404 客户端所给的地址无法找到任何资源

D. 600表示内部服务器错误,无法处理请求

\1. HTTP缺省的请求方式是(B)

A. PUT

B. GET

C. POST

D. TRACE

\2. HTTPServlet中,用来处理GET请求的方法是(B)

A. doHead

B. doGet

C. doPost

D. doPut

\3. 以下哪一个类可以获取Servlet的初始化参数©

A. Servlet

B. ServletContext

C. ServletConfig

D. GenericServlet

\4. 给定一个Servlet的doGet方法中的代码片断(D)

​ request.setAttribute(“name”,”zhang”);

​ response.sendRedirect(“http://localhost:8080/servlet/MyServlet”)

​ 那么在MyServlet中可以使用哪个方法把属性name的值取出

A. String str=request.getAttribute(“name”);

B. String str=(String)request.getAttribute(“name”);

C. String str=request.getParameter(“name”);

D. 无法取出

\5. 下面哪一个指明向客户端发送的请求正文的MIME类型(A)

A. Content-Type

B. Content-Encoding

C. Content-Length

D. 全是

\6. Servlet容器启动每一个web应用时,都会为它创建一个唯一的对象,该对象和web应用有相同的生命周期,是下面的哪一个©

A. Servlet

B. ServletConfig

C. ServletContext

D. GenericServlet

\7. 在J2EE中,当用户在浏览器中输入:http://localhost:8080/myWeb/stu,就会 调用cn.itcast.StudentServlet,在web.xml中关于servlet配置正确的是(A)

A. /stu

B. *.stu

C. stu

D. cn.itcast.stu

\8. Servlet三大域对象不包含哪个( B )

A: HttpServletRequest

B: HttpServletResponse

C: HttpSession

D: ServletContext

\9. 以下关于Servlet的生命周期描述错误的是( )B

A: 服务器启动时Servlet创建先调用init方法,该方法在整个生命周期中仅执行一次

B: Servlet 在整个生命周期内有多个对象同时存在

C: 当服务器正常关闭时,调用destroy方法

D: 使用service方法对浏览器的请求进行处理并响应

\10. 根据下面servlet的配置信息,访问项目Demo下的DeptServlet的fun方法路径正确的是( )C

dept

cn.czxy.servlet.DeptServlet

dept

*.do

A: http://localhost:8080/Demo/DeptServlet?method=fun

B: http://localhost:8080/Demo/dept?method=fun

C: http://localhost:8080/Demo/dept/add.do?method=fun

D: http://localhost:8080/Demo/dept/do?method=fun

\11. 下面Servlet的(  )方法用来为请求服务,在Servlet生命周期中,Servlet每被请求一次,它就会被调用一次。 A

A. service()

B. init()

C. doPost()

D. destroy()

多选题

\1. 常见的web服务器有:(ABCD)

A. tomcat

B. Websphere

C. weblogic

D. apache

E. http

\2. web中的开发资源有(ABCD)

A. html

B. css

C. js

D. jsp

E. notepad++

\3. 下列属于B/S结构的项目有( )BE

A: QQ

B: 百度

C: 迅雷

D: 淘宝app

E: 新浪网

\1. HTTP协议中关于get请求与post请求说法正确的是(ABC)

A. get方式传输数据大小有限制

B. post方式传可以传输大数据

C. get方式会将请求信息在地址栏上显示,post不会

D. http协议请求方式只有get和post

E. 通过浏览器地址栏直接访问属于post访问

\2. Tomcat的描述正确的是(ABC)

A. tomcat是一个web容器

B. tomcat是Apache组织下的web服务器

C. tomcat是一个轻量级的web容器

D. tomcat是实现了所有JavaEE规范的web服务器

E. tomcat是只可以处理post请求的服务器

\3. HTTP协议的描述正确的是(ACDE)

A. http协议最长用的请求方式有get和post

B. http协议中实现重定向的状态码是404

C. http协议规定了如何与web服务端通信的规范

D. http协议是无状态协议

E. 是www客户机和服务器之间的传输协议

\1. HttpServlet中定义的doGet和doPost方法的参数类型有哪些?(BC)

A. ServletRequest

B. HttpServletRequest

C. HttpServletResponse

D. ServletResponse

E. HttpSession

\2. 在Servlet中,能实现转向另外一个Servlet的方法有(BC)

A. 运用javax.servlet.http.HttpServletRequest接口的sendRedirect方法

B. 运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法

C. 运用javax.servlet.RequestDispatcher接口的forward方法

D. 运用javax.servlet.ResponseDispatcher接口的forward方法

E. 运用javax.servlet.http.HttpSeesion接口的sendRedirect方法

\3. 以下哪种方式可以编写一个Servlet(ABC)

A. 实现javax.servlet.Servlet接口

B. 继承javax.servlet.GenericServlet类

C. 继承javax.servlet.http.HttpServlet类

D. 实现 javax.servlet.ServletConfig接口

E. 实现Filter接口

\4. 继承HttpServlet编写的Servlet中获取ServletContext对象的方法下面正确的是(AB)

A. getServletConfig().getServletContext()

B. getServletContext()

C. getServlet().getServletContext()

D. response.getServletContext()

E. getSession.getServletContext()

\5. 在JavaEE中,对于HttpServlet描述正确的是(BCD)

A. 自定义的Servlet继承了HttpServlet类,一定要覆盖掉service方法

B. HttpServlet类扩展了GenericServlet类,实现了GenericServlet类的抽象方法

C. HttpServlet类中处理客户请求和响应时所使用的两个接口是HttpServletRequest和HttpServletResponse

D. 自定义的Servlet继承HttpServlet类,一般只需要覆盖doPost或doGet方法,不必覆盖service方法,service方法会调用doPost或doGet

E. 自定义的Servlet可以不继承HttpServlet类,直接在web.xml配置即可

\6. Servlet中,下面关于url配置方式正确的是(ABDE)

A. ./my

B. ./my/*

C. ./*.do

D. .*.do

E. /a/b

\7. 在servlet的生命周期中,servlet容器调用一次的方法是(CD)

A. service

B. getServletConfig

C. init

D. destroy

E. doGet

\8. 在部署Servlet时,web.xml文件中标签包含哪些子标签(ABCD) A.

​ B.

​ C.

​ D.

​ E.

\9. Serlvet生命周期有关的方法是(ABC)

A. init(ServletConfig config)

B. service(ServletRequest request,ServletResponse response)

C. destory()

D. getServletName()

E. getServletConfig( )

\10. HTTP请求消息中,下面说法错误的是(ABC )。

A. 最常使用的请求方式,POST和HEAD方式

B. 最常使用的请求方式 GET和HEAD方式

C. 最常使用的请求方式HEAD和OPTIONS方式

D. 最常使用的请求方式POST和GET方式

E. 以上全部错误。

第五章 Request请求和Response响应测试题

判断题

\1. request对象是有服务器端自动创建的,不需要任何操作(×)

\2. request对象是由web容器负责创建的,一个浏览器对应一个request对象(×)

\3. 请求参数是浏览器访问服务器时同时传递过来的一些参数信息,是浏览器和服务器进行消息传递的一种方式(√)

\4. HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求中的所有 信息都封装在这个对象中(√)

\5. 通过HttpServletRequest对象可以获取请求头信息(√)

\6. 通过HttpServletRequest对象可以获取请求参数(√)

\7. http请求一共分为三个部分:请求行,请求头,请求体。(√)

\8. HttpServletRequest对象的getMethod()方法可以获取请求方式的类型(√)

\9. HttpServletRequest对象的getRequestURI() 方法可以获取请求行中的资源名部分(√)

\10. Get请求的请求数据暴露在地址栏(√)

\11. referer请求头信息可以判断请求的来源地址(√)

\12. post请求可以这样设置utf-8编码: request.setCharacterEncoding(“utf‐8”); (√)

\13. 请求转发是把请求转发到其他servlet中,不携带当前请求的参数。(×)

单选题

\1. 关于request域的说法不正确的是:(D)

A. request域作用范围为整个请求链,

B. request域的生命周期为:在服务器针对一次请求创建出request对象后生命周期开始,在响应结束后,request对象销毁时生命周期结束。

C. request作用范围为整个请求链,因此常常在请求转发时由一个servlet(或jsp)向另一个servlet(或jsp)通过属性传递数据。

D. request.getAttribute()可以获取到浏览器发送过来的请求参数。

\2. HttpServlet的子类要从HTTP请求中获得请求参数,应该调用哪个方法?(C)

A. 调用HttpServletRequest对象的getAttribute()方法

B. 调用ServletContext对象的getAttribute()方法

C. 调用HttpServletRequest对象的getParameter()方法

D. 调用HttpServletRequest对象的getHeader()方法

\3. 如果点击超链接,servlet中要获取参数userid的值,下列选项正确的是( ) D

A:request.getRemoteAddr();

B:request.getAttribute(“userid”);

C:request.setAttribute(“userid”, “1001”);

D:request.getParameter(“userid”);

\4. 当下面表单提交时,浏览器地址栏会有什么变化( ) C

A:浏览器地址栏不变

B:浏览器地址栏显示 http://localhost:8080/AServlet? name=Tom&pwd=czxy

C:浏览器地址栏显示http://localhost:8080/AServlet?id=1001&name=Tom&pwd=czxy

D:浏览器地址栏显示http://localhost:8080/AServlet?name&Tom&pwd&czxy

\5. 当利用request的方法获取Form中的元素时,默认情况下字符编码是( )A

A.ISO-8859-1

B.DB2312

C.GB3000

D.ISO-8259-1

\6. 用于在html网页中创建表单的标签是()D

A:

B:

C:

D:

\7. 下面哪个标签不是HTML的基本组成( )A

A:

B:

C:

D:

\8. 定义一个用户可键入多行文本的标签是()B

A:

B:

C:

D:

\9. 下面选项中,属于HTML正确注释方式是( )C

A: //注释内容

B: /注释内容/

C:

D: //注释内容//

\10. 下面哪个属性是设置表单提交地址的()B

A: method

B: action

C: name

D: post

\11. 下面表单的提交方式中可以在地址栏显示提交数据的是( )C

A: post

B: set

C: get

D: method

\12. 在表单相关标签中如果要使用文本框则下列哪些标签会被用到( )C

A: post

B: password

C: input

D: method

\13. 在表单相关标签中如果想给下拉菜单添加选项,下面哪个标签会被用到( )C

A: textarea

B: password

C: option

D: select

\14. 在表单相关标签中如果想给下拉菜单指定某个选项为默认选项则应该使用下列哪个属性( ) C

A: name

B: value

C: selected

D: id

\15. input标签的type属性,哪个用于提交表单数据( )A

A: submit

B: file

C: password

D: image

\16. 在表单的相关标签中,如果要像使用复选框,下面哪个属性值或标签会被用到( )A

A: checkbox

B: password

C: select

D: radio

\17. 当下面表单提交时,浏览器地址栏会有什么变化( )C

A: 浏览器地址栏不变

B: 浏览器地址栏显示 http://localhost:8080/AServlet? name=Tom&pwd=czxy

C:浏览器地址栏显示http://localhost:8080/AServlet?id=1001&name=Tom&pwd=czxy

D: 浏览器地址栏显示http://localhost:8080/AServlet?name&Tom&pwd&czxy

\18. 在表单中,input元素的type属性取值为( )时,用于创建重置按钮 A

A: reset

B: set

C: button

D: submit

\19. 在页面中看不见的表单元素是那种?( ) C

A:

B:

C:

D:

\20. 在表单中包含性别选项,使用单选框,且默认”男”被选中,下列正确的是( )A

A: 男

B: 男

C: 男

D: 男

\21. 在html中,下列( )可以在表单中创建一个初始状态被选中的复选框 D

A: 同意

B: 同意

C: 同意

D: 同意

多选题目

\1. 关于request获取请求参数下列说法错误的是:(BC)

A. 请求参数是浏览器访问服务器时同时传递过来的一些参数信息,是浏览器和服务器进行消息传递的一种方式。

B. request对象具有增加、获取、修改、删除请求参数的方法

C. 所有的请求参数组成了request域中最初的属性。

D. 请求重定向过后,将不能再访问请求重定向前的请求参数。

E. 请求转发过后,将不能再访问ServletContext中的数据

\2. 下列说法正确的是:(ABC)

A. 请求转发和请求包含都是服务器端技术,与浏览器没有任何关系

B. 请求包含可以实现将多个资源的数据合并后输出

C. 利用好请求包含,可以将多个输出内容中相同的部分提取出来,方便开发

D. 请求包含只能包含动态web资源,不能包含HTML文件

E. 请求转发只能转发到jsp中

\3. 下面是表单提交方式的是()CE

A: action

B: text

C: post

D: method

E: get

\4. 下列HTML标签书写正确的有( ) ABCD

A: 哈哈

B: 哈哈

C: 哈哈

D: 哈哈

E: 哈哈

\5. 下面对于HTML语言特点描述正确的是() ACD

A: HTML文件不需要编译,直接使用浏览器解释执行

B: 标签名区分大小写

C: HTML文件的扩展名是*.html或*.htm

D: 标签名不区分大小写

E: HTML文件需要使用JVM运行

\6. 根据代码选择正确的表单标签中的属性() AD

_2 =”get”>

A: 1 action

B: 1 method

C: 2 action

D: 2 method

E: 2 form

\7. 当使用如下代码提交表单时,下列说法不正确的是( ACD)

A. 该表单将提交aa=11

B. 该表单将提交aa=22

C. 该表单将提交aa[0]=11,aa[1]=22

D. 该表单有误,未提交数据

E. 该表单以post方式提交

第五章 Request请求和Response响应测试题

判断题

\1. 请求转发和重定向都可以实现访问一个资源时转当前应用资源(√)

\2. 利用Response输出数据的时候,并不是直接将数据写给浏览器,而是写到了Response的缓冲区中。(√)

\3. http协议中的request与response与HttpServletRequest和HttpServletRequest没有区别(×)

\4. 响应分成三个部分:响应行、响应头、响应体。(√)

\5. HttpServletResponse对象可以设置响应的状态码(√)

\6. 响应行是http响应内容的第一行 (√)

\7. HttpServletResponse对象可以设置响应的响应头(√)

\8. HttpServletResponse对象可以向客户端发送响应数据(√)

\9. 响应头refresh表示定时刷新操作 , 指定时间后跳转到指定页面(√)

\10. 响应头content-type表示响应资源的MIME类型(√)

\11. 请求转发和重定向是都是两次请求完成的(×)

\12. 请求转发地址栏不变(√)

\13. 转发操作发生在服务器内部,重定向是浏览器执行操作(√)

\14. 重定向是两次请求,前后不能共享数据(√)

\15. ServletContext是一个容器(域对象)可以存储键值对数据(√)

\16. ServletContext的removeAttribute(String name)方法用于从ServletContext中移除指定名称的数据(√)

单选题

\1. 关于response对象,下列说法错误的是:(A)

A. response对象是代表响应的对象,对应着HTTP协议中的响应消息,所以它的API方法是 HTTP协议规定的

B. response对象是服务器内部的对象,浏览器只能识别HTTP响应消息,并不知道response对象的存在

C. web容器从response的中获取信息组织成HTTP响应消息发送给浏览器

D. 在HTML中可以书写用来模拟HTTP响应头的功能

\2. 如下代码如果使用浏览器访问Servlet1时会什么结果?(D)

Servlet1:

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

response.getOutputStream().write(“传智”.getBytes(“utf-8”));

request.getRequestDispatcher(“/Servlet2”).forward(request,response);
Servlet2:
response.getOutputStream().write(“播客”.getBytes(“utf-8”));

A. 浏览器输出 “传智播客”均正常无乱码。

B. 浏览器输出“传智”为乱码,输出“播客”正常。

C. 浏览器输出“传智”正常,输出“播客”乱码。

D. 浏览器输出“播客”正常

\3. 以下哪种说法是正确的(B)

A. ServletRequest类是代表客户端的请求,因此可以利用它提供的方法获取浏览器的信息:如getRemoteAddr获取浏览器的ip地址、 getMethod获取浏览器发送请求的请求方式

B. HttpServletRequest类提供的getHeader、getIntHeader、getDateHeader方法都可以获取请求头信息,不同的是getHeader返回String类型,后两个是便捷方法可以用来快速获取类型为int和日期类型的请求头的值

C. request对象是由web容器负责创建的,一个浏览器对应一个request对象

D. request对象是由浏览器发送给服务器的,所以一次请求对应一个request对象

\4. 在应用名称为app的web应用中的根目录下有一个1.jpg文件,现在需要在Servlet中获取指向这个文件的字节输入流。如下哪些选项可以实现(C)

A. FileInputStream fin = new FileInputStream(“1.jpg”);

B. FileInputStream fin = new FileInputStream(“/1.jpg”);

FileInputStream fin

C. = new FileInputStream(this.getServletContext().getRealPath(“/1.jpg”));

D. InputStreamfinthis.getClass().getClassLoader().getResourceAsStream(“1.jpg”);

\5. sendRedirect(java.lang.String url)方法是在哪个接口中定义的?(C)

A. HttpSession

B. HttpServletRequest

C. HttpServletResponse

D. ServletResponse

\6. 访问servlet中的listMoods方法,浏览器会展示( ) C

public void listMoods() throws UnsupportedEncodingException, IOException{

HttpServletResponse response = getResponse();

PrintWriter writer = response.getWriter();

writer.write(“爱我”);

writer.write(“中华”);

System.out.println(“你好”);

}

A:爱我

B:中华

C:爱我中华

D:爱我中华你好

多选题目

\1. 在应用名称为app的web应用中WEB-INF目录下有一个1.jpg文件,现在需要在Servlet中获取指向这个文件的字节输入流。如下哪些选项可以实现:(BD)

A. FileInputStream fin = new FileInputStream(“/WEB-INF/1.jpg”);

B. FileInputStream fin

=new FileInputStream(this.getServletContext().getRealPath(“/WEB-INF/1.jpg”));

C. InputStreamfin=this.getClass().getClassLoader().getResourceAsStream(“1.jpg”);

D. InputStreamfin= this.getClass().getClassLoader().getResourceAsStream(“…/1.jpg”);

E. FileInputStream fin = new FileInputStream(“/app/WEB-INF/1.jpg”);

\2. 关于请求转发和重定向说法正确的是:(ABCD)

A. 请求转发和重定向都可以实现访问一个资源时转当前应用资源

B. 请求转发是一次请求一次响应,而重定向为两次请求两次响应

C. 一般情况下应该使用请求转发,减少浏览器对服务器的访问,减轻服务器压力

D. 如果需要改变浏览器的地址栏,或更改浏览器的刷新按钮的功能时需要使用重定向

E. 重定向可以携带request域中的数据

\3. 在应用名称为app的web应用中有Servlet1和Serlvet2两个Servlet,下面的哪些代码写在Servlet1中可以使浏览器在访问Servlet1结束后自动访问Servlet2(web应用名为app)(ACD)

A. response.sendRedirect(“/app/Servlet2”);

B. response.sendRedirect(“/Servlet2”);

C. response.setStatues(302);response.setHeader(“location”,”/app/Servlet2”);

D. response.setHeader(“Refresh”,”0;url=/app/Servlet2”);

E. response.setHeader(“Refresh”,”0;url=/Servlet2”);

\4. 关于request和response下列说法中不正确的是(BD)

A. Javaweb开发是基于HTTP协议进行的,javaweb中使用request代表请求对象,response代表响应对象

B. request对象代表请求,response对象代表响应,这两个对象都是由浏览器创建后发送给服务器的

C. HTTP协议只规定了浏览器和服务器之间如何通信,而request和response对象是由javaee规范规定的、由javaweb容器负责创建的。

D. HTTP协议是javaweb开发的基石,如response中提供的请求重定向的方法和request中提供的转发和包含方法就是基于HTTP协议进行的

E. request对象代表请求对象,可以获取浏览器提交过来的参数信息

\5. 下列说法中正确的是:(BD)

A. response是代表响应的对象,当需要向浏览器输出数据时只能调用response身上的getWriter方法获取连接到浏览器的流。

B. 利用Response输出数据的时候,并不是直接将数据写给浏览器,而是写到了Response的缓冲区中。

C. 使用完流后要养成关闭流的习惯,所以在使用完Response获取的OutputStream或者Writer后必须将其关闭防止浪费资源。

D. service方法返回后,服务器会自己检查Response获取的OutputStream或者Writer是否关闭,如果没有关闭,服务器自动帮你关闭,一般情况下不要自己关闭这两个流。

E. response完成响应时,必须调用OutputStream或者Writer向浏览器输出信息

\6. 如果希望用户在访问完Servlet1后可以显示web应用目录下的index.jsp页面,且浏览器地址栏改变为index.jsp,在Servlet1中如下那种代码可以实现(web应用名为app)?(AC)

A. response.setHeader(“Refresh”,“0;url=/app/index.jsp”);

B. response.setStatus(302);response.setHeader(“Location”,“/index.jsp”);

C. response.sendRedirect(request.getContextPath()+“/index.jsp”);

D. request.getRequestDispatcher(“/index.jsp”).forward(request,response);

E. request.getRequestDispatcher(“/app/index.jsp”).forward(request,response);

第六章 会话技术之Cookie和Session测试题

判断题

\1. 会话是指打开浏览器访问服务器资源到关闭浏览器的过程。(√)

\2. 关闭浏览器也就表示一个会话的结束。(√)

\3. Cookie技术是服务端的会话技术。(×)

\4. Session技术是客户端的会话技术。(×)

\5. Cookie技术是把数据保存在浏览器客户端。(√)

\6. Session技术是把数据保存在服务器端。(√)

\7. 所有的Cookie在关闭浏览器时,都会销毁。(×)

\8. Cookie的内容可以保存到硬盘上。(√)

\9. Session可以做域对象使用。(√)

\10. Session的作用域是一次会话。(√)

\11. Cookie的setMaxAge(int expiry)方法用于设置cookie的最大生存时间(√)

\12. Session默认存活时间是60分钟(×)

\13. 手动调用session的invalidate的方法可以销毁该session(√)

\14. Session是在服务器启动的时候创建的(×)

\15. Cookie是浏览器发送请求的时候创建的(×)

单选题

\1. 以下对会话描述最完整的是(A)

A. 会话是指打开浏览器访问服务器资源到最后关闭浏览器的过程。

B. 会话是指打开浏览器反问服务器资源的过程。

C. 会话是指在多个浏览器中访问同一个服务器资源的过程

D. 会话是指打开多个浏览器,访问多个服务器资源,到最终关闭浏览器的过程。

\2. 以下对会话技术描述错误的是(A)

A. Cookie技术是服务端技术

B. Session技术是服务端技术

C. Cookie技术把数据保存到浏览器客户端

D. Session技术把数据保存到服务器端

\3. 以下CookieAPI中的方法描述错误的是(C)

A. getName() 获取Cookie的名称

B. getValue() 获取Cookie的值

C. setPath(String uri) 设置Cookie的有效域名

D. setMaxAge(int expiry) 设置Cookie的有效时长

\4. 以下对Cookie和Session的生命周期说法错误的是(B)

A. 默认级别的Cookie,在浏览器关闭后就会被销毁

B. 持久级别的Cookie中的内容只能保存到内存中

C. Session的作用范围是一次会话

D. 在同一个会话中的多个位置,都可以读取一个session中的内容

\5. 以下哪个方法不是对Session域中数据操作的方法(D)

A. setAttribute(String name,Object value);

B. getAttribute(String name)

C. removeAttribute(String name)

D. getParameters();

\6. session默认存活时间是( )C

A. 1小时

B. 请求结束,session就被销毁

C. 30分钟

D. 1天

\7. 以下哪个方法可以手动销毁session( ) C

A.setMaxAge(0)

B.setMaxAge(-1)

C.invalidate()

D.removeAttribute()

\8. 下列哪个方法可以获取浏览器发送到服务器的所有cookie( )B

A. request.getSession();

B. request.getCookies();

C. request.getParameter(“cookie”);

D. request.getAttribute(“cookie”);

\9. 打开浏览器访问fun1方法,不关闭浏览器,然后访问fun2方法,控制台打印结果是( )C

public class DemoServlet extends BaseServlet {

private static final long serialVersionUID = 1L;

public String fun1(){

​ Cookie cookie = new Cookie(“name”, “1001”);

​ cookie.setMaxAge(-1);

​ getResponse().addCookie(cookie);

​ return null;

}

public String fun2(){

​ Cookie[] cookies = getRequest().getCookies();

​ for(Cookie c: cookies){

​ if(c.getName().equals(“name”)){

​ System.out.println(c.getValue());

​ }

​ }

​ return null;

​ }

}

A. null

B. 什么都不会打印

C. 1001

D. Name

\10. 下列哪个方法可以将cookie发送给浏览器()C

Cookie c = new Cookie(“a”,”123”);

A. request.getCookies();

B. request.setAttribute(“c”,c);

C. response.addCookie©;

D. setMaxAge(3600);

\11. 横线处填写什么代码,控制台可以打印“123”( )C

public String fun(){

​ HttpSession session = getRequest().getSession();

​ session.setAttribute(“aa”, “123”);

​ _____________________;

System.out.println(value);

​ return null;

}

A. String value = (String) getRequest().getAttribute(“aa”);

B. String value=(String)getServletContext().getAttribute(“aa”)

C. String value = (String) getSession().getAttribute(“aa”);

D. 以上3中方式不都可以

\12. 以下代码实现用户退出登录功能,请根据需求补全程序代码( )C

public String logout(HttpServletRequest request,HttpServletResponse response){


return “/user/index.jsp”;

}

A: request.removeAttribute(“user”);

B: request.getSession().setMaxAge(0);

C: request.getSession().invalidate();

D: request.getServletContext().removeAttribute(“user”);

\13. 横线处填写什么代码,控制台可以打印“123”( )C

public String fun(){

HttpSession session = getRequest().getSession();

session.setAttribute(“aa”, “123”);

_____________________;

System.out.println(value);

return null;

}

A: String value = (String) getRequest().getAttribute(“aa”);

B: String value = (String) getServletContext().getAttribute(“aa”);

C: String value = (String) getSession().getAttribute(“aa”);

D: 以上3中方式都可以

\14. 已知代码如下,若想获取name的值,那么以下选项正确的是()D

this.getRequest().getSession().setAttribute(“name”, “zhangsan”);

A: String name =this.getRequest().getAttribute(“name”);

B: String name=(String)this.getRequest().getServletContext(“name”);

C: String name=(String)this.getRequest().getSession().getAttribute(name);

D: String name=(String)this.getRequest().getSession().getAttribute(“name”);

\15. 阅读代码,name值为“test”的cookie的值最终是( )C

public class CookieServlet extends BaseServlet {

public void cookie() {

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

​ session.setAttribute(“aa”, “123”);

​ _____________________;

System.out.println(value);

​ return null;

}

A. String value = (String) getRequest().getAttribute(“aa”);

B. String value=(String)getServletContext().getAttribute(“aa”)

C. String value = (String) getSession().getAttribute(“aa”);

D. 以上3中方式不都可以

\12. 以下代码实现用户退出登录功能,请根据需求补全程序代码( )C

public String logout(HttpServletRequest request,HttpServletResponse response){


return “/user/index.jsp”;

}

A: request.removeAttribute(“user”);

B: request.getSession().setMaxAge(0);

C: request.getSession().invalidate();

D: request.getServletContext().removeAttribute(“user”);

\13. 横线处填写什么代码,控制台可以打印“123”( )C

public String fun(){

HttpSession session = getRequest().getSession();

session.setAttribute(“aa”, “123”);

_____________________;

System.out.println(value);

return null;

}

A: String value = (String) getRequest().getAttribute(“aa”);

B: String value = (String) getServletContext().getAttribute(“aa”);

C: String value = (String) getSession().getAttribute(“aa”);

D: 以上3中方式都可以

\14. 已知代码如下,若想获取name的值,那么以下选项正确的是()D

this.getRequest().getSession().setAttribute(“name”, “zhangsan”);

A: String name =this.getRequest().getAttribute(“name”);

B: String name=(String)this.getRequest().getServletContext(“name”);

C: String name=(String)this.getRequest().getSession().getAttribute(name);

D: String name=(String)this.getRequest().getSession().getAttribute(“name”);

\15. 阅读代码,name值为“test”的cookie的值最终是( )C

public class CookieServlet extends BaseServlet {

public void cookie() {

[外链图片转存中…(img-oNrGXfzj-1715832986405)]
[外链图片转存中…(img-fwXjXsQ7-1715832986406)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值