Java面试题七

这篇博客包含了Java面试中常见的题目,涉及Web应用程序结构、Servlet生命周期、会话跟踪技术以及JSP的相关知识点。例如,讨论了WEB-INF目录的结构,Servlet的init()和destroy()方法,Cookie、Session和URL重写在会话跟踪中的作用,以及JSP的动态和静态引入。同时提到了context-param和init-param的区别,并简单介绍了自定义标签IterationTag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(此系列试题来源于Java面试宝典书籍)  

一、不定向选择题

1. 关于Web应用程序,下列说法错误的是

  • A. WEB-INF 目录存在于 web 应用的根目录下
  • B. WEB-INF 目录与 classes 目录平行
  • C. web.xml 在 WEB-INF 目录下
  • D. Web 应用程序可以打包为 war 文件

2. 有关servlet的生命周期说法正确的是

  • A. Servlet 的生命周期由 Servlet 实例控制
  • B. init()方法在创建完 Servlet 实例后对其进行初始化,传递的参数为实现 ServletContext 接口的对象
  • C. service()方法响应客户端发出的请求
  • D. destroy()方法释放 Servlet 实例

解析

  • Servlet 的生命周期是由 Servlet 容器(Tomcat 就是常见的 Servlet 容器)管理的,因此A不对
  • Servlet 中的 init()方法有两个重载,一个是空参的,另外一个是带 ServletConfig 形参的,而不是ServletContext,因此 b 不对
  • 关于 d 选项,说法其实并不好,正确的表达应该是因为 Servlet 实例要释放(销毁)了,才会先调用 destroy()方法。

3. 关于会话跟踪技术说法正确的是

  • A. Cookie 是 Web 服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端
  • B. 关闭浏览器意味着会话 ID 丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期
  • C. 在禁用 Cookie 时可以使用 URL 重写技术跟踪会话
  • D. 隐藏表单域将字段添加到 HTML 表单并在客户端浏览器中显示

解析:

会话跟踪常用的四种方法

  • URL重写:就是在URL结尾添加一个附加数据以标识该会话,把会话ID通过URL的信息传递过去,以便在服务端进行识别不同的用户
  • 隐藏表单域:将会话ID添加到HTML表单元素中提交到服务器,此表单不再客户端显示
  • cookie:Cookie是Web服务器发送给客户端的一小段信息,客户端请求时可以读取该信息发送到服务器端,进而进行用户的识别。对于客户端的每次请求,服务器都会将Cookie发送到客户端,在客户端可以进行保存,以便下次使用
  • session:在服务器端会创建一个session对象,产生一个sessionID来标识这个session对象,然后将这个sessionID放入到Cookie中发送到客户端,下一次访问时,sessionID会发送到服务器,在服务器端进行识别不同的用户 , Session是依赖Cookie的,如果Cookie被禁用,那么session也将失效

4. context-param和init-param的区别与作用

https://www.cnblogs.com/hzj-/articles/1689836.html   作者:青春乐园

6. JSP写java代码

<%   %>包裹java代码,获取值<%=i%>

7. 一个jsp引入另一个jsp

  • <jsp:include page=”test2.jsp” />属于动态引入:是在翻译阶段执行(将 JSP 页面转换成 servlet 的阶段)。通俗的话讲就是先合并在一起,然后再编译成一个 Servlet 文件,是纯粹的把部分代码写到了另一页面(或者说是共享),而那另一页面中不能有相同的变量名,但可以借用主页面的内容

  • <%@ include file=”test2.jsp” %>属于静态引入:在请求处理阶段执行。通俗的话讲就是先各自编译,然后在处理请求的时候结果再合并到一起   引入执行页面或 servlet 所生成的应答文本       

8. 自定义标签:IterationTag

9. Linux使用mount命令加挂计算器的非Linux文件系统

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值