Servlet简介
servlet是运行在服务器上的应用程序, 它的作用是实现前端与后台的数据交互。
Servlet生命周期
- 三个方法
init():初始化
service():处理客户端请求
destroy():终止
- 工作原理
- 客户端向服务器发送一个http请求
- 服务器对请求进行解析
- 服务器创建一个Servlet实例
Servlet通过构造方法进行实例化,构造方法必须为无参构造方法。默认在第一次访问Servlet时创建一个构造方法。Servlet是单实例多线程的。- Servlet调用 init () 方法进行初始化
- Servlet调用Service()方法进行响应
- Service()方法对请求的方法进行匹配
由于Service接口中没有doGet,doPost方法,因此大多数要继承HttpServlet类,并且进行重写- Servlet输出响应信息给服务器
- 服务器将信息响应给客户端
- Servlet调用Destroy()方法终止服务
Servlet使用
- 配置tomcat
- 创建一个web项目(模块)
- 编写Sevlet类
- 运行tomcat
- 访问http://ip:端口号/项目名称/映射地址
Servlet接受表单数据
- 定义表单
- Servlet使用表单提交的方式(get/post)方法中使用getParameter()方法接收
get/post区别
get:
1. 参数拼接在url,不安全
2. 只能是字符串类型
3. 大小有限制2kb,速度快
post:
1. 参数封装到请求体,安全
2. 还可以是非字符串类型比如文件
3. 理论上大小没限制,速度慢
Servlet跳转到页面
转发和重定向两种方式
- 转发: 一次请求,返回200,地址栏不发生改变
req.getRequestDispatcher(“xxx”).forward(req, res);
- 重定向:两次请求,第一次返回302,第二次返回200或304,地址栏发生改变
res.sendRedirect(“xxx”);