一、Servlet
1.什么是Servlet
- servlet主要用于逻辑处理,处理完之后,将结果交给jsp,由jsp向客户端做出响应
2、servlet生命周期是什么
(1)服务器启动时创建
- 在客户端第一次访问LoginServlet时创建,
- 只被调用一次,只创建一个servlet对象 单实例的
(2)初始化
- 在对象创建后,构造方法执行后,服务器调用init方法,完成一些初始化操作
- 只执行一次,如果没有写初始化操作可以不用重写init(),
- 但是服务器仍然会调用父类中的init()
(3)提供服务器
- 每次请求都会调用service,只执行一次
(4)关闭
- 在服务器关闭前,servlet销毁前调用,
- 可以在次方中完成最终操作
- 列如:保存日志,数据备份
3.get和post请求的区别是什么
- get请求
- 主要用于从服务器获取数据
- 也可以向服务器发送数据,数据在地址中传递,会在地址中显示
- 但是长度有限制
- 所以不安全
- post请求
- 主要用于向服务器发送请求
- 提交数据在请求中发送,
- 长度没有限制(例如:可以提交文件)
- 数据在请求体中相对安全
4.什么是请求转发和重定向
(1)请求转发request
- 获得请求转发对象
- 告诉对象转发的地址
(2)重定向response
- 重新指定浏览器地址
(3)请求转发和重定向的区别
- 请求转发
- 整个过程属于一次请求
- 浏览器中的地址不发生变化,转发的动作在服务器内部完成
- 客户端不知情
- 重定向
- 整个过程有俩次请求,地址栏的地址会发生变化
- 在第二次请求中不能获得上一次请求对象中的数据
二、JSP
1.jsp和servlet的联系与区别
- 本质都是servlet
- 一个侧重于逻辑处理
- 一个侧重于视图显示
2.说一说静态包含和动态包含的区别
- include
- include用来静态包含其他页面
- 编译时,将俩个jsp文件合二为一,编译为一个servlet文件
- jspinclude