JavaWeb作业7 会话技术

单选题

1、在Java EE中,定义了getSession()方法的接口是(C)

  • A、HttpServlet

  • B、HttpSession

  • C、HttpServletRequest

  • D、HttpServletResponse

参考答案 :C

答案说明 :无

2、在一个Cookie对象中,若调用了setMaxAge(0)方法,表示(A)

  • A、将Cookie的持久化时间设置为0,意味着删除Cookie

  • B、Cookie永久生效

  • C、Cookie在10分钟后失效

  • D、Cookie在30分钟后失效

参考答案 :A

答案说明 :设置值为0,则浏览器会立即删除这个Cookie信息。

3、若想修改Tomcat服务器的默认会话时间,则需要进入下列哪个文件中修改?( B)

  • A、在<tomcat安装目录>\conf\context.xml文件中修改

  • B、在<tomcat安装目录>\conf\web.xml文件中修改

  • C、在<tomcat安装目录>\conf\server.xml文件中修改

  • D、在<tomcat安装目录> \conf\当前应用\web.xml文件中修改

参考答案 :B

答案说明 :无

4、下列选项中,正确设置Set-Cookie响应头字段的是(C)

  • A、Set-Cookie; user=itcast; Path=/;

  • B、Set-Cookie user=itcast; Path=/;

  • C、Set-Cookie: user=itcast; Path=/;

  • D、Set-Cookie: user=itcast Path=/;

参考答案 :C

答案说明 :服务器向客户端发送Cookie时,会在HTTP响应头字段中增加Set-Cookie响应头字段。Set-Cookie头字段中设置的Cookie的具体示例如下: Set-Cookie: user=itcast; Path=/;

5、下列对于setMaxAge(-1)方法的描述中,正确的是(C)

  • A、表示通知浏览器保存这个Cookie信息

  • B、表示通知浏览器立即删除这个Cookie信息

  • C、表示当浏览器关闭时,Cookie信息会被删除

  • D、以上都不正确

参考答案 :C

答案说明 :无

6、Tomcat服务器的默认会话超时时间是( B)

  • A、30秒

  • B、30分钟

  • C、30毫秒

  • D、30小时

参考答案 :B

答案说明 :无

7、下列选项中,客户端在一次会话过程中可以发送的请求次数是(D)

  • A、0

  • B、1

  • C、2

  • D、多次

参考答案 :D

答案说明 :Cookie技术可以将用户的信息保存在各自的浏览器中,并且可以在多次请求下实现数据的共享。

8、下列关于Cookie和Session的描述中,错误的是(D)

  • A、 Cookie和HttpSession是保存会话相关数据的技术,其中Cookie将信息存储在浏览器端是客户端技术,Session将数据保存在服务器端是服务器端技术

  • B、HttpSession会话对象的默认保持时间可以修改

  • C、HttpSession默认是基于Cookie运作的

  • D、浏览器可以接受任意多个Cookie信息保存任意长的时间

参考答案 :D

答案说明 :浏览器对Cookie具有严格的限制,一个网站能在浏览器中保存多少Cookie是有限制的。

9、下列选项中,关于Cookie中保存的数据,说法正确的是(B)

  • A、保存在服务器中

  • B、保存在客户端浏览器中

  • C、保存在数据库中

  • D、以上说法都不对

参考答案 :B

答案说明 :无

10、下面关于setMaxAge(int expires)方法参数默认值的描述中,正确的是(B)

  • A、默认值是1

  • B、默认值是-1

  • C、默认值是0

  • D、默认值是无穷大

参考答案 :B

答案说明 :在默认的情况下,Cookie对象的maxAge属性的值是-1,即浏览器关闭时删除这个Cookie对象

11、下列选项中,可以更改Cookie的存活时间的是(A)

  • A、cookie.setMaxAge(3600*24);

  • B、cookie.setPath("/app");

  • C、cookie.setDomain("localhost");

  • D、cookie.setValue("share");

参考答案 :A

答案说明 :setMaxAge(int expiry)方法用于设置和Cookie在浏览器上保持有效的秒数。

