以下是有关 Servlet 的常见问题解答。我已经提供了每个问题的简要回答,这将有助于您在技术面试回合中被选中。
Q 1. 什么是servlet?
Servlet 是一种服务器端编程语言,用于生成动态网页。它生成网页作为从客户端(浏览器)收到的请求的响应。
Q 2. 静态网页 vs 动态网页?
对所有用户都相同的网页是静态网页,根据用户的请求动态生成的网页(每个用户根据请求可能不同)被称为动态网页。Servlet 主要用于动态网页。
Q 3. servlet 的生命周期?
以下是servlet生命周期的
几个阶段:1)加载servlet类:servlet容器找到web.xml文件中提到的servlet类并加载它。
2) Servlet 实例化:servlet 类的对象在这个阶段被创建。
3)初始化:通过调用init()
方法初始化Servlet 。
4) 服务请求:在这个阶段,servlet 通过调用service()
方法来服务客户端请求。
5) 销毁:servlet 生命周期的最后阶段。destroy() 方法释放 servlet 实例,以便它可以被垃圾收集。
Q 4. 为什么我们使用 Servlets?
1) 处理用户从屏幕提交的输入数据。
2)根据请求生成动态响应并返回给用户。
3) 根据用户的要求与数据库交互的理想编程语言。
4) servlet 可以同时处理多个请求,这使得它们成为高性能应用程序的完美选择。
Q 5. 为什么 Servlet 比 CGI 好?
1) Servlet 响应比 CGI 更快,因为它使用多线程概念来服务每个请求。CGI 性能不是那么好,因为它为每个请求创建一个新对象,而 servlet 为每个请求分配一个新线程。
2)与CGI相比,学习和实现servlet要容易得多。
3) servlet 的内存消耗比 CGI 低。
Q 6. Servlet 什么时候加载?
1) 当 servlet 容器收到来自客户端(浏览器)的第一个请求时。
2) 应用程序管理员手动加载 servlet。
3) 当 web 服务器(部署了 servlet)启动时。