(此系列试题来源于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文件系统