12、下面选项中,可以获取到代表当前会话的Session对象的方法是(A)

  • A、request.getSession();

  • B、 request.setAttribute();

  • C、new HttpSession();

  • D、HttpSession.newInstance(request);

参考答案 :A

答案说明 :getSession()方法相当于getSession(true)的情况,在相关的HttpSession对象不存在时总是创建新的HttpSession对象。

13、下面选项中,哪个方法可以用于设置Cookie的有效域(C)

  • A、String setPath(String pattern)

  • B、void setPath(String pattern)

  • C、void setDomain(String pattern)

  • D、String setDomain(String pattern)

参考答案 :C

答案说明 :setDomain(String pattern)方法和getDomain()方法是针对Cookie的domain属性的。domain属性用于指定浏览器访问的域。

14、下面选项中,用于强制使Session对象无效的方法是(D)

  • A、request.invalidate ();

  • B、session.validate ();

  • C、response.invalidate ();

  • D、session.invalidate ();

参考答案 :D

答案说明 :HttpSession接口中的invalidate()方法,该方法可以强制使Session对象失效,具体用法如下所示: HttpSession session = request.getSession(); session.invalidate();//注销该request的所有session

15、下面选项中,当存在Session对象直接返回,否则返回null的方法是(C)

  • A、 request.getSession();

  • B、 request.getSession(true);

  • C、request.getSession(false);

  • D、 response.getSession();

参考答案 :C

答案说明 :getSession( )方法根据传递的参数判断是否创建新的HttpSession对象,如果参数为true,则在相关的HttpSession对象不存在时创建并返回新的HttpSession对象,否则不创建新的HttpSession对象,而是返回null

16、下列选项中,能够用于获取客户端所有cookie对象的方法是(B)

  • A、List cookies = request.getCookies();

  • B、Cookie[] cookies = request.getCookies();

  • C、List cookies = response.getCookies();

  • D、Cookie[] cookies = response.getCookies();

参考答案 :B

答案说明 :request对象主要获取客户端的数据,故排除C和D

多选题

17、下列选项中,适合将信息存入Session的是(ABC)

  • A、用户登录信息

  • B、验证码

  • C、购物车

  • D、聊天室

参考答案 :A,B,C

答案说明 :无

18、下面关于Session域的说法中,正确的是(ACD)

  • A、Session域的作用范围为整个会话

  • B、Session域中的数据只能存在30分钟,这个时间不能修改

  • C、可以调用HttpSession的invalidate方法,立即销毁Session域

  • D、当web应用被移除出web容器时,该web应用对应的Session跟着销毁

参考答案 :A,C,D

答案说明 :无

19、下面选项中,关于SessionID的说法正确的是(ABD)

  • A、每个HttpSession对象都有唯一的Session ID

  • B、SessionID 由Servlet容器创建

  • C、SessionID必须保存在客户端的cookie文件中

  • D、Servlet容器会把Session ID作为Cookie或者URL的一部分发送到客户端

参考答案 :A,B,D

答案说明 :无

20、下列关于Cookie的说法中正确的是(ABCD)

  • A、Cookie是基于HTTP协议中的Set-Cookie响应头和Cookie请求头进行工作的

  • B、浏览器对Cookie具有严格的限制,一个网站能在浏览器中保存多少Cookie是有限制的

  • C、默认情况下HttpSession是基于一个名称为JSESSIONID 的特殊Cookie工作的

  • D、一个浏览器可能保存着多个名称为JSESSIONID的Cookie

参考答案 :A,B,C,D

答案说明 :无

21、下列关于HttpSession对象的描述中,说法正确的是(AC)

  • A、如果两次访问时间间隔超过session定义的非活动时间间隔,则HttpSession对象将失效

  • B、用户每次做出请求时都会创建一个新的会话

  • C、同一个浏览器做出的多个请求可以访问同一个会话对象

  • D、SessionID保存在服务器端,HttpSession对象保存在客户的浏览器

参考答案 :A,C

答案说明 :无

