1.什么是Servlet?
用java语言编写的运行在服务器上,处理用户请求做出相应的小服务程序.
2.Servlet的生命周期?

加载实例化阶段会加载项目的web.xml配置文件,并解析得到所有配置好的servlet-class中配置的包名+类名,通过反射机制就实例化好了包名+类名对应的Servlet类对象。

Servlet 初始化后调用 init () 方法。
Servlet 调用 service() 方法来处理客户端的请求。
Servlet 销毁前调用 destroy() 方法。
最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

Servlet 的生命周期。按照功能的不同,大致可以将 Servlet 的生命周期分为四个阶段,分别是加载实例化阶段、初始化阶段、运行阶段【处理请求】和销毁阶段。
1.加载实例化阶段
当Servlet容器启动以后,会加载项目的web.xml配置文件,并解析得到所有配置好的servlet-class中配置的包名+类名,通过反射机制就实例化好了包名+类名对应的Servlet类对象。
2.初始化阶段
当客户端向 Servlet 容器发出 HTTP 请求要求访问 Servlet 时,Servlet 容器首先会解析请求,检查内存中是否已经有了该 Servlet 对象,如果有,则直接使用该 Servlet 对象,如果没有,则创建 Servlet 实例对象,然后通过调用 init() 方法实现 Servlet 的初始化工作。需要注意的是,在 Servlet 的整个生命周期内,它的 init() 方法只能被调用一次。
3.运行阶段【处理请求】
这是 Servlet 生命周期中最重要的阶段,在这个阶段中,Servlet 容器会为这个请求创建代表 HTTP 请求的 ServletRequest 对象和代表 HTTP 响应的 ServletResponse 对象,然后将它们作为参数传递给 Servlet 的 service() 方法。
service() 方法从 ServletRequest 对象中获得客户请求信息并处理该请求,通过 ServletResponse 对象生成响应结果。
在 Servlet 的整个生命周期内,对于 Servlet 的每一次访问请求,Servlet 容器都会调用一次 Servlet 的 service() 方法,并且创建新的 ServletRequest 和 ServletResponse 对象,也就是说,service() 方法在 Servlet 的整个生命周期中会被调用多次。
4.销毁阶段
当服务器关闭或 Web 应用被移除出容器时,Servlet 随着 Web 应用的关闭而销毁。在销毁 Servlet 之前,Servlet 容器会调用 Servlet 的 destroy() 方法,以便让 Servlet 对象释放它所占用的资源。在 Servlet 的整个生命周期中,destroy() 方法也只能被调用一次。
需要注意的是,Servlet 对象一旦创建就会驻留在内存中等待客户端的访问,直到服务器关闭或 Web 应用被移除出容器时,Servlet 对象才会销毁。

3.Servlet中常见的接口?
1.Servlet接口
2.ServletConfig接口
3.ServletContext接口
4.ServletRequest---->HttpServletRequest接口
5.ServletResponse—>HttpServletResponse接口
6.HttpSession接口
4.forword与redirect的区别?

5.什么是会话跟踪?
服务器处理程序实现记录/保存请求/链接的状态的过程就叫会话跟踪。
6.为什么使用会话跟踪?
浏览器发送的http请求,http请求使用的是http协议,而http协议是一种无状态的协议,它不会去主动记录使用这个http协议的用户是谁,一旦请求发送成功,服务器做出响应以后,那么此时浏览器与服务器之间的链接就会消失,这时服务器就不知道请求来自哪里,是谁发送来的。
7.常见的会话跟踪技术

  1. 隐藏表单域: ,非常适合步需要大量数据存储的会话应用。
    2.URL 重写 :URL 可以在后面附加参数,和服务器的请求一起发送,这些参数为名字 / 值对。
    3 .Cookie: 一个 Cookie 是一个小的,已命名数据元素。服务器使用 SET-Cookie 头标将它作为 HTTP响应的一部分传送到客户端,客户端被请求保存 Cookie 值,在对同一服务器的后续请求使用一个Cookie 头标将之返回到服务器。与其它技术比较, Cookie 的一个优点是在浏览器会话结束后,甚至在客户端计算机重启后它仍可以保留其值。
    4 .Session :使用 setAttribute(String str,Object obj) 方法将对象捆绑到一个会话.
    8.Cookie与Session 的区别?

9.get与post的区别?

10.什么是过滤器?
java过滤器能够对目标资源的请求和响应进行截取。
11.什么是过滤器链?
由多个过滤器组成处理同一个请求/响应的Servlet组件。
将请求/响应传递给下一个过滤器/目标资源。
12.什么是Servlet的监听器?
Servlet 事件监听器是一个实现了特定接口的 Java 程序,这个程序专门用于监听 Web 应用中 ServletContext、HttpSession 和 ServletRequest 等对象的创建和销毁过程、监听这些对象属性的修改以及感知绑定到 HttpSession 域中的某个对象的状态。
13.8种监听器的类型?

14.HttpSession的钝化与活化?
HttpSession 对象从内存中转移至硬盘的过程称为钝化.
HttpSession 对象从持久化状态变为运行状态的过程称为活化。
15.什么是JSP?
包含有java程序的运行在服务器上的页面{HTML}.
16.jsp的执行过程?

