Servlet详解
servlet:
- servlet的运行流程
① 客户端(浏览器)在地址栏输入一个URL发起HTTP请求
② 服务器根据URL指定要执行的Servlet
③ servlet运行service方法,并给服务器作出相应
④ 服务器接收到了servlet的响应数据,将数据返回给请求者
⑤ 客户端接受响应数据,作出展示
图示:
- servlet的生命周期
① 初始化(载入并实例化,执行init方法,仅一次)
i. 在第一次访问该servlet时,初始化
ii. 在服务器加载过程中,初始化
② 运行(每当有请求时,创建一个线程执行子类servlet的service方法à父类的service方法àdoGet方法或doPost方法)
i. 不要在servlet中设计成员变量
ii. 父类的doGet方法或doPost方法会报错:在子类中重写doGet或doPost方法即可
③ 销毁(当服务器关闭的时候,调用servlet的destroy方法,仅一次)
servlet的请求消息(HttpServletRequest)和响应消息(HttpServletResponse)
- servlet之间的跳转:请求转发、重定向
|
请求转发 |
重定向 |
浏览器地址栏 |
地址不会发生变化 |
地址栏发生变化 |
浏览器发了几次请求 |
总共1次 |
至少2次 |
是否可以请求外部资源 |
不可以 |
可以 |
后面追加其他代码 |
可以,但没必要 |
请求转发图示:
重定向图示: