Java推荐!Servlet面试题和答案汇集

列出了30个针对初学者和专业人士的servlet面试问题。如果你知道此处未包含任何Servlet采访问题, 请将你的问题发布在Ask Question部分。
1)创建了一个servlet多少个对象?
Servlet或Web容器首次请求时只有一个对象。
2)Servlet的生命周期是什么?

  1. Servlet已加载
  2. 实例化servlet
  3. servlet初始化
  4. 服务请求
  5. servlet被破坏
更多细节…
3)Servlet的生命周期方法是什么?
Method Description
当首次请求servlet时, 仅调用一次。它用于初始化servlet。
它在每个请求时都被调用。service()方法用于为请求提供服务。
卸载servlet时仅调用一次。
更多细节…
4)谁负责创建servlet对象?
【Java推荐!Servlet面试题和答案汇集】Web容器或Servlet容器。
5)何时创建servlet对象?
在第一次请求时。
6)Get和Post方法有什么区别?
Get Post
因为数据是在体内发送的, 所以可以发送大量数据。
由于数据未显示在URL栏中而被保护。
无法收藏
Non-Idempotent
它效率较低且使用过
更多细节…
7)PrintWriter和ServletOutputStream有什么区别?
PrintWriter是一个字符流类, 其中ServletOutputStream是字节流类。 PrintWriter类可用于仅写入基于字符的信息, 而ServletOutputStream类可用于写入原始值以及基于字符的信息。
8)GenericServlet和HttpServlet有什么区别?
GenericServlet是独立于协议的, 而HttpServlet是特定于HTTP协议的。 HttpServlet提供了其他功能, 例如状态管理等。
9)什么是servlet协作?
当一个小服务程序与另一个小服务程序通信时, 称为小服务程序协作。 servlet协作的方式有很多:
  • RequestDispacher接口
  • sendRedirect()方法等
更多细节…
10)RequestDispatcher接口的目的是什么?
RequestDispacher接口提供了将请求分派到另一个资源的功能, 该资源可能是html, servlet或jsp。该拦截器还可以用于包含其他资源的内容。
更多细节…
11)你可以从Servlet调用jsp吗?
是的, 其中一种方法是RequestDispatcher接口, 例如:
RequestDispatcher rd=request.getRequestDispatcher("/login.jsp"); rd.forward(request, response);

更多细节…
12)forward()方法和sendRedirect()方法之间的区别?
forward() method sendRedirect() method
1)sendRedirect()方法始终发送新请求, 因为它使用浏览器的URL栏。
2)sendRedirect()方法在客户端起作用。
3)sendRedirect()方法可在服务器内部和外部使用。
13)ServletConfig和ServletContext有什么区别?
容器为每个servlet创建ServletConfig对象, 而为每个Web应用程序创建ServletContext对象。
14)什么是会话跟踪?
会话只是意味着特定的时间间隔。
会话跟踪是一种维护用户状态的方法.Http协议是一种无状态协议, 每次用户向服务器请求时, 服务器都会将该请求视为新请求, 因此我们需要维护用户的状态以识别特定用户用户。
更多细节…
15)什么是饼干?
Cookie是一小段信息, 可在多个客户端请求之间保留。 Cookie具有名称, 单个值和可选属性, 例如注释, 路径和域限定符, 最长期限和版本号。
更多细节…
16)Cookies和HttpSession有什么区别?
Cookie在客户端起作用, 而HttpSession在服务器端起作用。
17)什么是过滤器?
过滤器是在请求的预处理或后处理中调用的对象。它是可插拔的。
更多细节…
18)在部署项目时我们如何执行任何操作?
通过ServletContextListener接口的帮助。
19)Cookies的缺点是什么?
如果从浏览器禁用cookie, 它将无法正常工作。
更多细节…
20)我们如何使用servlet将文件上传到服务器?
一种方法是通过第三方提供的MultipartRequest类。
更多细节…
21)什么是servlet的启动加载?
web.xml中servlet的load-on-startup元素用于在部署项目或服务器启动时加载servlet。因此, 它节省了响应第一个请求的时间。
更多细节…
22)如果在启动时传递负值怎么办?
它不会影响容器, 现在将在第一次请求时加载servlet。
更多细节…
23)什么是战争档案?
war(网络存档)文件指定了网络元素。 servlet或jsp项目可以转换为war文件。将一个servlet项目从一个位置移动到另一个位置将很快, 因为它被组合到一个文件中。
更多细节…
24)如何创建war文件?
可以使用jdk / bin目录中的jar工具创建war文件。如果使用的是Eclipse或Netbeans IDE, 则可以将项目导出为war文件。
要从控制台创建war文件, 你可以编写以下代码。
jar -cvf abc.war *

现在, 当前目录的所有文件都将转换为abc.war文件。
更多细节…
25)Servlet 3中使用了哪些注释?
该servlet主要使用3个注释。
  1. @WebServlet:用于Servlet类。
  2. @WebListener:用于侦听器类。
  3. @WebFilter:用于过滤器类。
26)在项目部署和取消部署时触发了哪个事件?
ServletContextEvent。
更多细节…
27)创建会话并销毁会话时会触发哪个事件?
HttpSessionEvent。
更多细节…
28)在设置, 获取或删除应用程序范围内的属性时会触发哪个事件?
ServletContextAttributeEvent。
29)welcome-file-list的用途是什么?
用于指定项目的欢迎文件。
更多细节…
30)servlet中属性的用途是什么?
属性是一个映射对象, 可用于在请求, 会话或应用程序范围内设置, 获取或删除。它主要用于在一个servlet与另一个servlet之间共享信息。
更多细节…
Java OOP面试问题
Java字符串和异常问题
JDBC面试问题
JSP面试问题
休眠面试问题
SQL面试题
Android面试题
MySQL面试问题
公共无效init(ServletConfig配置)
公共无效服务(ServletRequest请求, ServletResponse)引发ServletException, IOException
公共无效destroy()
1)由于数据是在标头中发送的, 因此可以发送的数据量有限。
2)不安全, 因为数据显示在URL栏中。
3)可以加书签
4)幂等
5)比Post更有效和更常用
1)forward()将相同的请求发送到另一个资源。
2)forward()方法在服务器端起作用。
3)forward()方法仅在服务器内起作用。
Java基础面试问题
Java多线程问题
Java Collection面试题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
SQL Server面试问题

    推荐阅读