当我们请求一个jsp页面的时候,服务器收到jsp页面的请求以后,会先将被访问的jsp文件转换成Servlet文件,继续编译转换以后的Servlet文件得到Servlet文件对应的字节码文件,接着执行这个编译以后的字节码文件,将运行结果封装到响应对象中,返回给客户端浏览器。
缺点:第一次访问jsp页面会比较慢一些。
17.include指令[<%@include file=”” %>]与include动作[<jsp:include page=""></jsp:include>]有什么区别?

18.Servlet与JSP的区别?

19.jsp的内置对象的名称、类型、作用

servlet与jsp面试题相关推荐

  1. JAVA企业面试题精选 Servlet和JSP 1-10

    2.Servlet和JSP 2.1.什么是B/S结构?什么是C/S结构? 参考答案:   B/S是Browser/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape ...

  2. JSP面试题都在这里

    下面是我整理下来的JSP知识点: 图上的知识点都可以在我其他的文章内找到相应内容. JSP常见面试题 jsp静态包含和动态包含的区别 jsp静态包含和动态包含的区别 在讲解request对象的时候,我 ...

  3. MySQL、JDBC、HTML、CSS、JavaScript、jQuery、tomcat、Http、Servlet、JSP、EL、JSTL、Maven、Cookie、Session(框架第一部分)

    第一章 MySQL 一 .数据库 1.什么是数据库? 所谓的数据库就是指存储和管理数据的仓库 2.数据库有哪些分类? 3.什么是关系型数据库? 底层以二维表的形式保存数据的库就是关系型数据库 stu- ...

  4. 第一个Servlet和Jsp

    为什么80%的码农都做不了架构师?>>>    第一个Servlet和Jsp 开发Servlet有3种方法 1.Servlet接口 2.继承GenericServlet 3.继承Ht ...

  5. servlet与jsp的联系与区别

    jsp servlet的区别和联系 简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTM ...

  6. servlet和jsp中间的交互

    jsp本质上也是一个servlet, 所有的jsp页面最终会编译成一个servlet 1. jsp访问servlet jsp访问servlet比较简单通过get, post的方式直接访问servlet ...

  7. MyEclipse使用总结——修改MyEclipse默认的Servlet和jsp代码模板

    一.修改Servlet的默认模板代码 使用MyEclipse创建Servlet时,根据默认的Servlet模板生成的Servlet代码如下: 1 package gacl.servlet.study; ...

  8. 【maven】javaee项目添加servlet、jsp依赖

    说明 maven管理的javaee项目,需要手动添加servlet.jsp依赖 scope为provided,表示发布时,使用web server提供的servlet.jsp lib maven 依赖 ...

  9. Java Servlet和JSP教程

    http://www.bccn.net/article/web/jsp/jc/200409/72.html 简介 这是一个比较完整的Servlet.JSP教程,包含大量的实用资料和示例,仙人掌工作室倾 ...

  10. 【Servlet】JSP学习-概念和运行原理

    为什么需要JSP? 与HTML相比:根据后台的业务,可以动态输出HTML,网页内容是可以改变的. 与原生Servlet相比:不需要自己写输出语句resp.getWriter().write(" ...

最新文章

  1. 【Java调试】通过SqlSessionFactory类对象获取mapper文件内的动态SQL在执行时的完整SQL及参数(2种使用方法+测试Demo及结果)
  2. CentOS系统中安装 vmware-tools
  3. JEECG 3.2版本发布,基于代码生成器的智能开发平台
  4. bzoj 1500 [NOI 2005] 维修数列
  5. 离线发布bolg----使用Windows live writer客户端来发布CSDN的博客文章
  6. 【unity】Vector3.AngleCrossDot
  7. 异常 未解决 dubbo 打包 使用将所有的文件打在一个包内 会报错误
  8. JS分割字符串——split()
  9. Linux中tar压缩命令详解
  10. 支付宝支付-APP支付服务端详解
  11. Powershell-批量重命名替换文件名
  12. 怎么查看Python扩展库所有可用安装版本
  13. reghdfe:多维面板固定效应估计
  14. 10种算法一文打尽!基本图表算法的视觉化阐释
  15. 安卓7.1 新特性Shortcut
  16. Wide Deep模型的理解及实战(Tensorflow)
  17. python 标签字体大小,Python:如何增加/减少x和y刻度标签的字体大小?
  18. 本科毕业设计之文献翻译
  19. Jieba分词工具介绍及相关API使用方法
  20. [fashion]女性的穿衣技巧

热门文章

  1. 下载链接|从CAD2004到CAD2022下载安装软件,提升CAD施工图大师一点儿也不难!
  2. htc x920e刷android7.0,HTC X920e(Butterfly)第三方recovery刷入教程
  3. 计算机速录专业教学计划,计算机信息与速录技术专业二年制教学计划.doc
  4. fas怎么翻译成lisp_fas文件格式研究
  5. 更改Web应用地址栏显示的图标
  6. 计算机u启动无法识别,电脑不识别u盘启动盘
  7. 更改计算机启动读盘,BIOS设置硬盘启动|BIOS启动里怎么更改启动盘
  8. 怎样快速做个 BI 系统
  9. 基于matlab的声音个数识别
  10. PHP 身份证验证方法