
下边哪个不是JSP的内置对象?()A.session B.request C.cookie D.out
在JSP中,内置对象是无需声明即可直接使用的预定义对象,共有9个核心成员:request、response、session、application、out、pageContext、config、page和exception。这些对象由JSP引擎自动创建,覆盖了从请求处理到会话管理的核心功能。
题目中选项的分析:
A.session:属于内置对象,用于存储用户会话数据,生命周期从用户连接到服务器直至断开。
B.request:属于内置对象,封装客户端请求信息,如表单参数、URL路径等。
C.cookie:不是内置对象。Cookie需通过new Cookie(name, value)显式创建,并通过response.addCookie()发送到客户端。其本质是客户端存储的小型文本文件,需手动实例化,因此不符合内置对象的"无需声明即可使用"特性。
D.out:属于内置对象,用于向客户端输出HTML或文本内容,类型为JspWriter。
关键区分点:内置对象如session、request等由容器自动初始化,而Cookie需开发者显式创建,且操作依赖于response和request对象。例如,创建Cookie的代码为Cookie cookie = new Cookie("user", "admin"); response.addCookie(cookie);,这与直接使用session.setAttribute()的内置对象用法截然不同。
综上,正确答案是C.cookie。这一结论在所有参考文档中均有明确支持,Cookie始终被归类为需手动管理的客户端状态工具,而非JSP内置对象。理解这一区别有助于避免将会话管理技术(如session)与客户端存储机制(如Cookie)混淆。