列出了30个针对初学者和专业人士的servlet面试问题。如果你知道此处未包含任何Servlet采访问题, 请将你的问题发布在Ask Question部分。
1)创建了一个servlet多少个对象?
Servlet或Web容器首次请求时只有一个对象。
2)Servlet的生命周期是什么?
- Servlet已加载
- 实例化servlet
- servlet初始化
- 服务请求
- 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()方法可在服务器内部和外部使用。 |
容器为每个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个注释。
- @WebServlet:用于Servlet类。
- @WebListener:用于侦听器类。
- @WebFilter:用于过滤器类。
ServletContextEvent。
更多细节…
27)创建会话并销毁会话时会触发哪个事件?
HttpSessionEvent。
更多细节…
28)在设置, 获取或删除应用程序范围内的属性时会触发哪个事件?
ServletContextAttributeEvent。
29)welcome-file-list的用途是什么?
用于指定项目的欢迎文件。
更多细节…
30)servlet中属性的用途是什么?
属性是一个映射对象, 可用于在请求, 会话或应用程序范围内设置, 获取或删除。它主要用于在一个servlet与另一个servlet之间共享信息。
更多细节…
Java OOP面试问题 |
Java字符串和异常问题 |
JDBC面试问题 |
JSP面试问题 |
休眠面试问题 |
SQL面试题 |
Android面试题 |
MySQL面试问题 |
公共无效服务(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面试问题
推荐阅读
- Java EJB面试题和答案合集
- 史上最全JSP面试问题和答案整理
- 推荐!JDBC面试问题和答案汇总
- 安卓API学习持续更新中...
- Flutter环境搭建 之 Android license status unknown
- Android Native和Hybrid两种架构采用Appium进行UI自动化
- cnpm : 无法加载文件 C:UserssoAppDataRoamingpmcnpm.ps1,因为在此系统上禁止运行脚本。
- 优秀开源平台,前后端分离快速开发平台,一站式多端开发(PC+APP)
- Appium环境安装