22、下列关于URL重写的描述中,正确的是(BC)

  • A、如果浏览器没有禁用cookie,那么在浏览器中访问时就不会重写URL

  • B、如果浏览器禁用cookie了,那么浏览器每次访问时都会重写URL

  • C、如果浏览器没有禁用cookie,那么在浏览器只在第一次访问时才会重写URL,以后每次访问时都不会重写URL

  • D、不管浏览器是否禁用cookie,都一定要重写URL

参考答案 :B,C

答案说明 :无

判断题

23、Session可以将会话数据保存到服务器。

参考答案 :对

答案说明 :无

24、一次性验证码可以限制人们使用软件来暴力猜测密码,从而保证了用户信息的安全。

参考答案 :对

答案说明 :无

25、Cookie的domain属性是用来指定浏览器访问的域,设置domain属性时必须以"."开头。

参考答案 :对

答案说明 :无

26、Cookie的path属性设置后,只对当前访问路径所属的目录有效。

参考答案 :错

答案说明 :如果创建的某个Cookie对象没有设置Path属性,那么该Cookie只对当前访问路径所属的目录及其子目录有效。如果想让某个Cookie项对站点的所有目录下的访问路径都有效,应调用Cookie对象的setPath()方法将其Path属性设置为"/"。

27、Servlet API中提供了一个javax.servlet.http.Cookie类,该类提供了操作Cookie的属性与方法,Cookie类有且仅有一个构造方法。

参考答案 :对

答案说明 :无

28、当浏览器禁用Cookie后,原来已实现的关于Session的应用程序,不会受到影响依然可以运行。

参考答案 :错

答案说明 :HttpSession默认是基于Cookie运作的。

29、Cookie的domain属性是用来指定浏览器访问的域,设置domain属性时严格区分大小写。

参考答案 :错

答案说明 :domain属性用于指定浏览器访问的域。例如,传智播客的域为"itcast.cn"。设置domain属性时,其值必须以"."开头,如domain=.itcast.cn。默认情况下,domain属性的值为当前主机名,浏览器在访问当前主机下的资源时,都会将Cookie信息发送给服务器(当前主机)。需要注意的是,domain属性的值不区分大小写。

30、Tomcat容器中如果将元素中的时间值设置成0或一个负数,则表示会话永不超时。

参考答案 :对

答案说明 :无

31、HttpServlet接口中的setMaxInactiveInterval(int interval)方法,是用于设置当前HttpSession对象可空闲的以毫秒为单位的最长时间。

参考答案 :错

答案说明 :是以秒为单位的。

32、Servlet提供了两个用于保存会话数据的对象,分别是Cookie和Session。

参考答案 :对

答案说明 :无

33、一次会话过程中,只允许客户端与服务器进行一次请求与响应过程。

参考答案 :错

答案说明 :无

34、如果想让某个Cookie项对站点的所有目录下的访问路径都有效,应调用Cookie对象的setPath()方法将其Path属性设置为"/"。

参考答案 :对

答案说明 :无

35、request.getSession(false)的作用是返回存在的Session对象,当Session对象不存在时,就创建新的HttpSession对象并返回。

参考答案 :错

答案说明 :对于方法request.getSession(),如果参数为true,则在相关的HttpSession对象不存在时创建并返回新的HttpSession对象,否则不创建新的HttpSession对象,而是返回null。

36、Session对象的getLastAccessedTime()方法返回的是发送请求的时间与1970年1月1日00:00:00之间时间差的秒表示形式。

参考答案 :错

答案说明 :getLastAccessedTime()方法用于返回客户端最后一次发送与Session相关请求的时间,这个时间是发送请求的时间与1970年1月1日00:00:00之间时间差的毫秒表示形式

37、Session对象在用户第一次访问服务器时创建,也可以通过调用request.getSession(true)方法强制生成Session对象。

参考答案 :对

答案说明 :无

38、Session是一种将会话数据保存到服务器端的技术,需要借助Cookie技术来实现。

参考答案 :对

答案说明 :无

39、无论浏览器是否支持Cookie,服务器都会在第一次响应的页面中对URL地址进行重写。

参考答案 :对

答案说明 :无

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值