单选题
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地址进行重写。
参考答案 :对
答案说明 :无