每日面试:JSP
一、真正的懂王
所谓真正的懂了,理解了,应该是下面这个公式
理解=概念+作用+特点+原理+书面整理
二、真正的面试大佬
大神级别面试=理解+逻辑+表达+表情+动作+形象
三、今日题目
1、Servlet的生命周期?
(1)客户端请求到达服务端,服务端加载 Servlet 类到内存,并调用init()方法初始化该 Servlet;
(2)Servlet 调用 service() 方法来处理客户端不同的请求方式。
(3)Servlet 销毁前调用 destroy() 方法。
(4)Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
2. JSP和Servlet的异同点
相同点:
(1)JSP在本质是Servlet,只是两者创建方式不一样.
(2)JSP经编译后就变成了Servlet,两者其实是相通的,只是 JSP适合前端显示数据,Servlet适合接收数据、控制数据跳转流程
不同点:
(1)JSP是Java和HTML混合组成在.jsp的文件中,Servlet是在Java文件中。
(2)JSP侧重于视图,Servlet主要用于控制逻辑。
3、什么是Servlet?
Servlet概念:
Servlet是在 Web 服务器上的程序,作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
Servlet工作流程:
客户端发送请求至服务器,服务器启动并调用 Servlet,Servlet 根据客户端请求,生成响应内容并将传给服务器,服务器将响应返回给客户端
4.truncate和delete的区别
(1)truncate不能回退,delete能撤销rollback命令
(2) truncate是DDL语言,delete是DML语句
(3) truncate不会触发触发器,delete能触发触发器。
5、Servlet是线程安全的吗?
Servlet不是线程安全的。
原因:
Servlet 默认是单例模式,如果多个HTTP请求请求的是同一个Servlet,那么多个HTTP请求对应的线程可能会并发的调用此Servlet的service()方法。如果该service()方法定义了实例变量或静态变量,那么可能会发生线程安全问题